• Stephan Müller's avatar
    crypto: jitter - add RCT/APT support for different OSRs · 04597c8d
    Stephan Müller authored
    The oversampling rate (OSR) value specifies the heuristically implied
    entropy in the recorded data - H_submitter = 1/osr. A different entropy
    estimate implies a different APT/RCT cutoff value. This change adds
    support for OSRs 1 through 15. This OSR can be selected by the caller
    of the Jitter RNG.
    
    For this patch, the caller still uses one hard-coded OSR. A subsequent
    patch allows this value to be configured.
    
    In addition, the power-up self test is adjusted as follows:
    
    * It allows the caller to provide an oversampling rate that should be
    tested with - commonly it should be the same as used for the actual
    runtime operation. This makes the power-up testing therefore consistent
    with the runtime operation.
    
    * It calls now jent_measure_jitter (i.e. collects the full entropy
    that can possibly be harvested by the Jitter RNG) instead of only
    jent_condition_data (which only returns the entropy harvested from
    the conditioning component). This should now alleviate reports where
    the Jitter RNG initialization thinks there is too little entropy.
    
    * The power-up test now solely relies on the (enhanced) APT and RCT
    test that is used as a health test at runtime.
    
    The code allowing the different OSRs as well as the power-up test
    changes are present in the user space version of the Jitter RNG 3.4.1
    and thus was already in production use for some time.
    
    Reported-by "Ospan, Abylay" <aospan@amazon.com>
    Signed-off-by: default avatarStephan Mueller <smueller@chronox.de>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    04597c8d
jitterentropy.c 24.5 KB