Fix T9050 accidentally valid padding issue 62/255962/3
authorKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Thu, 25 Mar 2021 13:41:06 +0000 (14:41 +0100)
committerKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Thu, 25 Mar 2021 17:03:28 +0000 (17:03 +0000)
commitf1f73355a7953f744ac78cb3af68363d5e1e48c3
tree38b1d685c4a1125a5c0d9d27835a210597a40c82
parentbe993ff1a00ec8ce315c2524e66e57f7ccfbad60
Fix T9050 accidentally valid padding issue

Usually happens at least once per 2000 runs when using public RSA
encryption with OAEP padding followed by private RSA decryption with
PKCS1 v1.5 padding. The OAEP is quite unpredictable and can produce a
valid PKCS1 v1.5 padding from time to time.

Valid PKCS1 v1.5 padded message looks as follows:
0x00 || 0x02 || PS || 0x00 || M
where M is a decrypted message and PS is 8+ non-zero octets.

Fix by checking the unpadded message length if above case occurs.

Change-Id: I9991730f5e5cc895dfbfbaf6a6c757dd15f7a313
Hint: Use only 512-bit keys to speed up testing.
src/yaca/yaca-test-rsa.cpp