Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 
 
 
 

957 rindas
40 KiB

  1. {
  2. "algorithm" : "X25519",
  3. "generatorVersion" : "0.4.12",
  4. "notes" : {
  5. "LowOrderPublic" : "Curve25519 or its twist contains some points of low order. This test vector contains a public key with such a point. While many libraries reject such public keys, doing so is not a strict requirement according to RFC 7748.",
  6. "Small public key" : "The public key is insecure and does not belong to a valid private key. Some libraries reject such keys.",
  7. "Twist" : "Public keys are either points on curve25519 or points on its twist. Implementations may either reject such keys or compute X25519 using the twist. If a point multiplication is performed then it is important that the result is correct, since otherwise attacks with invalid keys are possible."
  8. },
  9. "numberOfTests" : 87,
  10. "header" : [],
  11. "testGroups" : [
  12. {
  13. "curve" : "curve25519",
  14. "tests" : [
  15. {
  16. "tcId" : 1,
  17. "comment" : "normal case",
  18. "curve" : "curve25519",
  19. "public" : "9c647d9ae589b9f58fdc3ca4947efbc915c4b2e08e744a0edf469dac59c8f85a",
  20. "private" : "4852834d9d6b77dadeabaaf2e11dca66d19fe74993a7bec36c6e16a0983feaba",
  21. "shared" : "87b7f212b627f7a54ca5e0bcdaddd5389d9de6156cdbcf8ebe14ffbcfb436551",
  22. "result" : "valid",
  23. "flags" : []
  24. },
  25. {
  26. "tcId" : 2,
  27. "comment" : "normal case",
  28. "curve" : "curve25519",
  29. "public" : "9c647d9ae589b9f58fdc3ca4947efbc915c4b2e08e744a0edf469dac59c8f85a",
  30. "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
  31. "shared" : "4b82bd8650ea9b81a42181840926a4ffa16434d1bf298de1db87efb5b0a9e34e",
  32. "result" : "valid",
  33. "flags" : [
  34. "LowOrderPublic"
  35. ]
  36. },
  37. {
  38. "tcId" : 3,
  39. "comment" : "public key on twist",
  40. "curve" : "curve25519",
  41. "public" : "63aa40c6e38346c5caf23a6df0a5e6c80889a08647e551b3563449befcfc9733",
  42. "private" : "588c061a50804ac488ad774ac716c3f5ba714b2712e048491379a500211998a8",
  43. "shared" : "b1a707519495ffffb298ff941716b06dfab87cf8d91123fe2be9a233dda22212",
  44. "result" : "acceptable",
  45. "flags" : [
  46. "Twist"
  47. ]
  48. },
  49. {
  50. "tcId" : 4,
  51. "comment" : "public key on twist",
  52. "curve" : "curve25519",
  53. "public" : "0f83c36fded9d32fadf4efa3ae93a90bb5cfa66893bc412c43fa7287dbb99779",
  54. "private" : "b05bfd32e55325d9fd648cb302848039000b390e44d521e58aab3b29a6960ba8",
  55. "shared" : "67dd4a6e165533534c0e3f172e4ab8576bca923a5f07b2c069b4c310ff2e935b",
  56. "result" : "acceptable",
  57. "flags" : [
  58. "Twist"
  59. ]
  60. },
  61. {
  62. "tcId" : 5,
  63. "comment" : "public key on twist",
  64. "curve" : "curve25519",
  65. "public" : "0b8211a2b6049097f6871c6c052d3c5fc1ba17da9e32ae458403b05bb283092a",
  66. "private" : "70e34bcbe1f47fbc0fddfd7c1e1aa53d57bfe0f66d243067b424bb6210bed19c",
  67. "shared" : "4a0638cfaa9ef1933b47f8939296a6b25be541ef7f70e844c0bcc00b134de64a",
  68. "result" : "acceptable",
  69. "flags" : [
  70. "Twist"
  71. ]
  72. },
  73. {
  74. "tcId" : 6,
  75. "comment" : "public key on twist",
  76. "curve" : "curve25519",
  77. "public" : "343ac20a3b9c6a27b1008176509ad30735856ec1c8d8fcae13912d08d152f46c",
  78. "private" : "68c1f3a653a4cdb1d37bba94738f8b957a57beb24d646e994dc29a276aad458d",
  79. "shared" : "399491fce8dfab73b4f9f611de8ea0b27b28f85994250b0f475d585d042ac207",
  80. "result" : "acceptable",
  81. "flags" : [
  82. "Twist"
  83. ]
  84. },
  85. {
  86. "tcId" : 7,
  87. "comment" : "public key on twist",
  88. "curve" : "curve25519",
  89. "public" : "fa695fc7be8d1be5bf704898f388c452bafdd3b8eae805f8681a8d15c2d4e142",
  90. "private" : "d877b26d06dff9d9f7fd4c5b3769f8cdd5b30516a5ab806be324ff3eb69ea0b2",
  91. "shared" : "2c4fe11d490a53861776b13b4354abd4cf5a97699db6e6c68c1626d07662f758",
  92. "result" : "acceptable",
  93. "flags" : [
  94. "Twist"
  95. ]
  96. },
  97. {
  98. "tcId" : 8,
  99. "comment" : "public key = 0",
  100. "curve" : "curve25519",
  101. "public" : "0000000000000000000000000000000000000000000000000000000000000000",
  102. "private" : "207494038f2bb811d47805bcdf04a2ac585ada7f2f23389bfd4658f9ddd4debc",
  103. "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
  104. "result" : "acceptable",
  105. "flags" : [
  106. "Small public key"
  107. ]
  108. },
  109. {
  110. "tcId" : 9,
  111. "comment" : "public key = 1",
  112. "curve" : "curve25519",
  113. "public" : "0100000000000000000000000000000000000000000000000000000000000000",
  114. "private" : "202e8972b61c7e61930eb9450b5070eae1c670475685541f0476217e4818cfab",
  115. "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
  116. "result" : "acceptable",
  117. "flags" : [
  118. "Small public key"
  119. ]
  120. },
  121. {
  122. "tcId" : 10,
  123. "comment" : "edge case on twist",
  124. "curve" : "curve25519",
  125. "public" : "0200000000000000000000000000000000000000000000000000000000000000",
  126. "private" : "38dde9f3e7b799045f9ac3793d4a9277dadeadc41bec0290f81f744f73775f84",
  127. "shared" : "9a2cfe84ff9c4a9739625cae4a3b82a906877a441946f8d7b3d795fe8f5d1639",
  128. "result" : "acceptable",
  129. "flags" : [
  130. "Twist"
  131. ]
  132. },
  133. {
  134. "tcId" : 11,
  135. "comment" : "edge case on twist",
  136. "curve" : "curve25519",
  137. "public" : "0300000000000000000000000000000000000000000000000000000000000000",
  138. "private" : "9857a914e3c29036fd9a442ba526b5cdcdf28216153e636c10677acab6bd6aa5",
  139. "shared" : "4da4e0aa072c232ee2f0fa4e519ae50b52c1edd08a534d4ef346c2e106d21d60",
  140. "result" : "acceptable",
  141. "flags" : [
  142. "Twist"
  143. ]
  144. },
  145. {
  146. "tcId" : 12,
  147. "comment" : "edge case on twist",
  148. "curve" : "curve25519",
  149. "public" : "ffffff030000f8ffff1f0000c0ffffff000000feffff070000f0ffff3f000000",
  150. "private" : "48e2130d723305ed05e6e5894d398a5e33367a8c6aac8fcdf0a88e4b42820db7",
  151. "shared" : "9ed10c53747f647f82f45125d3de15a1e6b824496ab40410ffcc3cfe95760f3b",
  152. "result" : "acceptable",
  153. "flags" : [
  154. "Twist"
  155. ]
  156. },
  157. {
  158. "tcId" : 13,
  159. "comment" : "edge case on twist",
  160. "curve" : "curve25519",
  161. "public" : "000000fcffff070000e0ffff3f000000ffffff010000f8ffff0f0000c0ffff7f",
  162. "private" : "28f41011691851b3a62b641553b30d0dfddcb8fffcf53700a7be2f6a872e9fb0",
  163. "shared" : "cf72b4aa6aa1c9f894f4165b86109aa468517648e1f0cc70e1ab08460176506b",
  164. "result" : "acceptable",
  165. "flags" : [
  166. "Twist"
  167. ]
  168. },
  169. {
  170. "tcId" : 14,
  171. "comment" : "edge case on twist",
  172. "curve" : "curve25519",
  173. "public" : "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffff7f",
  174. "private" : "18a93b6499b9f6b3225ca02fef410e0adec23532321d2d8ef1a6d602a8c65b83",
  175. "shared" : "5d50b62836bb69579410386cf7bb811c14bf85b1c7b17e5924c7ffea91ef9e12",
  176. "result" : "acceptable",
  177. "flags" : [
  178. "Twist"
  179. ]
  180. },
  181. {
  182. "tcId" : 15,
  183. "comment" : "edge case on twist",
  184. "curve" : "curve25519",
  185. "public" : "eaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
  186. "private" : "c01d1305a1338a1fcac2ba7e2e032b427e0b04903165aca957d8d0553d8717b0",
  187. "shared" : "19230eb148d5d67c3c22ab1daeff80a57eae4265ce2872657b2c8099fc698e50",
  188. "result" : "acceptable",
  189. "flags" : [
  190. "Twist"
  191. ]
  192. },
  193. {
  194. "tcId" : 16,
  195. "comment" : "edge case for public key",
  196. "curve" : "curve25519",
  197. "public" : "0400000000000000000000000000000000000000000000000000000000000000",
  198. "private" : "386f7f16c50731d64f82e6a170b142a4e34f31fd7768fcb8902925e7d1e21abe",
  199. "shared" : "0fcab5d842a078d7a71fc59b57bfb4ca0be6873b49dcdb9f44e14ae8fbdfa542",
  200. "result" : "valid",
  201. "flags" : []
  202. },
  203. {
  204. "tcId" : 17,
  205. "comment" : "edge case for public key",
  206. "curve" : "curve25519",
  207. "public" : "ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000",
  208. "private" : "e023a289bd5e90fa2804ddc019a05ef3e79d434bb6ea2f522ecb643a75296e95",
  209. "shared" : "54ce8f2275c077e3b1306a3939c5e03eef6bbb88060544758d9fef59b0bc3e4f",
  210. "result" : "valid",
  211. "flags" : []
  212. },
  213. {
  214. "tcId" : 18,
  215. "comment" : "edge case for public key",
  216. "curve" : "curve25519",
  217. "public" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03",
  218. "private" : "68f010d62ee8d926053a361c3a75c6ea4ebdc8606ab285003a6f8f4076b01e83",
  219. "shared" : "f136775c5beb0af8110af10b20372332043cab752419678775a223df57c9d30d",
  220. "result" : "valid",
  221. "flags" : []
  222. },
  223. {
  224. "tcId" : 19,
  225. "comment" : "edge case for public key",
  226. "curve" : "curve25519",
  227. "public" : "fffffffbfffffbffffdfffffdffffffffefffffefffff7fffff7ffffbfffff3f",
  228. "private" : "58ebcb35b0f8845caf1ec630f96576b62c4b7b6c36b29deb2cb0084651755c96",
  229. "shared" : "bf9affd06b844085586460962ef2146ff3d4533d9444aab006eb88cc3054407d",
  230. "result" : "valid",
  231. "flags" : []
  232. },
  233. {
  234. "tcId" : 20,
  235. "comment" : "edge case for public key",
  236. "curve" : "curve25519",
  237. "public" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f",
  238. "private" : "188c4bc5b9c44b38bb658b9b2ae82d5b01015e093184b17cb7863503a783e1bb",
  239. "shared" : "d480de04f699cb3be0684a9cc2e31281ea0bc5a9dcc157d3d20158d46ca5246d",
  240. "result" : "valid",
  241. "flags" : []
  242. },
  243. {
  244. "tcId" : 21,
  245. "comment" : "edge case for public key",
  246. "curve" : "curve25519",
  247. "public" : "fffffffffeffff7ffffffffffeffff7ffffffffffeffff7ffffffffffeffff7f",
  248. "private" : "e06c11bb2e13ce3dc7673f67f5482242909423a9ae95ee986a988d98faee23a2",
  249. "shared" : "4c4401cce6b51e4cb18f2790246c9bf914db667750a1cb89069092af07292276",
  250. "result" : "valid",
  251. "flags" : []
  252. },
  253. {
  254. "tcId" : 22,
  255. "comment" : "edge case for public key",
  256. "curve" : "curve25519",
  257. "public" : "ebffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
  258. "private" : "c0658c46dde18129293877535b1162b6f9f5414a23cf4d2cbc140a4d99da2b8f",
  259. "shared" : "578ba8cc2dbdc575afcf9df2b3ee6189f5337d6854c79b4ce165ea12293b3a0f",
  260. "result" : "valid",
  261. "flags" : []
  262. },
  263. {
  264. "tcId" : 23,
  265. "comment" : "public key with low order",
  266. "curve" : "curve25519",
  267. "public" : "e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800",
  268. "private" : "10255c9230a97a30a458ca284a629669293a31890cda9d147febc7d1e22d6bb1",
  269. "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
  270. "result" : "acceptable",
  271. "flags" : [
  272. "LowOrderPublic"
  273. ]
  274. },
  275. {
  276. "tcId" : 24,
  277. "comment" : "public key with low order",
  278. "curve" : "curve25519",
  279. "public" : "5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f1157",
  280. "private" : "78f1e8edf14481b389448dac8f59c70b038e7cf92ef2c7eff57a72466e115296",
  281. "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
  282. "result" : "acceptable",
  283. "flags" : [
  284. "LowOrderPublic"
  285. ]
  286. },
  287. {
  288. "tcId" : 25,
  289. "comment" : "public key with low order",
  290. "curve" : "curve25519",
  291. "public" : "ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
  292. "private" : "a0a05a3e8f9f44204d5f8059a94ac7dfc39a49ac016dd743dbfa43c5d671fd88",
  293. "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
  294. "result" : "acceptable",
  295. "flags" : [
  296. "LowOrderPublic"
  297. ]
  298. },
  299. {
  300. "tcId" : 26,
  301. "comment" : "public key with low order",
  302. "curve" : "curve25519",
  303. "public" : "edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
  304. "private" : "d0dbb3ed1906663f15420af31f4eaf6509d9a9949723500605ad7c1c6e7450a9",
  305. "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
  306. "result" : "acceptable",
  307. "flags" : [
  308. "LowOrderPublic"
  309. ]
  310. },
  311. {
  312. "tcId" : 27,
  313. "comment" : "public key with low order",
  314. "curve" : "curve25519",
  315. "public" : "eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
  316. "private" : "c0b1d0eb22b244fe3291140072cdd9d989b5f0ecd96c100feb5bca241c1d9f8f",
  317. "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
  318. "result" : "acceptable",
  319. "flags" : [
  320. "LowOrderPublic"
  321. ]
  322. },
  323. {
  324. "tcId" : 28,
  325. "comment" : "public key with low order",
  326. "curve" : "curve25519",
  327. "public" : "0000000000000000000000000000000000000000000000000000000000000080",
  328. "private" : "480bf45f594942a8bc0f3353c6e8b8853d77f351f1c2ca6c2d1abf8a00b4229c",
  329. "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
  330. "result" : "acceptable",
  331. "flags" : [
  332. "LowOrderPublic"
  333. ]
  334. },
  335. {
  336. "tcId" : 29,
  337. "comment" : "public key with low order",
  338. "curve" : "curve25519",
  339. "public" : "0100000000000000000000000000000000000000000000000000000000000080",
  340. "private" : "30f993fcf8514fc89bd8db14cd43ba0d4b2530e73c4276a05e1b145d420cedb4",
  341. "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
  342. "result" : "acceptable",
  343. "flags" : [
  344. "LowOrderPublic"
  345. ]
  346. },
  347. {
  348. "tcId" : 30,
  349. "comment" : "public key with low order",
  350. "curve" : "curve25519",
  351. "public" : "e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b880",
  352. "private" : "c04974b758380e2a5b5df6eb09bb2f6b3434f982722a8e676d3da251d1b3de83",
  353. "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
  354. "result" : "acceptable",
  355. "flags" : [
  356. "LowOrderPublic"
  357. ]
  358. },
  359. {
  360. "tcId" : 31,
  361. "comment" : "public key with low order",
  362. "curve" : "curve25519",
  363. "public" : "5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f11d7",
  364. "private" : "502a31373db32446842fe5add3e024022ea54f274182afc3d9f1bb3d39534eb5",
  365. "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
  366. "result" : "acceptable",
  367. "flags" : [
  368. "LowOrderPublic"
  369. ]
  370. },
  371. {
  372. "tcId" : 32,
  373. "comment" : "public key with low order",
  374. "curve" : "curve25519",
  375. "public" : "ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
  376. "private" : "90fa6417b0e37030fd6e43eff2abaef14c6793117a039cf621318ba90f4e98be",
  377. "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
  378. "result" : "acceptable",
  379. "flags" : [
  380. "LowOrderPublic"
  381. ]
  382. },
  383. {
  384. "tcId" : 33,
  385. "comment" : "public key with low order",
  386. "curve" : "curve25519",
  387. "public" : "edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
  388. "private" : "78ad3f26027f1c9fdd975a1613b947779bad2cf2b741ade01840885a30bb979c",
  389. "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
  390. "result" : "acceptable",
  391. "flags" : [
  392. "LowOrderPublic"
  393. ]
  394. },
  395. {
  396. "tcId" : 34,
  397. "comment" : "public key with low order",
  398. "curve" : "curve25519",
  399. "public" : "eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
  400. "private" : "98e23de7b1e0926ed9c87e7b14baf55f497a1d7096f93977680e44dc1c7b7b8b",
  401. "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
  402. "result" : "acceptable",
  403. "flags" : [
  404. "LowOrderPublic"
  405. ]
  406. },
  407. {
  408. "tcId" : 35,
  409. "comment" : "public key with low order",
  410. "curve" : "curve25519",
  411. "public" : "0000000000000000000000000000000000000000000000000000000000000000",
  412. "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
  413. "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
  414. "result" : "acceptable",
  415. "flags" : []
  416. },
  417. {
  418. "tcId" : 36,
  419. "comment" : "public key with low order",
  420. "curve" : "curve25519",
  421. "public" : "0100000000000000000000000000000000000000000000000000000000000000",
  422. "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
  423. "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
  424. "result" : "acceptable",
  425. "flags" : []
  426. },
  427. {
  428. "tcId" : 37,
  429. "comment" : "public key with low order",
  430. "curve" : "curve25519",
  431. "public" : "ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
  432. "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
  433. "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
  434. "result" : "acceptable",
  435. "flags" : []
  436. },
  437. {
  438. "tcId" : 38,
  439. "comment" : "public key with low order",
  440. "curve" : "curve25519",
  441. "public" : "5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f1157",
  442. "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
  443. "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
  444. "result" : "acceptable",
  445. "flags" : []
  446. },
  447. {
  448. "tcId" : 39,
  449. "comment" : "public key with low order",
  450. "curve" : "curve25519",
  451. "public" : "e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800",
  452. "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
  453. "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
  454. "result" : "acceptable",
  455. "flags" : []
  456. },
  457. {
  458. "tcId" : 40,
  459. "comment" : "public key with low order",
  460. "curve" : "curve25519",
  461. "public" : "edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
  462. "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
  463. "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
  464. "result" : "acceptable",
  465. "flags" : []
  466. },
  467. {
  468. "tcId" : 41,
  469. "comment" : "public key with low order",
  470. "curve" : "curve25519",
  471. "public" : "eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
  472. "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
  473. "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
  474. "result" : "acceptable",
  475. "flags" : []
  476. },
  477. {
  478. "tcId" : 42,
  479. "comment" : "public key with low order",
  480. "curve" : "curve25519",
  481. "public" : "0000000000000000000000000000000000000000000000000000000000000080",
  482. "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
  483. "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
  484. "result" : "acceptable",
  485. "flags" : []
  486. },
  487. {
  488. "tcId" : 43,
  489. "comment" : "public key with low order",
  490. "curve" : "curve25519",
  491. "public" : "0100000000000000000000000000000000000000000000000000000000000080",
  492. "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
  493. "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
  494. "result" : "acceptable",
  495. "flags" : []
  496. },
  497. {
  498. "tcId" : 44,
  499. "comment" : "public key with low order",
  500. "curve" : "curve25519",
  501. "public" : "ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
  502. "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
  503. "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
  504. "result" : "acceptable",
  505. "flags" : []
  506. },
  507. {
  508. "tcId" : 45,
  509. "comment" : "public key with low order",
  510. "curve" : "curve25519",
  511. "public" : "5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f11d7",
  512. "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
  513. "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
  514. "result" : "acceptable",
  515. "flags" : []
  516. },
  517. {
  518. "tcId" : 46,
  519. "comment" : "public key with low order",
  520. "curve" : "curve25519",
  521. "public" : "e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b880",
  522. "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
  523. "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
  524. "result" : "acceptable",
  525. "flags" : []
  526. },
  527. {
  528. "tcId" : 47,
  529. "comment" : "public key with low order",
  530. "curve" : "curve25519",
  531. "public" : "edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
  532. "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
  533. "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
  534. "result" : "acceptable",
  535. "flags" : []
  536. },
  537. {
  538. "tcId" : 48,
  539. "comment" : "public key with low order",
  540. "curve" : "curve25519",
  541. "public" : "eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
  542. "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
  543. "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
  544. "result" : "acceptable",
  545. "flags" : []
  546. },
  547. {
  548. "tcId" : 49,
  549. "comment" : "public key >= p",
  550. "curve" : "curve25519",
  551. "public" : "efffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
  552. "private" : "f01e48dafac9d7bcf589cbc382c878d18bda3550589ffb5d50b523bebe329dae",
  553. "shared" : "bd36a0790eb883098c988b21786773de0b3a4df162282cf110de18dd484ce74b",
  554. "result" : "acceptable",
  555. "flags" : []
  556. },
  557. {
  558. "tcId" : 50,
  559. "comment" : "public key >= p",
  560. "curve" : "curve25519",
  561. "public" : "f0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
  562. "private" : "288796bc5aff4b81a37501757bc0753a3c21964790d38699308debc17a6eaf8d",
  563. "shared" : "b4e0dd76da7b071728b61f856771aa356e57eda78a5b1655cc3820fb5f854c5c",
  564. "result" : "acceptable",
  565. "flags" : []
  566. },
  567. {
  568. "tcId" : 51,
  569. "comment" : "public key >= p",
  570. "curve" : "curve25519",
  571. "public" : "f1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
  572. "private" : "98df845f6651bf1138221f119041f72b6dbc3c4ace7143d99fd55ad867480da8",
  573. "shared" : "6fdf6c37611dbd5304dc0f2eb7c9517eb3c50e12fd050ac6dec27071d4bfc034",
  574. "result" : "acceptable",
  575. "flags" : []
  576. },
  577. {
  578. "tcId" : 52,
  579. "comment" : "public key >= p",
  580. "curve" : "curve25519",
  581. "public" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
  582. "private" : "f09498e46f02f878829e78b803d316a2ed695d0498a08abdf8276930e24edcb0",
  583. "shared" : "4c8fc4b1c6ab88fb21f18f6d4c810240d4e94651ba44f7a2c863cec7dc56602d",
  584. "result" : "acceptable",
  585. "flags" : []
  586. },
  587. {
  588. "tcId" : 53,
  589. "comment" : "public key >= p",
  590. "curve" : "curve25519",
  591. "public" : "0200000000000000000000000000000000000000000000000000000000000080",
  592. "private" : "1813c10a5c7f21f96e17f288c0cc37607c04c5f5aea2db134f9e2ffc66bd9db8",
  593. "shared" : "1cd0b28267dc541c642d6d7dca44a8b38a63736eef5c4e6501ffbbb1780c033c",
  594. "result" : "acceptable",
  595. "flags" : []
  596. },
  597. {
  598. "tcId" : 54,
  599. "comment" : "public key >= p",
  600. "curve" : "curve25519",
  601. "public" : "0300000000000000000000000000000000000000000000000000000000000080",
  602. "private" : "7857fb808653645a0beb138a64f5f4d733a45ea84c3cda11a9c06f7e7139149e",
  603. "shared" : "8755be01c60a7e825cff3e0e78cb3aa4333861516aa59b1c51a8b2a543dfa822",
  604. "result" : "acceptable",
  605. "flags" : []
  606. },
  607. {
  608. "tcId" : 55,
  609. "comment" : "public key >= p",
  610. "curve" : "curve25519",
  611. "public" : "0400000000000000000000000000000000000000000000000000000000000080",
  612. "private" : "e03aa842e2abc56e81e87b8b9f417b2a1e5913c723eed28d752f8d47a59f498f",
  613. "shared" : "54c9a1ed95e546d27822a360931dda60a1df049da6f904253c0612bbdc087476",
  614. "result" : "acceptable",
  615. "flags" : []
  616. },
  617. {
  618. "tcId" : 56,
  619. "comment" : "public key >= p",
  620. "curve" : "curve25519",
  621. "public" : "daffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
  622. "private" : "f8f707b7999b18cb0d6b96124f2045972ca274bfc154ad0c87038c24c6d0d4b2",
  623. "shared" : "cc1f40d743cdc2230e1043daba8b75e810f1fbab7f255269bd9ebb29e6bf494f",
  624. "result" : "acceptable",
  625. "flags" : []
  626. },
  627. {
  628. "tcId" : 57,
  629. "comment" : "public key >= p",
  630. "curve" : "curve25519",
  631. "public" : "dbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
  632. "private" : "a034f684fa631e1a348118c1ce4c98231f2d9eec9ba5365b4a05d69a785b0796",
  633. "shared" : "54998ee43a5b007bf499f078e736524400a8b5c7e9b9b43771748c7cdf880412",
  634. "result" : "acceptable",
  635. "flags" : []
  636. },
  637. {
  638. "tcId" : 58,
  639. "comment" : "public key >= p",
  640. "curve" : "curve25519",
  641. "public" : "dcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
  642. "private" : "30b6c6a0f2ffa680768f992ba89e152d5bc9893d38c9119be4f767bfab6e0ca5",
  643. "shared" : "ead9b38efdd723637934e55ab717a7ae09eb86a21dc36a3feeb88b759e391e09",
  644. "result" : "acceptable",
  645. "flags" : []
  646. },
  647. {
  648. "tcId" : 59,
  649. "comment" : "public key >= p",
  650. "curve" : "curve25519",
  651. "public" : "eaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
  652. "private" : "901b9dcf881e01e027575035d40b43bdc1c5242e030847495b0c7286469b6591",
  653. "shared" : "602ff40789b54b41805915fe2a6221f07a50ffc2c3fc94cf61f13d7904e88e0e",
  654. "result" : "acceptable",
  655. "flags" : []
  656. },
  657. {
  658. "tcId" : 60,
  659. "comment" : "public key >= p",
  660. "curve" : "curve25519",
  661. "public" : "ebffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
  662. "private" : "8046677c28fd82c9a1bdb71a1a1a34faba1225e2507fe3f54d10bd5b0d865f8e",
  663. "shared" : "e00ae8b143471247ba24f12c885536c3cb981b58e1e56b2baf35c12ae1f79c26",
  664. "result" : "acceptable",
  665. "flags" : []
  666. },
  667. {
  668. "tcId" : 61,
  669. "comment" : "public key >= p",
  670. "curve" : "curve25519",
  671. "public" : "efffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
  672. "private" : "602f7e2f68a846b82cc269b1d48e939886ae54fd636c1fe074d710127d472491",
  673. "shared" : "98cb9b50dd3fc2b0d4f2d2bf7c5cfdd10c8fcd31fc40af1ad44f47c131376362",
  674. "result" : "acceptable",
  675. "flags" : []
  676. },
  677. {
  678. "tcId" : 62,
  679. "comment" : "public key >= p",
  680. "curve" : "curve25519",
  681. "public" : "f0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
  682. "private" : "60887b3dc72443026ebedbbbb70665f42b87add1440e7768fbd7e8e2ce5f639d",
  683. "shared" : "38d6304c4a7e6d9f7959334fb5245bd2c754525d4c91db950206926234c1f633",
  684. "result" : "acceptable",
  685. "flags" : []
  686. },
  687. {
  688. "tcId" : 63,
  689. "comment" : "public key >= p",
  690. "curve" : "curve25519",
  691. "public" : "f1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
  692. "private" : "78d31dfa854497d72d8def8a1b7fb006cec2d8c4924647c93814ae56faeda495",
  693. "shared" : "786cd54996f014a5a031ec14db812ed08355061fdb5de680a800ac521f318e23",
  694. "result" : "acceptable",
  695. "flags" : []
  696. },
  697. {
  698. "tcId" : 64,
  699. "comment" : "public key >= p",
  700. "curve" : "curve25519",
  701. "public" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
  702. "private" : "c04c5baefa8302ddded6a4bb957761b4eb97aefa4fc3b8043085f96a5659b3a5",
  703. "shared" : "29ae8bc73e9b10a08b4f681c43c3e0ac1a171d31b38f1a48efba29ae639ea134",
  704. "result" : "acceptable",
  705. "flags" : []
  706. },
  707. {
  708. "tcId" : 65,
  709. "comment" : "RFC 7748",
  710. "curve" : "curve25519",
  711. "public" : "e6db6867583030db3594c1a424b15f7c726624ec26b3353b10a903a6d0ab1c4c",
  712. "private" : "a046e36bf0527c9d3b16154b82465edd62144c0ac1fc5a18506a2244ba449a44",
  713. "shared" : "c3da55379de9c6908e94ea4df28d084f32eccf03491c71f754b4075577a28552",
  714. "result" : "valid",
  715. "flags" : []
  716. },
  717. {
  718. "tcId" : 66,
  719. "comment" : "RFC 7748",
  720. "curve" : "curve25519",
  721. "public" : "e5210f12786811d3f4b7959d0538ae2c31dbe7106fc03c3efc4cd549c715a413",
  722. "private" : "4866e9d4d1b4673c5ad22691957d6af5c11b6421e0ea01d42ca4169e7918ba4d",
  723. "shared" : "95cbde9476e8907d7aade45cb4b873f88b595a68799fa152e6f8f7647aac7957",
  724. "result" : "valid",
  725. "flags" : []
  726. },
  727. {
  728. "tcId" : 67,
  729. "comment" : "edge case for shared secret",
  730. "curve" : "curve25519",
  731. "public" : "0ab4e76380d84dde4f6833c58f2a9fb8f83bb0169b172be4b6e0592887741a36",
  732. "private" : "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63",
  733. "shared" : "0200000000000000000000000000000000000000000000000000000000000000",
  734. "result" : "acceptable",
  735. "flags" : [
  736. "Twist"
  737. ]
  738. },
  739. {
  740. "tcId" : 68,
  741. "comment" : "edge case for shared secret",
  742. "curve" : "curve25519",
  743. "public" : "89e10d5701b4337d2d032181538b1064bd4084401ceca1fd12663a1959388000",
  744. "private" : "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63",
  745. "shared" : "0900000000000000000000000000000000000000000000000000000000000000",
  746. "result" : "valid",
  747. "flags" : []
  748. },
  749. {
  750. "tcId" : 69,
  751. "comment" : "edge case for shared secret",
  752. "curve" : "curve25519",
  753. "public" : "2b55d3aa4a8f80c8c0b2ae5f933e85af49beac36c2fa7394bab76c8933f8f81d",
  754. "private" : "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63",
  755. "shared" : "1000000000000000000000000000000000000000000000000000000000000000",
  756. "result" : "valid",
  757. "flags" : []
  758. },
  759. {
  760. "tcId" : 70,
  761. "comment" : "edge case for shared secret",
  762. "curve" : "curve25519",
  763. "public" : "63e5b1fe9601fe84385d8866b0421262f78fbfa5aff9585e626679b18547d959",
  764. "private" : "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63",
  765. "shared" : "feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f",
  766. "result" : "acceptable",
  767. "flags" : [
  768. "Twist"
  769. ]
  770. },
  771. {
  772. "tcId" : 71,
  773. "comment" : "edge case for shared secret",
  774. "curve" : "curve25519",
  775. "public" : "e428f3dac17809f827a522ce32355058d07369364aa78902ee10139b9f9dd653",
  776. "private" : "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63",
  777. "shared" : "fcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f",
  778. "result" : "valid",
  779. "flags" : []
  780. },
  781. {
  782. "tcId" : 72,
  783. "comment" : "edge case for shared secret",
  784. "curve" : "curve25519",
  785. "public" : "b3b50e3ed3a407b95de942ef74575b5ab8a10c09ee103544d60bdfed8138ab2b",
  786. "private" : "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63",
  787. "shared" : "f9ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f",
  788. "result" : "acceptable",
  789. "flags" : [
  790. "Twist"
  791. ]
  792. },
  793. {
  794. "tcId" : 73,
  795. "comment" : "edge case for shared secret",
  796. "curve" : "curve25519",
  797. "public" : "213fffe93d5ea8cd242e462844029922c43c77c9e3e42f562f485d24c501a20b",
  798. "private" : "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63",
  799. "shared" : "f3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f",
  800. "result" : "valid",
  801. "flags" : []
  802. },
  803. {
  804. "tcId" : 74,
  805. "comment" : "edge case for shared secret",
  806. "curve" : "curve25519",
  807. "public" : "91b232a178b3cd530932441e6139418f72172292f1da4c1834fc5ebfefb51e3f",
  808. "private" : "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63",
  809. "shared" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03",
  810. "result" : "valid",
  811. "flags" : []
  812. },
  813. {
  814. "tcId" : 75,
  815. "comment" : "edge case for shared secret",
  816. "curve" : "curve25519",
  817. "public" : "045c6e11c5d332556c7822fe94ebf89b56a3878dc27ca079103058849fabcb4f",
  818. "private" : "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63",
  819. "shared" : "e5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
  820. "result" : "acceptable",
  821. "flags" : [
  822. "Twist"
  823. ]
  824. },
  825. {
  826. "tcId" : 76,
  827. "comment" : "edge case for shared secret",
  828. "curve" : "curve25519",
  829. "public" : "1ca2190b71163539063c35773bda0c9c928e9136f0620aeb093f099197b7f74e",
  830. "private" : "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63",
  831. "shared" : "e3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
  832. "result" : "acceptable",
  833. "flags" : [
  834. "Twist"
  835. ]
  836. },
  837. {
  838. "tcId" : 77,
  839. "comment" : "edge case for shared secret",
  840. "curve" : "curve25519",
  841. "public" : "f76e9010ac33c5043b2d3b76a842171000c4916222e9e85897a0aec7f6350b3c",
  842. "private" : "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63",
  843. "shared" : "ddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
  844. "result" : "valid",
  845. "flags" : []
  846. },
  847. {
  848. "tcId" : 78,
  849. "comment" : "edge case for shared secret",
  850. "curve" : "curve25519",
  851. "public" : "bb72688d8f8aa7a39cd6060cd5c8093cdec6fe341937c3886a99346cd07faa55",
  852. "private" : "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63",
  853. "shared" : "dbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
  854. "result" : "acceptable",
  855. "flags" : [
  856. "Twist"
  857. ]
  858. },
  859. {
  860. "tcId" : 79,
  861. "comment" : "edge case for shared secret",
  862. "curve" : "curve25519",
  863. "public" : "88fddea193391c6a5933ef9b71901549447205aae9da928a6b91a352ba10f41f",
  864. "private" : "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63",
  865. "shared" : "0000000000000000000000000000000000000000000000000000000000000002",
  866. "result" : "acceptable",
  867. "flags" : [
  868. "Twist"
  869. ]
  870. },
  871. {
  872. "tcId" : 80,
  873. "comment" : "edge case for shared secret",
  874. "curve" : "curve25519",
  875. "public" : "303b392f153116cad9cc682a00ccc44c95ff0d3bbe568beb6c4e739bafdc2c68",
  876. "private" : "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63",
  877. "shared" : "0000000000000000000000000000000000000000000000000000000000008000",
  878. "result" : "acceptable",
  879. "flags" : [
  880. "Twist"
  881. ]
  882. },
  883. {
  884. "tcId" : 81,
  885. "comment" : "checking for overflow",
  886. "curve" : "curve25519",
  887. "public" : "fd300aeb40e1fa582518412b49b208a7842b1e1f056a040178ea4141534f652d",
  888. "private" : "c81724704000b26d31703cc97e3a378d56fad8219361c88cca8bd7c5719b12b2",
  889. "shared" : "b734105dc257585d73b566ccb76f062795ccbec89128e52b02f3e59639f13c46",
  890. "result" : "valid",
  891. "flags" : []
  892. },
  893. {
  894. "tcId" : 82,
  895. "comment" : "checking for overflow",
  896. "curve" : "curve25519",
  897. "public" : "c8ef79b514d7682677bc7931e06ee5c27c9b392b4ae9484473f554e6678ecc2e",
  898. "private" : "c81724704000b26d31703cc97e3a378d56fad8219361c88cca8bd7c5719b12b2",
  899. "shared" : "647a46b6fc3f40d62141ee3cee706b4d7a9271593a7b143e8e2e2279883e4550",
  900. "result" : "valid",
  901. "flags" : []
  902. },
  903. {
  904. "tcId" : 83,
  905. "comment" : "checking for overflow",
  906. "curve" : "curve25519",
  907. "public" : "64aeac2504144861532b7bbcb6c87d67dd4c1f07ebc2e06effb95aecc6170b2c",
  908. "private" : "c81724704000b26d31703cc97e3a378d56fad8219361c88cca8bd7c5719b12b2",
  909. "shared" : "4ff03d5fb43cd8657a3cf37c138cadcecce509e4eba089d0ef40b4e4fb946155",
  910. "result" : "valid",
  911. "flags" : []
  912. },
  913. {
  914. "tcId" : 84,
  915. "comment" : "checking for overflow",
  916. "curve" : "curve25519",
  917. "public" : "bf68e35e9bdb7eee1b50570221860f5dcdad8acbab031b14974cc49013c49831",
  918. "private" : "c81724704000b26d31703cc97e3a378d56fad8219361c88cca8bd7c5719b12b2",
  919. "shared" : "21cee52efdbc812e1d021a4af1e1d8bc4db3c400e4d2a2c56a3926db4d99c65b",
  920. "result" : "valid",
  921. "flags" : []
  922. },
  923. {
  924. "tcId" : 85,
  925. "comment" : "checking for overflow",
  926. "curve" : "curve25519",
  927. "public" : "5347c491331a64b43ddc683034e677f53dc32b52a52a577c15a83bf298e99f19",
  928. "private" : "c81724704000b26d31703cc97e3a378d56fad8219361c88cca8bd7c5719b12b2",
  929. "shared" : "18cb89e4e20c0c2bd324305245266c9327690bbe79acb88f5b8fb3f74eca3e52",
  930. "result" : "valid",
  931. "flags" : []
  932. },
  933. {
  934. "tcId" : 86,
  935. "comment" : "private key == -1 (mod order)",
  936. "curve" : "curve25519",
  937. "public" : "258e04523b8d253ee65719fc6906c657192d80717edc828fa0af21686e2faa75",
  938. "private" : "a023cdd083ef5bb82f10d62e59e15a6800000000000000000000000000000050",
  939. "shared" : "258e04523b8d253ee65719fc6906c657192d80717edc828fa0af21686e2faa75",
  940. "result" : "valid",
  941. "flags" : []
  942. },
  943. {
  944. "tcId" : 87,
  945. "comment" : "private key == 1 (mod order) on twist",
  946. "curve" : "curve25519",
  947. "public" : "2eae5ec3dd494e9f2d37d258f873a8e6e9d0dbd1e383ef64d98bb91b3e0be035",
  948. "private" : "58083dd261ad91eff952322ec824c682ffffffffffffffffffffffffffffff5f",
  949. "shared" : "2eae5ec3dd494e9f2d37d258f873a8e6e9d0dbd1e383ef64d98bb91b3e0be035",
  950. "result" : "acceptable",
  951. "flags" : []
  952. }
  953. ]
  954. }
  955. ]
  956. }