Gilles Peskine | 2baf2b0 | 2021-03-30 23:44:22 +0200 | [diff] [blame] | 1 | Diffie-Hellman full exchange: tiny x_size |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 2 | dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":1:"1e32158a35e34d7b619657d6":0 |
Paul Bakker | 5c60de2 | 2009-07-08 19:47:36 +0000 | [diff] [blame] | 3 | |
Gilles Peskine | 2baf2b0 | 2021-03-30 23:44:22 +0200 | [diff] [blame] | 4 | Diffie-Hellman full exchange: 5-bit, x_size=3 |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 5 | dhm_do_dhm:"17":3:"5":0 |
Paul Bakker | 5c60de2 | 2009-07-08 19:47:36 +0000 | [diff] [blame] | 6 | |
Gilles Peskine | 2baf2b0 | 2021-03-30 23:44:22 +0200 | [diff] [blame] | 7 | Diffie-Hellman full exchange: 5-bit, x_size=2 |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 8 | dhm_do_dhm:"17":2:"5":0 |
Gilles Peskine | 2baf2b0 | 2021-03-30 23:44:22 +0200 | [diff] [blame] | 9 | |
Gilles Peskine | 19e3620 | 2021-04-13 22:16:45 +0200 | [diff] [blame] | 10 | ## 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 Peskine | b27db0a | 2021-03-30 23:33:49 +0200 | [diff] [blame] | 12 | Diffie-Hellman full exchange: 5-bit #1 |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 13 | dhm_do_dhm:"17":1:"5":0 |
Paul Bakker | 5c60de2 | 2009-07-08 19:47:36 +0000 | [diff] [blame] | 14 | |
Gilles Peskine | b27db0a | 2021-03-30 23:33:49 +0200 | [diff] [blame] | 15 | Diffie-Hellman full exchange: 5-bit #2 |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 16 | dhm_do_dhm:"17":1:"5":0 |
Gilles Peskine | b27db0a | 2021-03-30 23:33:49 +0200 | [diff] [blame] | 17 | |
| 18 | Diffie-Hellman full exchange: 5-bit #3 |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 19 | dhm_do_dhm:"17":1:"5":0 |
Gilles Peskine | b27db0a | 2021-03-30 23:33:49 +0200 | [diff] [blame] | 20 | |
| 21 | Diffie-Hellman full exchange: 5-bit #4 |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 22 | dhm_do_dhm:"17":1:"5":0 |
Gilles Peskine | b27db0a | 2021-03-30 23:33:49 +0200 | [diff] [blame] | 23 | |
| 24 | Diffie-Hellman full exchange: 5-bit #5 |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 25 | dhm_do_dhm:"17":1:"5":0 |
Gilles Peskine | 2baf2b0 | 2021-03-30 23:44:22 +0200 | [diff] [blame] | 26 | |
Gilles Peskine | 3270b14 | 2021-04-13 22:26:27 +0200 | [diff] [blame] | 27 | ## 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 Peskine | 2baf2b0 | 2021-03-30 23:44:22 +0200 | [diff] [blame] | 31 | Diffie-Hellman full exchange: 97-bit, x_size=14 |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 32 | dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":14:"1e32158a35e34d7b619657d6":0 |
Gilles Peskine | b27db0a | 2021-03-30 23:33:49 +0200 | [diff] [blame] | 33 | |
| 34 | Diffie-Hellman full exchange: 97-bit #1 |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 35 | dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"1e32158a35e34d7b619657d6":0 |
Paul Bakker | 5c60de2 | 2009-07-08 19:47:36 +0000 | [diff] [blame] | 36 | |
Gilles Peskine | b27db0a | 2021-03-30 23:33:49 +0200 | [diff] [blame] | 37 | Diffie-Hellman full exchange: 97-bit #2 |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 38 | dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"1e32158a35e34d7b619657d6":0 |
Gilles Peskine | b27db0a | 2021-03-30 23:33:49 +0200 | [diff] [blame] | 39 | |
| 40 | Diffie-Hellman full exchange: 97-bit #3 |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 41 | dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"1e32158a35e34d7b619657d6":0 |
Gilles Peskine | b27db0a | 2021-03-30 23:33:49 +0200 | [diff] [blame] | 42 | |
| 43 | Diffie-Hellman full exchange: 97-bit #4 |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 44 | dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"1e32158a35e34d7b619657d6":0 |
Gilles Peskine | b27db0a | 2021-03-30 23:33:49 +0200 | [diff] [blame] | 45 | |
| 46 | Diffie-Hellman full exchange: 97-bit #5 |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 47 | dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"1e32158a35e34d7b619657d6":0 |
Gilles Peskine | 2baf2b0 | 2021-03-30 23:44:22 +0200 | [diff] [blame] | 48 | |
| 49 | Diffie-Hellman full exchange: 97-bit, x_size=12 |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 50 | dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":12:"1e32158a35e34d7b619657d6":0 |
Gilles Peskine | 2baf2b0 | 2021-03-30 23:44:22 +0200 | [diff] [blame] | 51 | |
| 52 | Diffie-Hellman full exchange: 97-bit, x_size=11 |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 53 | dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":11:"1e32158a35e34d7b619657d6":0 |
Gilles Peskine | 2baf2b0 | 2021-03-30 23:44:22 +0200 | [diff] [blame] | 54 | |
| 55 | Diffie-Hellman full exchange: 97-bit, x_size=1 #1 |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 56 | dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":1:"1e32158a35e34d7b619657d6":0 |
Gilles Peskine | 2baf2b0 | 2021-03-30 23:44:22 +0200 | [diff] [blame] | 57 | |
| 58 | Diffie-Hellman full exchange: 97-bit, x_size=1 #2 |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 59 | dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":1:"1e32158a35e34d7b619657d6":0 |
Gilles Peskine | 2baf2b0 | 2021-03-30 23:44:22 +0200 | [diff] [blame] | 60 | |
| 61 | Diffie-Hellman full exchange: 97-bit, x_size=1 #3 |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 62 | dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":1:"1e32158a35e34d7b619657d6":0 |
Gilles Peskine | 2baf2b0 | 2021-03-30 23:44:22 +0200 | [diff] [blame] | 63 | |
| 64 | Diffie-Hellman full exchange: 97-bit, x_size=1 #4 |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 65 | dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":1:"1e32158a35e34d7b619657d6":0 |
Gilles Peskine | 2baf2b0 | 2021-03-30 23:44:22 +0200 | [diff] [blame] | 66 | |
| 67 | Diffie-Hellman full exchange: 97-bit, x_size=1 #5 |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 68 | dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":1:"1e32158a35e34d7b619657d6":0 |
Gilles Peskine | b27db0a | 2021-03-30 23:33:49 +0200 | [diff] [blame] | 69 | |
| 70 | Diffie-Hellman full exchange: 286-bit |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 71 | dhm_do_dhm:"301abc09a57b66a953bfcc206a32e9ab56724084e4b47635779ca35fee79ce1060cb4117":36:"15aa1039b4dd361ed1b5b88e52f2919d0cbcb15adbe5fc290dab13b34e7":0 |
Janos Follath | 4b151fa | 2017-09-20 13:46:37 +0100 | [diff] [blame] | 72 | |
Janos Follath | 4b151fa | 2017-09-20 13:46:37 +0100 | [diff] [blame] | 73 | Diffie-Hellman small modulus |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 74 | dhm_do_dhm:"3":1:"5":MBEDTLS_ERR_DHM_MAKE_PARAMS_FAILED+MBEDTLS_ERR_MPI_BAD_INPUT_DATA |
Janos Follath | 4b151fa | 2017-09-20 13:46:37 +0100 | [diff] [blame] | 75 | |
| 76 | Diffie-Hellman zero modulus |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 77 | dhm_do_dhm:"0":1:"5":MBEDTLS_ERR_DHM_BAD_INPUT_DATA |
Paul Bakker | 40ce79f | 2013-09-15 17:43:54 +0200 | [diff] [blame] | 78 | |
Gilles Peskine | 45adf6f | 2021-06-09 13:37:31 +0200 | [diff] [blame] | 79 | Diffie-Hellman with G=0 |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 80 | dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"0":MBEDTLS_ERR_DHM_BAD_INPUT_DATA |
Gilles Peskine | 45adf6f | 2021-06-09 13:37:31 +0200 | [diff] [blame] | 81 | |
| 82 | Diffie-Hellman with G=1 |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 83 | dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"1":MBEDTLS_ERR_DHM_BAD_INPUT_DATA |
Gilles Peskine | 45adf6f | 2021-06-09 13:37:31 +0200 | [diff] [blame] | 84 | |
Gilles Peskine | 5afc5e4 | 2021-06-15 21:53:47 +0200 | [diff] [blame] | 85 | Diffie-Hellman with G=-1 |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 86 | dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"-1":MBEDTLS_ERR_DHM_BAD_INPUT_DATA |
Gilles Peskine | 5afc5e4 | 2021-06-15 21:53:47 +0200 | [diff] [blame] | 87 | |
Gilles Peskine | 45adf6f | 2021-06-09 13:37:31 +0200 | [diff] [blame] | 88 | Diffie-Hellman with G=P-1 |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 89 | dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"12df4d7689dff4c99d9ae57d6":MBEDTLS_ERR_DHM_BAD_INPUT_DATA |
Gilles Peskine | 45adf6f | 2021-06-09 13:37:31 +0200 | [diff] [blame] | 90 | |
| 91 | Diffie-Hellman with G=P-2 |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 92 | dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"12df4d7689dff4c99d9ae57d5":0 |
Gilles Peskine | 45adf6f | 2021-06-09 13:37:31 +0200 | [diff] [blame] | 93 | |
| 94 | Diffie-Hellman with G=P |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 95 | dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"12df4d7689dff4c99d9ae57d7":MBEDTLS_ERR_DHM_BAD_INPUT_DATA |
Gilles Peskine | 45adf6f | 2021-06-09 13:37:31 +0200 | [diff] [blame] | 96 | |
| 97 | Diffie-Hellman with G=P+1 |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 98 | dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"12df4d7689dff4c99d9ae57d8":MBEDTLS_ERR_DHM_BAD_INPUT_DATA |
Gilles Peskine | 45adf6f | 2021-06-09 13:37:31 +0200 | [diff] [blame] | 99 | |
| 100 | Diffie-Hellman with G=P+2 |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 101 | dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"12df4d7689dff4c99d9ae57d9":0 |
Gilles Peskine | 45adf6f | 2021-06-09 13:37:31 +0200 | [diff] [blame] | 102 | |
Gilles Peskine | 3270b14 | 2021-04-13 22:26:27 +0200 | [diff] [blame] | 103 | Diffie-Hellman: x_size < 0 |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 104 | dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":-1:"1e32158a35e34d7b619657d6":MBEDTLS_ERR_DHM_BAD_INPUT_DATA |
Paul Bakker | 40ce79f | 2013-09-15 17:43:54 +0200 | [diff] [blame] | 105 | |
Chris Jones | d10b331 | 2020-12-02 10:41:50 +0000 | [diff] [blame] | 106 | Diffie-Hellman MPI_MAX_SIZE modulus |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 107 | dhm_make_public:MBEDTLS_MPI_MAX_SIZE:"5":0 |
Chris Jones | d10b331 | 2020-12-02 10:41:50 +0000 | [diff] [blame] | 108 | |
| 109 | Diffie-Hellman MPI_MAX_SIZE + 1 modulus |
Werner Lewis | 9802d36 | 2022-07-07 11:37:24 +0100 | [diff] [blame^] | 110 | dhm_make_public:MBEDTLS_MPI_MAX_SIZE + 1:"5":MBEDTLS_ERR_DHM_MAKE_PUBLIC_FAILED+MBEDTLS_ERR_MPI_BAD_INPUT_DATA |
Chris Jones | 0c5875f | 2020-11-26 11:21:53 +0000 | [diff] [blame] | 111 | |
Gilles Peskine | efa2ac8 | 2019-09-19 21:20:26 +0200 | [diff] [blame] | 112 | Diffie-Hellman load parameters from file [#1] |
Manuel Pégourié-Gonnard | 3fec220 | 2014-03-29 16:42:38 +0100 | [diff] [blame] | 113 | dhm_file:"data_files/dhparams.pem":"9e35f430443a09904f3a39a979797d070df53378e79c2438bef4e761f3c714553328589b041c809be1d6c6b5f1fc9f47d3a25443188253a992a56818b37ba9de5a40d362e56eff0be5417474c125c199272c8fe41dea733df6f662c92ae76556e755d10c64e6a50968f67fc6ea73d0dca8569be2ba204e23580d8bca2f4975b3":"02":128 |
| 114 | |
Gilles Peskine | efa2ac8 | 2019-09-19 21:20:26 +0200 | [diff] [blame] | 115 | Diffie-Hellman load parameters from file [#2] |
Manuel Pégourié-Gonnard | 5119df2 | 2015-04-15 13:50:29 +0200 | [diff] [blame] | 116 | dhm_file:"data_files/dh.optlen.pem":"b3126aeaf47153c7d67f403030b292b5bd5a6c9eae1c137af34087fce2a36a578d70c5c560ad2bdb924c4a4dbee20a1671be7103ce87defa76908936803dbeca60c33e1289c1a03ac2c6c4e49405e5902fa0596a1cbaa895cc402d5213ed4a5f1f5ba8b5e1ed3da951a4c475afeb0ca660b7368c38c8e809f382d96ae19e60dc984e61cb42b5dfd723322acf327f9e413cda6400c15c5b2ea1fa34405d83982fba40e6d852da3d91019bf23511314254dc211a90833e5b1798ee52a78198c555644729ad92f060367c74ded37704adfc273a4a33fec821bd2ebd3bc051730e97a4dd14d2b766062592f5eec09d16bb50efebf2cc00dd3e0e3418e60ec84870f7":"800abfe7dc667aa17bcd7c04614bc221a65482ccc04b604602b0e131908a938ea11b48dc515dab7abcbb1e0c7fd66511edc0d86551b7632496e03df94357e1c4ea07a7ce1e381a2fcafdff5f5bf00df828806020e875c00926e4d011f88477a1b01927d73813cad4847c6396b9244621be2b00b63c659253318413443cd244215cd7fd4cbe796e82c6cf70f89cc0c528fb8e344809b31876e7ef739d5160d095c9684188b0c8755c7a468d47f56d6db9ea012924ecb0556fb71312a8d7c93bb2898ea08ee54eeb594548285f06a973cbbe2a0cb02e90f323fe045521f34c68354a6d3e95dbfff1eb64692edc0a44f3d3e408d0e479a541e779a6054259e2d854":256 |
| 117 | |
Paul Bakker | 40ce79f | 2013-09-15 17:43:54 +0200 | [diff] [blame] | 118 | Diffie-Hellman selftest |
| 119 | dhm_selftest: |