summaryrefslogtreecommitdiffstats
path: root/test/cmp_ctx_test.c
diff options
context:
space:
mode:
authorDr. Matthias St. Pierre <matthias.st.pierre@ncp-e.com>2020-07-08 09:23:29 +0200
committerDr. Matthias St. Pierre <matthias.st.pierre@ncp-e.com>2020-09-05 11:07:55 +0200
commit09e76c5dd34515f9df42b2f1deed5166ba6b31fa (patch)
tree5a8796fc3e962d6a0fa184e92c2c560e57beec58 /test/cmp_ctx_test.c
parent59ed73398920a9ad663da03a08cfd290995f55af (diff)
test/drbgtest: improve the reseed after fork test
Issue #12377 demonstrated that it is not sufficient to verify that after a fork a reseeding is triggered in the child. This commit enhances the test by collecting the output of the public and private drbg for the parent and all children and checking for duplicates. In case of duplicates, it prints an error message and displays a sorted output. The analysis of #12377 (see [1]) showed that due to an error in the resetting of the AES-CTR (issue #12405, fixed by #12413), it could happen that only the first n bytes (n=1,...15) of the children's random output were identical. This test is optimized to detect this issue by only comparing the first byte of the sampled data (i.e., the first 'column' of the output). The number of samples is chosen high enough to keep the chance of false positives low. The test is executed sixteen times, each time advancing the internal counter by requesting a single extra byte of random data. Another, more general test splits the entire sampled random data into two-byte chunks and counts their collisions. If a certain threshold is exceeded, it reports an error. [1] https://github.com/openssl/openssl/issues/12377#issuecomment-656207334 Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/12407)
Diffstat (limited to 'test/cmp_ctx_test.c')
0 files changed, 0 insertions, 0 deletions