summaryrefslogtreecommitdiff
path: root/crypto
diff options
context:
space:
mode:
authorLei He <helei.sig11@bytedance.com>2021-11-05 20:25:31 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-03-13 12:50:47 +0100
commitbd258be9a8becffcf9c82a80f9ee1794832ba701 (patch)
treef2afcd4d382a167d5594a5adb9bd39c809bdd5b8 /crypto
parent8fbf27a746c3793822f374d0535a02c7ed8c700c (diff)
downloadlinux-bd258be9a8becffcf9c82a80f9ee1794832ba701.tar.gz
linux-bd258be9a8becffcf9c82a80f9ee1794832ba701.tar.bz2
linux-bd258be9a8becffcf9c82a80f9ee1794832ba701.zip
crypto: testmgr - Fix wrong test case of RSA
[ Upstream commit a9887010ed2da3fddaff83ceec80e2b71be8a966 ] According to the BER encoding rules, integer value should be encoded as two's complement, and if the highest bit of a positive integer is 1, should add a leading zero-octet. The kernel's built-in RSA algorithm cannot recognize negative numbers when parsing keys, so it can pass this test case. Export the key to file and run the following command to verify the fix result: openssl asn1parse -inform DER -in /path/to/key/file Signed-off-by: Lei He <helei.sig11@bytedance.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'crypto')
-rw-r--r--crypto/testmgr.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/crypto/testmgr.h b/crypto/testmgr.h
index d94d02cb30d4..c2bad3ee8908 100644
--- a/crypto/testmgr.h
+++ b/crypto/testmgr.h
@@ -257,9 +257,9 @@ static const struct akcipher_testvec rsa_tv_template[] = {
}, {
#endif
.key =
- "\x30\x82\x02\x1F" /* sequence of 543 bytes */
+ "\x30\x82\x02\x20" /* sequence of 544 bytes */
"\x02\x01\x01" /* version - integer of 1 byte */
- "\x02\x82\x01\x00" /* modulus - integer of 256 bytes */
+ "\x02\x82\x01\x01\x00" /* modulus - integer of 256 bytes */
"\xDB\x10\x1A\xC2\xA3\xF1\xDC\xFF\x13\x6B\xED\x44\xDF\xF0\x02\x6D"
"\x13\xC7\x88\xDA\x70\x6B\x54\xF1\xE8\x27\xDC\xC3\x0F\x99\x6A\xFA"
"\xC6\x67\xFF\x1D\x1E\x3C\x1D\xC1\xB5\x5F\x6C\xC0\xB2\x07\x3A\x6D"
@@ -299,7 +299,7 @@ static const struct akcipher_testvec rsa_tv_template[] = {
"\x02\x01\x00" /* exponent1 - integer of 1 byte */
"\x02\x01\x00" /* exponent2 - integer of 1 byte */
"\x02\x01\x00", /* coefficient - integer of 1 byte */
- .key_len = 547,
+ .key_len = 548,
.m = "\x54\x85\x9b\x34\x2c\x49\xea\x2a",
.c =
"\xb2\x97\x76\xb4\xae\x3e\x38\x3c\x7e\x64\x1f\xcc\xa2\x7f\xf6\xbe"