test_suite_bignum_random.data 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340
  1. MPI core random basic: 0..1
  2. mpi_core_random_basic:0:"01":0
  3. MPI core random basic: 0..2
  4. mpi_core_random_basic:0:"02":0
  5. MPI core random basic: 1..2
  6. mpi_core_random_basic:1:"02":0
  7. MPI core random basic: 2^30..2^31
  8. mpi_core_random_basic:0x40000000:"80000000":0
  9. MPI core random basic: 0..2^128
  10. mpi_core_random_basic:0x40000000:"0100000000000000000000000000000000":0
  11. MPI core random basic: 2^30..2^129
  12. mpi_core_random_basic:0x40000000:"0200000000000000000000000000000000":0
  13. # Use the same data values for mpi_core_random_basic->NOT_ACCEPTABLE
  14. # and for mpi_XXX_random_values where we want to return NOT_ACCEPTABLE
  15. # but this isn't checked at runtime.
  16. MPI core random basic: 2^28-1..2^28+1 (NOT_ACCEPTABLE)
  17. mpi_core_random_basic:0x0fffffff:"10000001":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
  18. MPI random legacy=core: 2^28-1..2^28+1 (NOT_ACCEPTABLE)
  19. mpi_legacy_random_values:0x0fffffff:"10000001"
  20. MPI random mod=core: 2^28-1..2^28+1 (NOT_ACCEPTABLE) (Mont)
  21. mpi_mod_random_values:0x0fffffff:"10000001":MBEDTLS_MPI_MOD_REP_MONTGOMERY
  22. MPI random mod=core: 2^28-1..2^28+1 (NOT_ACCEPTABLE) (canon)
  23. mpi_mod_random_values:0x0fffffff:"10000001":MBEDTLS_MPI_MOD_REP_OPT_RED
  24. MPI core random basic: 2^29-1..2^29+1 (NOT_ACCEPTABLE)
  25. mpi_core_random_basic:0x1fffffff:"20000001":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
  26. MPI random legacy=core: 2^29-1..2^29+1 (NOT_ACCEPTABLE)
  27. mpi_legacy_random_values:0x1fffffff:"20000001"
  28. MPI random mod=core: 2^29-1..2^29+1 (NOT_ACCEPTABLE) (Mont)
  29. mpi_mod_random_values:0x1fffffff:"20000001":MBEDTLS_MPI_MOD_REP_MONTGOMERY
  30. MPI random mod=core: 2^29-1..2^29+1 (NOT_ACCEPTABLE) (canon)
  31. mpi_mod_random_values:0x1fffffff:"20000001":MBEDTLS_MPI_MOD_REP_OPT_RED
  32. MPI core random basic: 2^30-1..2^30+1 (NOT_ACCEPTABLE)
  33. mpi_core_random_basic:0x3fffffff:"40000001":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
  34. MPI random legacy=core: 2^30-1..2^30+1 (NOT_ACCEPTABLE)
  35. mpi_legacy_random_values:0x3fffffff:"40000001"
  36. MPI random mod=core: 2^30-1..2^30+1 (NOT_ACCEPTABLE) (Mont)
  37. mpi_mod_random_values:0x3fffffff:"40000001":MBEDTLS_MPI_MOD_REP_MONTGOMERY
  38. MPI random mod=core: 2^30-1..2^30+1 (NOT_ACCEPTABLE) (canon)
  39. mpi_mod_random_values:0x3fffffff:"40000001":MBEDTLS_MPI_MOD_REP_OPT_RED
  40. MPI core random basic: 2^31-1..2^31+1 (NOT_ACCEPTABLE)
  41. mpi_core_random_basic:0x7fffffff:"80000001":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
  42. MPI random legacy=core: 2^31-1..2^31+1 (NOT_ACCEPTABLE)
  43. mpi_legacy_random_values:0x7fffffff:"80000001"
  44. MPI random mod=core: 2^31-1..2^31+1 (NOT_ACCEPTABLE) (Mont)
  45. mpi_mod_random_values:0x7fffffff:"80000001":MBEDTLS_MPI_MOD_REP_MONTGOMERY
  46. MPI random mod=core: 2^31-1..2^31+1 (NOT_ACCEPTABLE) (canon)
  47. mpi_mod_random_values:0x7fffffff:"80000001":MBEDTLS_MPI_MOD_REP_OPT_RED
  48. MPI random in range: 1..2
  49. mpi_random_many:1:"02":1000
  50. MPI random in range: 1..3
  51. mpi_random_many:1:"03":1000
  52. MPI random in range: 1..4
  53. mpi_random_many:1:"04":1000
  54. MPI random in range: 1..5
  55. mpi_random_many:1:"05":1000
  56. MPI random in range: 1..6
  57. mpi_random_many:1:"06":1000
  58. MPI random in range: 1..7
  59. mpi_random_many:1:"07":1000
  60. MPI random in range: 1..8
  61. mpi_random_many:1:"08":1000
  62. MPI random in range: 1..9
  63. mpi_random_many:1:"09":1000
  64. MPI random in range: 1..10
  65. mpi_random_many:1:"0a":1000
  66. MPI random in range: 1..11
  67. mpi_random_many:1:"0b":1000
  68. MPI random in range: 1..12
  69. mpi_random_many:1:"0c":1000
  70. MPI random in range: 1..255
  71. mpi_random_many:1:"ff":200
  72. MPI random in range: 1..256
  73. mpi_random_many:1:"0100":200
  74. MPI random in range: 1..257
  75. mpi_random_many:1:"0101":200
  76. MPI random in range: 1..272
  77. mpi_random_many:1:"0110":200
  78. MPI random in range: 1..2^64-1
  79. mpi_random_many:1:"ffffffffffffffff":100
  80. MPI random in range: 1..2^64
  81. mpi_random_many:1:"010000000000000000":100
  82. MPI random in range: 1..2^64+1
  83. mpi_random_many:1:"010000000000000001":100
  84. MPI random in range: 1..2^64+2^63
  85. mpi_random_many:1:"018000000000000000":100
  86. MPI random in range: 1..2^65-1
  87. mpi_random_many:1:"01ffffffffffffffff":100
  88. MPI random in range: 1..2^65
  89. mpi_random_many:1:"020000000000000000":100
  90. MPI random in range: 1..2^65+1
  91. mpi_random_many:1:"020000000000000001":100
  92. MPI random in range: 1..2^65+2^64
  93. mpi_random_many:1:"030000000000000000":100
  94. MPI random in range: 1..2^66+2^65
  95. mpi_random_many:1:"060000000000000000":100
  96. MPI random in range: 1..2^71-1
  97. mpi_random_many:1:"7fffffffffffffffff":100
  98. MPI random in range: 1..2^71
  99. mpi_random_many:1:"800000000000000000":100
  100. MPI random in range: 1..2^71+1
  101. mpi_random_many:1:"800000000000000001":100
  102. MPI random in range: 1..2^71+2^70
  103. mpi_random_many:1:"c00000000000000000":100
  104. MPI random in range: 1..2^72-1
  105. mpi_random_many:1:"ffffffffffffffffff":100
  106. MPI random in range: 1..2^72
  107. mpi_random_many:1:"01000000000000000000":100
  108. MPI random in range: 1..2^72+1
  109. mpi_random_many:1:"01000000000000000001":100
  110. MPI random in range: 1..2^72+2^71
  111. mpi_random_many:1:"01800000000000000000":100
  112. MPI random in range: 0..1
  113. mpi_random_many:0:"04":10000
  114. MPI random in range: 0..4
  115. mpi_random_many:0:"04":10000
  116. MPI random in range: 2..4
  117. mpi_random_many:2:"04":10000
  118. MPI random in range: 3..4
  119. mpi_random_many:3:"04":10000
  120. MPI random in range: smaller result
  121. mpi_random_sizes:1:"aaaaaaaaaaaaaaaabbbbbbbbbbbbbbbb":1:0
  122. MPI random in range: same size result (32-bit limbs)
  123. mpi_random_sizes:1:"aaaaaaaaaaaaaaaa":2:0
  124. MPI random in range: same size result (64-bit limbs)
  125. mpi_random_sizes:1:"aaaaaaaaaaaaaaaa":1:0
  126. MPI random in range: larger result
  127. mpi_random_sizes:1:"aaaaaaaaaaaaaaaa":3:0
  128. ## The "0 limb in upper bound" tests rely on the fact that
  129. ## mbedtls_mpi_read_binary() bases the size of the MPI on the size of
  130. ## the input, without first checking for leading zeros. If this was
  131. ## not the case, the tests would still pass, but would not exercise
  132. ## the advertised behavior.
  133. MPI random in range: leading 0 limb in upper bound #0
  134. mpi_random_sizes:1:"00aaaaaaaaaaaaaaaa":0:0
  135. MPI random in range: leading 0 limb in upper bound #1
  136. mpi_random_sizes:1:"00aaaaaaaaaaaaaaaa":1:0
  137. MPI random in range: leading 0 limb in upper bound #2
  138. mpi_random_sizes:1:"00aaaaaaaaaaaaaaaa":2:0
  139. MPI random in range: leading 0 limb in upper bound #3
  140. mpi_random_sizes:1:"00aaaaaaaaaaaaaaaa":3:0
  141. MPI random in range: leading 0 limb in upper bound #4
  142. mpi_random_sizes:1:"00aaaaaaaaaaaaaaaa":4:0
  143. MPI random in range: previously small >0
  144. mpi_random_sizes:1:"1234567890":4:1
  145. MPI random in range: previously small <0
  146. mpi_random_sizes:1:"1234567890":4:-1
  147. MPI random in range: previously large >0
  148. mpi_random_sizes:1:"1234":4:65
  149. MPI random in range: previously large <0
  150. mpi_random_sizes:1:"1234":4:-65
  151. MPI random bad arguments: min < 0
  152. mpi_random_fail:-1:"04":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
  153. MPI random bad arguments: min = N = 0
  154. mpi_random_fail:0:"00":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
  155. MPI random bad arguments: min = N = 1
  156. mpi_random_fail:1:"01":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
  157. MPI random bad arguments: min > N = 0
  158. mpi_random_fail:1:"00":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
  159. MPI random bad arguments: min > N = 1
  160. mpi_random_fail:2:"01":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
  161. MPI random bad arguments: min > N = 1, 0 limb in upper bound
  162. mpi_random_fail:2:"000000000000000001":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
  163. MPI random legacy=core: 0..1
  164. mpi_legacy_random_values:0:"01"
  165. MPI random legacy=core: 0..2
  166. mpi_legacy_random_values:0:"02"
  167. MPI random legacy=core: 1..2
  168. mpi_legacy_random_values:1:"02"
  169. MPI random legacy=core: 2^30..2^31
  170. mpi_legacy_random_values:0x40000000:"80000000"
  171. MPI random legacy=core: 2^31-1..2^32-1
  172. mpi_legacy_random_values:0x7fffffff:"ffffffff"
  173. MPI random legacy=core: 0..2^256
  174. mpi_legacy_random_values:0:"010000000000000000000000000000000000000000000000000000000000000000"
  175. MPI random legacy=core: 0..2^256+1
  176. mpi_legacy_random_values:0:"010000000000000000000000000000000000000000000000000000000000000001"
  177. MPI random mod=core: 0..1 (Mont)
  178. mpi_mod_random_values:0:"01":MBEDTLS_MPI_MOD_REP_MONTGOMERY
  179. MPI random mod=core: 0..1 (canon)
  180. mpi_mod_random_values:0:"01":MBEDTLS_MPI_MOD_REP_OPT_RED
  181. MPI random mod=core: 0..3 (Mont)
  182. mpi_mod_random_values:0:"03":MBEDTLS_MPI_MOD_REP_MONTGOMERY
  183. MPI random mod=core: 0..3 (canon)
  184. mpi_mod_random_values:0:"03":MBEDTLS_MPI_MOD_REP_OPT_RED
  185. MPI random mod=core: 1..3 (Mont)
  186. mpi_mod_random_values:1:"03":MBEDTLS_MPI_MOD_REP_MONTGOMERY
  187. MPI random mod=core: 1..3 (canon)
  188. mpi_mod_random_values:1:"03":MBEDTLS_MPI_MOD_REP_OPT_RED
  189. MPI random mod=core: 2^30..2^31-1 (Mont)
  190. mpi_mod_random_values:0x40000000:"7fffffff":MBEDTLS_MPI_MOD_REP_MONTGOMERY
  191. MPI random mod=core: 2^30..2^31-1 (canon)
  192. mpi_mod_random_values:0x40000000:"7fffffff":MBEDTLS_MPI_MOD_REP_OPT_RED
  193. MPI random mod=core: 2^31-1..2^32-1 (Mont)
  194. mpi_mod_random_values:0x7fffffff:"ffffffff":MBEDTLS_MPI_MOD_REP_MONTGOMERY
  195. MPI random mod=core: 2^31-1..2^32-1 (canon)
  196. mpi_mod_random_values:0x7fffffff:"ffffffff":MBEDTLS_MPI_MOD_REP_OPT_RED
  197. MPI random mod=core: 0..2^256+1 (Mont)
  198. mpi_mod_random_values:0:"010000000000000000000000000000000000000000000000000000000000000001":MBEDTLS_MPI_MOD_REP_MONTGOMERY
  199. MPI random mod=core: 0..2^256+1 (canon)
  200. mpi_mod_random_values:0:"010000000000000000000000000000000000000000000000000000000000000001":MBEDTLS_MPI_MOD_REP_OPT_RED
  201. MPI random mod validation: 1 limb, good, 0..1
  202. mpi_mod_random_validation:0:"1":0:0
  203. MPI random mod validation: 1 limb, good, 1..3
  204. mpi_mod_random_validation:1:"3":0:0
  205. MPI random mod validation: 1 limb, good, 2..3
  206. mpi_mod_random_validation:2:"3":0:0
  207. MPI random mod validation: 1 limb, good, 3..5
  208. mpi_mod_random_validation:3:"5":0:0
  209. MPI random mod validation: 1 limb, good, 4..5
  210. mpi_mod_random_validation:4:"5":0:0
  211. MPI random mod validation: 1 limb, good, 5..7
  212. mpi_mod_random_validation:5:"7":0:0
  213. MPI random mod validation: 1 limb, good, 6..7
  214. mpi_mod_random_validation:6:"7":0:0
  215. MPI random mod validation: 1 limb, good, 0..0x123
  216. mpi_mod_random_validation:0:"123":0:0
  217. MPI random mod validation: 2+ limbs, good
  218. mpi_mod_random_validation:0:"01234567890123456789":0:0
  219. MPI random mod validation: 1 limb, output null
  220. mpi_mod_random_validation:0:"123":-1:MBEDTLS_ERR_MPI_BAD_INPUT_DATA
  221. MPI random mod validation: 1 limb, output too large
  222. mpi_mod_random_validation:0:"123":1:MBEDTLS_ERR_MPI_BAD_INPUT_DATA
  223. MPI random mod validation: 2+ limbs, output too small
  224. mpi_mod_random_validation:0:"01234567890123456789":-1:MBEDTLS_ERR_MPI_BAD_INPUT_DATA
  225. MPI random mod validation: 2+ limbs, output too large
  226. mpi_mod_random_validation:0:"01234567890123456789":1:MBEDTLS_ERR_MPI_BAD_INPUT_DATA
  227. MPI random mod validation: min == upper bound
  228. mpi_mod_random_validation:0x123:"123":-1:MBEDTLS_ERR_MPI_BAD_INPUT_DATA
  229. MPI random mod validation: min > upper bound
  230. mpi_mod_random_validation:0x124:"123":-1:MBEDTLS_ERR_MPI_BAD_INPUT_DATA