blob: 2ab5c43746eda4e64a9608ec6776a2b0f92fa7f4 [file] [log] [blame]
Gilles Peskine2baf2b02021-03-30 23:44:22 +02001Diffie-Hellman full exchange: tiny x_size
Werner Lewis9802d362022-07-07 11:37:24 +01002dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":1:"1e32158a35e34d7b619657d6":0
Paul Bakker5c60de22009-07-08 19:47:36 +00003
Gilles Peskine2baf2b02021-03-30 23:44:22 +02004Diffie-Hellman full exchange: 5-bit, x_size=3
Werner Lewis9802d362022-07-07 11:37:24 +01005dhm_do_dhm:"17":3:"5":0
Paul Bakker5c60de22009-07-08 19:47:36 +00006
Gilles Peskine2baf2b02021-03-30 23:44:22 +02007Diffie-Hellman full exchange: 5-bit, x_size=2
Werner Lewis9802d362022-07-07 11:37:24 +01008dhm_do_dhm:"17":2:"5":0
Gilles Peskine2baf2b02021-03-30 23:44:22 +02009
Gilles Peskine19e36202021-04-13 22:16:45 +020010## Repeat this test case and a few similar ones several times. The RNG state
11## changes, so we get to exercise the code with a few different values.
Gilles Peskineb27db0a2021-03-30 23:33:49 +020012Diffie-Hellman full exchange: 5-bit #1
Werner Lewis9802d362022-07-07 11:37:24 +010013dhm_do_dhm:"17":1:"5":0
Paul Bakker5c60de22009-07-08 19:47:36 +000014
Gilles Peskineb27db0a2021-03-30 23:33:49 +020015Diffie-Hellman full exchange: 5-bit #2
Werner Lewis9802d362022-07-07 11:37:24 +010016dhm_do_dhm:"17":1:"5":0
Gilles Peskineb27db0a2021-03-30 23:33:49 +020017
18Diffie-Hellman full exchange: 5-bit #3
Werner Lewis9802d362022-07-07 11:37:24 +010019dhm_do_dhm:"17":1:"5":0
Gilles Peskineb27db0a2021-03-30 23:33:49 +020020
21Diffie-Hellman full exchange: 5-bit #4
Werner Lewis9802d362022-07-07 11:37:24 +010022dhm_do_dhm:"17":1:"5":0
Gilles Peskineb27db0a2021-03-30 23:33:49 +020023
24Diffie-Hellman full exchange: 5-bit #5
Werner Lewis9802d362022-07-07 11:37:24 +010025dhm_do_dhm:"17":1:"5":0
Gilles Peskine2baf2b02021-03-30 23:44:22 +020026
Gilles Peskine3270b142021-04-13 22:26:27 +020027## This is x_size = P_size + 1. Arguably x_size > P_size makes no sense,
28## but it's the current undocumented behavior to treat it the same as when
29## x_size = P_size. If this behavior changes in the future, change the expected
30## return status from 0 to MBEDTLS_ERR_DHM_BAD_INPUT_DATA.
Gilles Peskine2baf2b02021-03-30 23:44:22 +020031Diffie-Hellman full exchange: 97-bit, x_size=14
Werner Lewis9802d362022-07-07 11:37:24 +010032dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":14:"1e32158a35e34d7b619657d6":0
Gilles Peskineb27db0a2021-03-30 23:33:49 +020033
34Diffie-Hellman full exchange: 97-bit #1
Werner Lewis9802d362022-07-07 11:37:24 +010035dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"1e32158a35e34d7b619657d6":0
Paul Bakker5c60de22009-07-08 19:47:36 +000036
Gilles Peskineb27db0a2021-03-30 23:33:49 +020037Diffie-Hellman full exchange: 97-bit #2
Werner Lewis9802d362022-07-07 11:37:24 +010038dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"1e32158a35e34d7b619657d6":0
Gilles Peskineb27db0a2021-03-30 23:33:49 +020039
40Diffie-Hellman full exchange: 97-bit #3
Werner Lewis9802d362022-07-07 11:37:24 +010041dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"1e32158a35e34d7b619657d6":0
Gilles Peskineb27db0a2021-03-30 23:33:49 +020042
43Diffie-Hellman full exchange: 97-bit #4
Werner Lewis9802d362022-07-07 11:37:24 +010044dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"1e32158a35e34d7b619657d6":0
Gilles Peskineb27db0a2021-03-30 23:33:49 +020045
46Diffie-Hellman full exchange: 97-bit #5
Werner Lewis9802d362022-07-07 11:37:24 +010047dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"1e32158a35e34d7b619657d6":0
Gilles Peskine2baf2b02021-03-30 23:44:22 +020048
49Diffie-Hellman full exchange: 97-bit, x_size=12
Werner Lewis9802d362022-07-07 11:37:24 +010050dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":12:"1e32158a35e34d7b619657d6":0
Gilles Peskine2baf2b02021-03-30 23:44:22 +020051
52Diffie-Hellman full exchange: 97-bit, x_size=11
Werner Lewis9802d362022-07-07 11:37:24 +010053dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":11:"1e32158a35e34d7b619657d6":0
Gilles Peskine2baf2b02021-03-30 23:44:22 +020054
55Diffie-Hellman full exchange: 97-bit, x_size=1 #1
Werner Lewis9802d362022-07-07 11:37:24 +010056dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":1:"1e32158a35e34d7b619657d6":0
Gilles Peskine2baf2b02021-03-30 23:44:22 +020057
58Diffie-Hellman full exchange: 97-bit, x_size=1 #2
Werner Lewis9802d362022-07-07 11:37:24 +010059dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":1:"1e32158a35e34d7b619657d6":0
Gilles Peskine2baf2b02021-03-30 23:44:22 +020060
61Diffie-Hellman full exchange: 97-bit, x_size=1 #3
Werner Lewis9802d362022-07-07 11:37:24 +010062dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":1:"1e32158a35e34d7b619657d6":0
Gilles Peskine2baf2b02021-03-30 23:44:22 +020063
64Diffie-Hellman full exchange: 97-bit, x_size=1 #4
Werner Lewis9802d362022-07-07 11:37:24 +010065dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":1:"1e32158a35e34d7b619657d6":0
Gilles Peskine2baf2b02021-03-30 23:44:22 +020066
67Diffie-Hellman full exchange: 97-bit, x_size=1 #5
Werner Lewis9802d362022-07-07 11:37:24 +010068dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":1:"1e32158a35e34d7b619657d6":0
Gilles Peskineb27db0a2021-03-30 23:33:49 +020069
70Diffie-Hellman full exchange: 286-bit
Werner Lewis9802d362022-07-07 11:37:24 +010071dhm_do_dhm:"301abc09a57b66a953bfcc206a32e9ab56724084e4b47635779ca35fee79ce1060cb4117":36:"15aa1039b4dd361ed1b5b88e52f2919d0cbcb15adbe5fc290dab13b34e7":0
Janos Follath4b151fa2017-09-20 13:46:37 +010072
Janos Follath4b151fa2017-09-20 13:46:37 +010073Diffie-Hellman small modulus
Werner Lewis9802d362022-07-07 11:37:24 +010074dhm_do_dhm:"3":1:"5":MBEDTLS_ERR_DHM_MAKE_PARAMS_FAILED+MBEDTLS_ERR_MPI_BAD_INPUT_DATA
Janos Follath4b151fa2017-09-20 13:46:37 +010075
76Diffie-Hellman zero modulus
Werner Lewis9802d362022-07-07 11:37:24 +010077dhm_do_dhm:"0":1:"5":MBEDTLS_ERR_DHM_BAD_INPUT_DATA
Paul Bakker40ce79f2013-09-15 17:43:54 +020078
Gilles Peskine45adf6f2021-06-09 13:37:31 +020079Diffie-Hellman with G=0
Werner Lewis9802d362022-07-07 11:37:24 +010080dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"0":MBEDTLS_ERR_DHM_BAD_INPUT_DATA
Gilles Peskine45adf6f2021-06-09 13:37:31 +020081
82Diffie-Hellman with G=1
Werner Lewis9802d362022-07-07 11:37:24 +010083dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"1":MBEDTLS_ERR_DHM_BAD_INPUT_DATA
Gilles Peskine45adf6f2021-06-09 13:37:31 +020084
Gilles Peskine5afc5e42021-06-15 21:53:47 +020085Diffie-Hellman with G=-1
Werner Lewis9802d362022-07-07 11:37:24 +010086dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"-1":MBEDTLS_ERR_DHM_BAD_INPUT_DATA
Gilles Peskine5afc5e42021-06-15 21:53:47 +020087
Gilles Peskine45adf6f2021-06-09 13:37:31 +020088Diffie-Hellman with G=P-1
Werner Lewis9802d362022-07-07 11:37:24 +010089dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"12df4d7689dff4c99d9ae57d6":MBEDTLS_ERR_DHM_BAD_INPUT_DATA
Gilles Peskine45adf6f2021-06-09 13:37:31 +020090
91Diffie-Hellman with G=P-2
Werner Lewis9802d362022-07-07 11:37:24 +010092dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"12df4d7689dff4c99d9ae57d5":0
Gilles Peskine45adf6f2021-06-09 13:37:31 +020093
94Diffie-Hellman with G=P
Werner Lewis9802d362022-07-07 11:37:24 +010095dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"12df4d7689dff4c99d9ae57d7":MBEDTLS_ERR_DHM_BAD_INPUT_DATA
Gilles Peskine45adf6f2021-06-09 13:37:31 +020096
97Diffie-Hellman with G=P+1
Werner Lewis9802d362022-07-07 11:37:24 +010098dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"12df4d7689dff4c99d9ae57d8":MBEDTLS_ERR_DHM_BAD_INPUT_DATA
Gilles Peskine45adf6f2021-06-09 13:37:31 +020099
100Diffie-Hellman with G=P+2
Werner Lewis9802d362022-07-07 11:37:24 +0100101dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"12df4d7689dff4c99d9ae57d9":0
Gilles Peskine45adf6f2021-06-09 13:37:31 +0200102
Gilles Peskine3270b142021-04-13 22:26:27 +0200103Diffie-Hellman: x_size < 0
Werner Lewis9802d362022-07-07 11:37:24 +0100104dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":-1:"1e32158a35e34d7b619657d6":MBEDTLS_ERR_DHM_BAD_INPUT_DATA
Paul Bakker40ce79f2013-09-15 17:43:54 +0200105
Chris Jonesd10b3312020-12-02 10:41:50 +0000106Diffie-Hellman MPI_MAX_SIZE modulus
Werner Lewis9802d362022-07-07 11:37:24 +0100107dhm_make_public:MBEDTLS_MPI_MAX_SIZE:"5":0
Chris Jonesd10b3312020-12-02 10:41:50 +0000108
109Diffie-Hellman MPI_MAX_SIZE + 1 modulus
Werner Lewis9802d362022-07-07 11:37:24 +0100110dhm_make_public:MBEDTLS_MPI_MAX_SIZE + 1:"5":MBEDTLS_ERR_DHM_MAKE_PUBLIC_FAILED+MBEDTLS_ERR_MPI_BAD_INPUT_DATA
Chris Jones0c5875f2020-11-26 11:21:53 +0000111
Gilles Peskined23d8de2022-10-11 20:53:20 +0200112DH load parameters from PEM file (1024-bit, g=2)
113depends_on:MBEDTLS_PEM_PARSE_C
Manuel Pégourié-Gonnard3fec2202014-03-29 16:42:38 +0100114dhm_file:"data_files/dhparams.pem":"9e35f430443a09904f3a39a979797d070df53378e79c2438bef4e761f3c714553328589b041c809be1d6c6b5f1fc9f47d3a25443188253a992a56818b37ba9de5a40d362e56eff0be5417474c125c199272c8fe41dea733df6f662c92ae76556e755d10c64e6a50968f67fc6ea73d0dca8569be2ba204e23580d8bca2f4975b3":"02":128
115
Gilles Peskined23d8de2022-10-11 20:53:20 +0200116DH load parameters from PEM file (2048-bit, large g, privateValueLength)
117depends_on:MBEDTLS_PEM_PARSE_C
Manuel Pégourié-Gonnard5119df22015-04-15 13:50:29 +0200118dhm_file:"data_files/dh.optlen.pem":"b3126aeaf47153c7d67f403030b292b5bd5a6c9eae1c137af34087fce2a36a578d70c5c560ad2bdb924c4a4dbee20a1671be7103ce87defa76908936803dbeca60c33e1289c1a03ac2c6c4e49405e5902fa0596a1cbaa895cc402d5213ed4a5f1f5ba8b5e1ed3da951a4c475afeb0ca660b7368c38c8e809f382d96ae19e60dc984e61cb42b5dfd723322acf327f9e413cda6400c15c5b2ea1fa34405d83982fba40e6d852da3d91019bf23511314254dc211a90833e5b1798ee52a78198c555644729ad92f060367c74ded37704adfc273a4a33fec821bd2ebd3bc051730e97a4dd14d2b766062592f5eec09d16bb50efebf2cc00dd3e0e3418e60ec84870f7":"800abfe7dc667aa17bcd7c04614bc221a65482ccc04b604602b0e131908a938ea11b48dc515dab7abcbb1e0c7fd66511edc0d86551b7632496e03df94357e1c4ea07a7ce1e381a2fcafdff5f5bf00df828806020e875c00926e4d011f88477a1b01927d73813cad4847c6396b9244621be2b00b63c659253318413443cd244215cd7fd4cbe796e82c6cf70f89cc0c528fb8e344809b31876e7ef739d5160d095c9684188b0c8755c7a468d47f56d6db9ea012924ecb0556fb71312a8d7c93bb2898ea08ee54eeb594548285f06a973cbbe2a0cb02e90f323fe045521f34c68354a6d3e95dbfff1eb64692edc0a44f3d3e408d0e479a541e779a6054259e2d854":256
119
Gilles Peskine9624a592022-10-11 20:52:34 +0200120DH load parameters from DER file (2048-bit, large g, privateValueLength)
121dhm_file:"data_files/dh.optlen.der":"b3126aeaf47153c7d67f403030b292b5bd5a6c9eae1c137af34087fce2a36a578d70c5c560ad2bdb924c4a4dbee20a1671be7103ce87defa76908936803dbeca60c33e1289c1a03ac2c6c4e49405e5902fa0596a1cbaa895cc402d5213ed4a5f1f5ba8b5e1ed3da951a4c475afeb0ca660b7368c38c8e809f382d96ae19e60dc984e61cb42b5dfd723322acf327f9e413cda6400c15c5b2ea1fa34405d83982fba40e6d852da3d91019bf23511314254dc211a90833e5b1798ee52a78198c555644729ad92f060367c74ded37704adfc273a4a33fec821bd2ebd3bc051730e97a4dd14d2b766062592f5eec09d16bb50efebf2cc00dd3e0e3418e60ec84870f7":"800abfe7dc667aa17bcd7c04614bc221a65482ccc04b604602b0e131908a938ea11b48dc515dab7abcbb1e0c7fd66511edc0d86551b7632496e03df94357e1c4ea07a7ce1e381a2fcafdff5f5bf00df828806020e875c00926e4d011f88477a1b01927d73813cad4847c6396b9244621be2b00b63c659253318413443cd244215cd7fd4cbe796e82c6cf70f89cc0c528fb8e344809b31876e7ef739d5160d095c9684188b0c8755c7a468d47f56d6db9ea012924ecb0556fb71312a8d7c93bb2898ea08ee54eeb594548285f06a973cbbe2a0cb02e90f323fe045521f34c68354a6d3e95dbfff1eb64692edc0a44f3d3e408d0e479a541e779a6054259e2d854":256
122
Paul Bakker40ce79f2013-09-15 17:43:54 +0200123Diffie-Hellman selftest
124dhm_selftest: