Skip to content

Commit

Permalink
add RSA PSS test vectors (pyca#7086)
Browse files Browse the repository at this point in the history
  • Loading branch information
reaperhulk authored and tiran committed Oct 27, 2023
1 parent ab72bfb commit 326619c
Show file tree
Hide file tree
Showing 6 changed files with 154 additions and 0 deletions.
11 changes: 11 additions & 0 deletions docs/development/test-vectors.rst
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,17 @@ Custom asymmetric vectors
``asymmetric/Ed448/ed448-pkcs8.der`` contain an unencrypted Ed448 key.
* ``asymmetric/Ed448/ed448-pub.pem`` and ``asymmetric/Ed448/ed448-pub.der``
contain an Ed448 public key.
* ``asymmetric/PKCS8/rsa_pss_2048.pem`` - A 2048-bit RSA PSS key with no
explicit parameters set.
* ``asymmetric/PKCS8/rsa_pss_2048_hash.pem`` - A 2048-bit RSA PSS key with the
hash algorithm PSS parameter set to SHA256.
* ``asymmetric/PKCS8/rsa_pss_2048_hash_mask.pem`` - A 2048-bit RSA PSS key with
with the hash (SHA256) and mask algorithm (SHA256) PSS parameters set.
* ``asymmetric/PKCS8/rsa_pss_2048_hash_mask_diff.pem`` - A 2048-bit RSA PSS key
with the hash (SHA256) and mask algorithm (SHA512) PSS parameters set.
* ``asymmetric/PKCS8/rsa_pss_2048_hash_mask_salt.pem`` - A 2048-bit RSA PSS key
with the hash (SHA256), mask algorithm (SHA256), and salt length (32)
PSS parameters set.


Key exchange
Expand Down
28 changes: 28 additions & 0 deletions vectors/cryptography_vectors/asymmetric/PKCS8/rsa_pss_2048.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvAIBADALBgkqhkiG9w0BAQoEggSoMIIEpAIBAAKCAQEAt1jpboUoNppBVamc
+nA+zEjljn/gPbRFCvyveRd8Yr0p8y1mlmjKXcQlXcHPVM4TopgFXqDykIHXxJxL
V56ysb4KUGe0nxpmhEso5ZGUgkDIIoH0NAQAsS8rS2ZzNJcLrLGrMY6DRgFsa+G6
h2DvMwglnsX++a8FIm7Vu+OZnfWpDEuhJU4TRtHVviJSYkFMckyYBB48k1MU+0b4
pezHconZmMEisBFFbwarNvowf2i/tRESe3myKXfiJsZZ2UzdE3FqycSgw1tx8qV/
Z8myozUWuihIdw8TGbbsJhEeVFxQEP/DVzC6HHDI3EVpr2jPYeIE60hhZwM7jUmQ
scLerQIDAQABAoIBABHHBrdHJPuKYGxgak6kJIqlRNDY2FLTUGB82LzKiK6APfmM
vOY3meuWkbLyEFreMmwxBlBDFdHqLRQsvWdtBVGTpidertZAdpE8QmZkA7zPcDhc
VmPWwYRsmOuSLvh57tFbVsiS02qtx6f8Npxay0as8wzekNb/3+UTTxkNO/9jQOct
14d8zTRJo6eL93Iv1zyU1lj9utwABCF+NAcAxFT4fdeFjmhx14oq8jekrN67pE/o
4yurS0r2XtQBKjse15u/rQ9NHM5CL6m6ytJ8Kdvcy8qiBia9eRE+P8/omd+8cDfj
we1M751jyG7P5jlGCJVEWpiP7DcXb+Kdhndx3ucCgYEA4pBxftTQ3LH9delpVRQH
rxJdbzARXVbdZf42vnD2SvO5ObFh0XYGV4xnk7DCkLfJsMdH4QPL27FxlCyhg3cz
o15uETHjADVDDb+OtMU7BsK5ujYPnYHzgKJnwcGOr6k3z8cc8OaJRyY6bdX5olfv
pgrZBcc6aN9gRa6bEA7aBp8CgYEAzysRZgrxAj7nrII2DxX5QqH7Fk2xJVhsaZMd
516lvSU+xnUVeaJLOhtTPLmlr6LcB6zbN9nB+4WihgprfYUf51uleF9+W23ECOn4
kxvw2w0c7ICjn9PoHS8ApSi6W80H8J0zBP9GBRFEzi3x0VNk3OeQr9H9iv2Ro2Gd
uEsSUzMCgYEA0FMq2QmMp3HOcm5WWVGaoyNK4KMdRGtMFq2C3uf1wAONLHxrSnOw
7y1+S/I7ZWBpR3BmKoQYHgFyQ2IqfTzNMYnxwUPSy+0to+WgrZ2xYc0JhCyTfSvx
oDU1HJcCwYjidd5LQUNptQ90qGwZJ2qeRFozJboEfkvvNQORN1nAplcCgYB13HXA
jTcCZRFe9pGU0ZaGzyrPTJIcwgqjobwglptKWbc2JwR5t9h+jW80nBXkL45om3H4
e12+IBAPnDv9JFC7SkuAiSuVDoS54Yq2/u1vYi1za9grJN7oQ4ZlcB9d/O6oeHa/
QA/w8BsqBb+OrJg0iVWqgZhyi8JgpjeZ0rPxOwKBgQCeo9gT4oQ4GoK6exhsVz4d
SYUxOf7zp5AxEVTgACX2ubyrcUOUuE/muy/2QVBzcnuFRGVa0Kfo+sE7OnNhAYkx
rI2R9pds8vCjHaoSFAznyaR9Am2DuXsRSc4Qo0KQujvFzAE4fXRslqyA35gTZ1Z+
u+Cs8ivM7mJcroeZp4pebA==
-----END PRIVATE KEY-----
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEzAIBADAeBgkqhkiG9w0BAQowEaAPMA0GCWCGSAFlAwQCAQUABIIEpTCCBKEC
AQACggEBAKYWKqcVytq9mcB+SX/LCONdaO0xdP6J6lpv0qUfn43VUo3JjWNtGA9k
ZLejx/VtcUgiQrYQbw8dvBclxc2anra/487Wv2RLH4F8uFJa57M9kMvl6Qw1DztY
8KhNwdFTI2jRE6yvUYYSFdnBO9J0WZ48yPuJTgnou3XnMAAoUDjnnpf5qFLSQRxM
ikmPU8GNWMzDT1TBNLG576cMHOqm9yv8l4Pi21F/awFulpaOwmbKxXSY+JDV0XWC
jT3ktYoQlhoil3taJRvRMHFMLyjDc/RelE+75wM72cRMu/5M1z8Gseqov8neb7WX
TmYPkcpI4HaD/1mu6vlpPk6pwuVol60CAwEAAQKB/2SQY8U5GvEH6TSR8zqRbAj4
CoXwsYwmsrmvMlQdGzFwGMUVXEHAh3bCDczYVBMKWVBm5/mtmSy+NwGresfK3d3F
nkXDHjUosHNc5THjiWfjD4y6QnC690VvrBXXpwOtBc44/MOdSwCZmqWdj6XYOnwZ
z/zaiSUN7jk9EFvRfmVJRJ1I0dh1MmWEmxmi7tGZ/TkSDrDo3ct2vvCyMqOPS/N4
KKNMi1Y081hZn26asCR/MH/lEYNQn46qq+dU0CREG6phXYuaiXymtIYuclIflwnQ
WKSIKqswX4oazJs6vgk89SPJHlb9o3zFZpi8SvyJGhcJ8VupYG4D9nysIv1lwQKB
gQDRrpJUv+iF4eOdpzr+dKju9meSySf6Z+Zui2ILH9UFZ+zthuPbnnVkmwJmcP1m
R2KOZ1V15UjEcbpr4/KCYu9Xvk9iTMfq/F4OaOXfRuY8cLwzAdyUNPjHPOkTdmvr
aULQaQIWQpPhI8ZVbqzRlTllli//9rHz6IZFVjDZWvLQTQKBgQDKxkvmnZ9v/GFJ
EsZC0KHwSxyqG+QImDO6AB4SL8Ym07QwQvU41PRZ9cH4tOcU2S7Bu1Hld6A2A1fv
nyuQafecVn89eyk4F3Mj/Ypo4bHGVYzl1h8StvWckYLNhHzOndlAvQ5nUICJsRLa
ToP6L37oIT/sDM0Md1Ls/HV/7V+U4QKBgA5qrFD7aOdboqTCTMIWD09uzaw//Gmx
HxzWpIUTSTg37whdz+jXukaSidW1SxbvLY2Q+UVD4H7xOtoUMCZa2w3zXc3qbYxw
kZ74A2YYn9fkAGyZYismgTxhqbzW1ZC4Cgn+TlBtf3FpXkeddnBqjCm5687zjUSx
5hl6VZ18LVm5AoGBALvnlBBqAoRo8NIhZr4lzdr6D98HJ4JbYJu9XiBmSw5R4klS
0yFOHf17QruxD+5+79gxOMwW1c0XvhZcfqc9u2oRsamMhv7mpBk261sTwoTTZFTb
3kGeb+4d3YOLgYiKN/fI+h79N4/hGmJYne5qswRzQ2P/3Mfvj1XzAQOCOa+hAoGA
HXGz2ulswnp+X/Vi92H+xZUPR/VDPoWaUEXXGr9ZnlGo+u3tyfpwzJKFjBDQ09lD
vAvNl4s4jC9oorbOrOcMcN1GTo6ZLvAK7fQc0oeiWUkAfi35cxDvVE9r2kbn3Gjc
10VfBns4ejF/bqy7pwpm3LG2BxPIm1B+dnesNbeQ8oU=
-----END PRIVATE KEY-----
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
-----BEGIN PRIVATE KEY-----
MIIE7AIBADA8BgkqhkiG9w0BAQowL6APMA0GCWCGSAFlAwQCAQUAoRwwGgYJKoZI
hvcNAQEIMA0GCWCGSAFlAwQCAQUABIIEpzCCBKMCAQACggEBALlAN/dJwsP7y8N0
mKBKaQb5Hjtbu7KrvFamXA6g0IzUPHESwisYD45VeD1OJ4Hx9eR61Cbhvvdmn81n
1C2tRuBrP8tsbnvt+n35w3BXqqQ+ByAdAvsHF4FpP4zEdhH8tfn6ZSEcqLzXH9HK
M50i1OcAEDvXh+V5t78uWIrt9V8vCw//1ViHhqfprttxybWDXnt7J/FYSKLr+1Le
f9p8vgmtPt2K5pvMa2IGsXz8fWwMGZti64RxXa2k3hno/ove/sxOSefDfpXI2yJn
xlA4XuFOfK6uHz9k6cFDlQdStqznWRj25RGZRW58KE0rjZruVJ/2dsaXe1RB7ps2
3JElBZsCAwEAAQKCAQBEm9QeceMAUrEUoookU2qyenEH6uGJOrF2JgbSJB0ZC0GX
Xysqaq7YOC9gBSH8rnAzPop0HAdt+UQV/u5GPHaThyUJYg9JNsoe/fG0GcPJMG/T
JOuFrQq3kxNGPzy7TKzY+DOcH9Een03ZlNmoyM2xAAUDJL/f7URwOenxClBl/5Lm
9hnS4NE5B73M6iByP3lUeG8YLqoqJClMx7mN6EAuiJgjDubuaRJU94rqvZJsofwU
5Ka2MHtOgGb3ylPled5wuRR+gm6bbzEtYDvLGqwS6IlEeamW0YfgufJct+MtbMa4
AzKuacxIS7irVkcQRH8/wvzWKUtMO24mCPYtM6MBAoGBALmFplhqGgD5TA5suVCC
aLAywp/t8a3aFTXSAaIc3t7yCjMNlNvYANIpy1D6xzO7eDwInJUlJzBEjxjewwce
dC2hKCRkVC0gg8Q+yUI06gQIgaJuobFwFT95l7lchhiJd0ss0YzETH1ujTbhcii2
+y9EFw8R5jgF6z1ymQkmQHI5AoGBAP+gMVD16NaUiHXbe7/yIn1490UuHoWY7jEo
l/KbVy8CnmtffyI//5Ej4JanlQBXxDS/JjxwQg+4cdo9KOF9z1psNXK5Bo1jZ7hB
GBdPNtKE4XsauRW3D+PNIvdFxrZiC8VOwy+dfsnVfd4bvvALJcb6+/XeepI5gsvO
bUO+J2ZzAoGAF7X1JKeq2yUBi3Zp2NhR+PMD3NzUXpvYyiAlBUsbUPMuSogZ1l8s
+69LxPXIL9xt6X5QRN+SuqCIiW0vD+Hch1hpgP0xpPLa5GIB5uxMXGeZ6eCp2bux
e4NW2OHyYYBwNrNrtMoB3KYcdj8qD/oS8F+LcumeutpGznuvA3RYGEECgYBdf5dq
OHfwvKVpDl2mKIeLA0rWR/csAHLnEiT5vO3XqQqO1YAn4+azjL7h++vZE0EV1fDD
XIAdReaG36XrTFwig7/M9XY7EufmEhEgvX2c5LOglnaqRaoPNYIbla8IGLabdaKY
8O9mHauLKPTe0gUAUd8E4FpOz7BSoW9/vraklwKBgQCXfOUPAAGxngzPKWyhyaKM
mUshh353Cjzx/NNwr/sBj93WCiDp4SpfHZ8wgrZJ8UCMm2CiCtK2raiPEzrNo2Wg
sphlQSVoCA0WelT99Eq49ouWnUkQWYU2Bpz2/2e7aCuhVYAKLqCfQg2jw82shewa
RYr0V8K4K8DBgXTuOkgxXg==
-----END PRIVATE KEY-----
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
-----BEGIN PRIVATE KEY-----
MIIE6wIBADA8BgkqhkiG9w0BAQowL6APMA0GCWCGSAFlAwQCAQUAoRwwGgYJKoZI
hvcNAQEIMA0GCWCGSAFlAwQCAwUABIIEpjCCBKICAQACggEBAMoBLOx8mx942jR3
nSsWLagYH16UVLxiV4E1+noCLLMm99bkWumRIlsJyCEKe9UuekzPrZlICq0VMdMy
dvQGoHBF15YQYuZmMI6Am1afJjNTeV+f9rDotqQ2Ix4S93ngjgNi4BPT70F/dwD1
4Xe32+IHdyrp99+jtMGj5IUUAVhGg4x8xDUj1mD8Ro94MbRb6Acf86SsvyiTpx5W
ZbnOlnzH1fK2qAtpqEWgrypb3MdJPgpZIx9o1ZYuVQBI3RPFZK0p73viEvyl9mO6
QLoqdmcvxo/3mkrMG2HNFESjlo28f4eTVhDxK32Uwo7Yv5WaFxIhYBgyYyGiwkxl
OrFCkO8CAwEAAQKCAQAkfJjeMFWelignsPFJDoz5nz3PShCSJFs04giXkBv90gyT
GpUXOhlQA1DMMwYSB/6cMCjlll8jS0BAKw3UXvwMu3jIyLXscsnTe4RTXZS7UZkL
PiwDYU1YFNU8AeYEdByCnRHnUvEUzg6zNDZg9us3BO0v6anVkc686TsGFIp3pJaF
wnZCDlUMMZq4LrJn7BYFxyU3i13C9b4c2NbscPkkldumrobdOaZwdXaxDCiIuaMV
tM800Yn2tZg8YQyFVvtw9jqrYqUK0myNgWtteqhi9pvuZzelbpnuUaAbvwqwkxSY
CCtEJk9DJUmoT+7T7iVL9oO9Ox4/6ozZUBSUVzjNAoGBAPZJ9SqfKZBmXZ6kmSmM
GPSdZ6JKXtNfsFjqUiIowsBqBOgyDxC5goNlJF4R4aiU6x7C7dqyIe61dalPPZY8
eU6HnfyWUdF6vXHpyBSv6ak9PiNatY/HibPq+snGUCG/TgzXhojnjoeA41OCkSyL
QIMXcWhWYbU48KzCBM3mjIilAoGBANH4Ni1Nmogv3vaZIEPt8lnpyWGGaMCk7GiV
z7IUxgkvfedUJvflpFON/p9DYw/mU4eKzv4Kc2cHfCwvI+O1ftOHRZBEnVdfS9lq
K5dMHSSKtdqtz1hzRbSCWNQ+hockktHRoTnvOxlXsey0a9almBVo3bawfB8RN3U6
gz7WgGsDAoGAZpj2lbPKF8pc86pz13fyKWys8FF04S76gn/SiUJbptZDhwrbdcch
1GS82qcuTxECRUVE2pbcRdm30zkcWcqFai5apQ9ltBMieiK+Y8fIWeUWTpoKCoRA
HAAmSwne9cAA3p6l/8AegtoxWOeKXHkB/do1NxbNCzZWJFGKuM9y+bUCgYBCovKW
uB1GAWNSgdBinp6eeHrH779I/E5m9ryeuMcM3Tyo8OUZIZFgTx0y8FD9F80EpEID
D9AGL7Lx1tgeCVjByxmBqrUAqKbKzk4dSzOoiDkkuKqoWJUTr5Z/bYSGWU4bNttj
JpBr/4/hHnVm/tDgYpKSyznpJi6ijrpec/b3fwKBgD2snVQ/UXV7G8oy7xwgXcLO
PxMa9xUPsmNL3Gytd/L4xaefxW3oENeBM/UU/PfL13zBROSi5Mf7RTiMTwFBSzR1
YCu75tJ2fx8sghjVq1fZCfOQn/StG2IYsx7cVwv5Z7diESjU50QffipZM6WSdJKi
/Ux4TLILXEMvL4V1VX3q
-----END PRIVATE KEY-----
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
-----BEGIN PRIVATE KEY-----
MIIE8QIBADBBBgkqhkiG9w0BAQowNKAPMA0GCWCGSAFlAwQCAQUAoRwwGgYJKoZI
hvcNAQEIMA0GCWCGSAFlAwQCAQUAogMCASAEggSnMIIEowIBAAKCAQEA4Hw2apS/
fIsG6ESJY8RZ0wW38eb8onfDA3KYnI+uICySrngMVMILd3+TrQjRCcTAeB/9tu9q
zdOoEWGfg51O2nI+DkETD7lCRfMe4GvrfgL7ii3Qu6ozkYBLKAk6zt3PYIsrSEff
DmgK4ef77d0CfDwKMJrJIj4ptiVuRB0rhRtViZ++zJmzocidFI+o29bGEgD85gdM
acIeXfnUnnwVpxLYyNKSWG1oZV2Y00p0BzRYJutWvcJ+diwfsxO62Wh36uwyRaOS
CJ9Cxtm0bn+YwmrSV/uSfCrD0ZREQpB6CnJErOUATI/Vbe0XaQ3VUpgiiS3gZMW1
aCiYMARNKiq4vwIDAQABAoIBAADbQqYSdAjC1tmuGxSiOr2v9sMFSV2+mGnWLmmE
U13i4I8eq3/rd/mj+I9QxJ054bjWhJc/8/ZSQkaU4hbIyEYZuk2FWNuuFzlp6qSP
YHxpGDrd9lZTJPaWkAoeSuWOhYxw4sOGswl8oAt1bM+wkJaiql8bAv0rxovIroDi
HfjMtqibs4liTQyRYFk67nuZ/taFyQkY0KkYqc4+raHeT6DKExLNCKJnvaw5O4j2
kHQaABjRKG+KG++o6h+IIJBkZdkUzLJXu5vY3RVVduH26V/l2ldLmGzD5DqRP3ff
ruYte9xHi2rCr42BnlTpDhFBAqFGL1hsFQwMp5tN7BgmEPUCgYEA5bJCbcMIb+aL
OXCCanDL+jV3o6jAod+9GLfnELYvnDpITT08pXw3HnFF1cS13wV1B+RpvWVNNOrJ
dH1sz2mVCglqO5PPZSuIMuiOSGbDYhNxkTv6OU5sDMjC7dDKZdAYsWm/7bAetUrN
HKz+8qYCUb1GRkh9hdZkNK+fmIDa1f0CgYEA+jEvSGMhmQdDtfLguPZxVSx0NTNg
goPTDHGwazTo+1i2ZTu2JgYJcMFTKFqRFYMHGl7pfXQx4U4z15FaUJahV5xvb8cf
Mi4XvPhOdTlqJcDAJD6N5bk322AZM2rHGkfTaqUn5XvOq4FHs6SgYgJF++C1xzAu
S9J6yyJ/qUe+6GsCgYBuaazy9DCHEcxU9RdLsSLsCG2VNxY5+cH9MtGYv+rM71s3
/bq8VaRtNsf6BQ/jv8zM2WhWyW4+hKoIHA6E+VzSMUpmjxu/pxhWWGGkvfknmO8b
gDg8+cyIrKy/AoF4RXrJNWs0B1gLj4RfR21aGKC+x/wS5t+nyTHr/Yv7E92dxQKB
gCtOeDC/eAFVEJNeByf9AIENwM+0pO/ygYWV6EOmVO2s3WWIgG70fI3X6N0DUDm5
BHG8HA5rHncxYifeMRPh/ut7WI6wmOXGtLUxBeOknIsMYjXj3gv1k4WVjMcppG0Y
IbBEBjPiylNFfXPK+zf7zMFclBp2bI0TUc33msFiedkhAoGBANpL3yiw73HWGjEL
8KHhxPFWjQX6EsUnzkBvymxiOR1f2KpsSC/4iaOsFmqWezYurOCUvs9+PkdZKGs8
jXMwc+3Pbg5FQ4IG0kBvkSjLKWxZUOzjRF5MRW8ilwGQEj+5A8e18kyQtisIh+3S
pyqbyULX0/e0El4YiFjtfxvsWtiy
-----END PRIVATE KEY-----

0 comments on commit 326619c

Please sign in to comment.