evpmac.txt 59 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056
  1. #
  2. # Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved.
  3. #
  4. # Licensed under the Apache License 2.0 (the "License"). You may not use
  5. # this file except in compliance with the License. You can obtain a copy
  6. # in the file LICENSE in the source distribution or at
  7. # https://www.openssl.org/source/license.html
  8. # Tests start with one of these keywords
  9. # Cipher Decrypt Derive Digest Encoding KDF MAC PBE
  10. # PrivPubKeyPair Sign Verify VerifyRecover
  11. # and continue until a blank line. Lines starting with a pound sign,
  12. # like this prolog, are ignored.
  13. # SIPHASH tests - default values: 2,4 rounds, 16-byte mac
  14. # There are no official test vectors, they are simple vectors 1, 2, 3, etc
  15. Title = SIPHASH tests
  16. MAC = SipHash
  17. Key = 000102030405060708090A0B0C0D0E0F
  18. Input =
  19. Output = a3817f04ba25a8e66df67214c7550293
  20. MAC = SipHash
  21. Key = 000102030405060708090A0B0C0D0E0F
  22. Input = 00
  23. Output = da87c1d86b99af44347659119b22fc45
  24. MAC = SipHash
  25. Key = 000102030405060708090A0B0C0D0E0F
  26. Input = 0001
  27. Output = 8177228da4a45dc7fca38bdef60affe4
  28. MAC = SipHash
  29. Key = 000102030405060708090A0B0C0D0E0F
  30. Input = 000102
  31. Output = 9c70b60c5267a94e5f33b6b02985ed51
  32. MAC = SipHash
  33. Key = 000102030405060708090A0B0C0D0E0F
  34. Input = 00010203
  35. Output = f88164c12d9c8faf7d0f6e7c7bcd5579
  36. MAC = SipHash
  37. Key = 000102030405060708090A0B0C0D0E0F
  38. Input = 0001020304
  39. Output = 1368875980776f8854527a07690e9627
  40. MAC = SipHash
  41. Key = 000102030405060708090A0B0C0D0E0F
  42. Input = 000102030405
  43. Output = 14eeca338b208613485ea0308fd7a15e
  44. MAC = SipHash
  45. Key = 000102030405060708090A0B0C0D0E0F
  46. Input = 00010203040506
  47. Output = a1f1ebbed8dbc153c0b84aa61ff08239
  48. MAC = SipHash
  49. Key = 000102030405060708090A0B0C0D0E0F
  50. Input = 0001020304050607
  51. Output = 3b62a9ba6258f5610f83e264f31497b4
  52. MAC = SipHash
  53. Key = 000102030405060708090A0B0C0D0E0F
  54. Input = 000102030405060708
  55. Output = 264499060ad9baabc47f8b02bb6d71ed
  56. MAC = SipHash
  57. Key = 000102030405060708090A0B0C0D0E0F
  58. Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E
  59. Output = 5150d1772f50834a503e069a973fbd7c
  60. MAC = SipHash
  61. Key = 000102030405060708090A0B0C0D0E0F
  62. Input =
  63. Output = a3817f04ba25a8e66df67214c7550293
  64. MAC = SipHash
  65. Key = 000102030405060708090A0B0C0D0E0F
  66. Input = 00
  67. Output = da87c1d86b99af44347659119b22fc45
  68. MAC = SipHash
  69. Key = 000102030405060708090A0B0C0D0E0F
  70. Input = 0001
  71. Output = 8177228da4a45dc7fca38bdef60affe4
  72. MAC = SipHash
  73. Key = 000102030405060708090A0B0C0D0E0F
  74. Input = 000102
  75. Output = 9c70b60c5267a94e5f33b6b02985ed51
  76. MAC = SipHash
  77. Key = 000102030405060708090A0B0C0D0E0F
  78. Input = 00010203
  79. Output = f88164c12d9c8faf7d0f6e7c7bcd5579
  80. MAC = SipHash
  81. Key = 000102030405060708090A0B0C0D0E0F
  82. Input = 0001020304
  83. Output = 1368875980776f8854527a07690e9627
  84. MAC = SipHash
  85. Key = 000102030405060708090A0B0C0D0E0F
  86. Input = 000102030405
  87. Output = 14eeca338b208613485ea0308fd7a15e
  88. MAC = SipHash
  89. Key = 000102030405060708090A0B0C0D0E0F
  90. Input = 00010203040506
  91. Output = a1f1ebbed8dbc153c0b84aa61ff08239
  92. MAC = SipHash
  93. Key = 000102030405060708090A0B0C0D0E0F
  94. Input = 0001020304050607
  95. Output = 3b62a9ba6258f5610f83e264f31497b4
  96. MAC = SipHash by EVP_PKEY
  97. Key = 000102030405060708090A0B0C0D0E0F
  98. Input = 000102030405060708
  99. Output = 264499060ad9baabc47f8b02bb6d71ed
  100. MAC = SipHash
  101. Key = 000102030405060708090A0B0C0D0E0F
  102. Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E
  103. Output = 5150d1772f50834a503e069a973fbd7c
  104. # SIPHASH - default values: 2,4 rounds, explicit 8-byte mac
  105. MAC = SipHash
  106. Ctrl = digestsize:8
  107. Key = 000102030405060708090A0B0C0D0E0F
  108. Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E
  109. Output = 724506EB4C328A95
  110. # SIPHASH - default values: 2,4 rounds, explicit 16-byte mac
  111. MAC = SipHash
  112. Ctrl = digestsize:16
  113. Key = 000102030405060708090A0B0C0D0E0F
  114. Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E
  115. Output = 5150d1772f50834a503e069a973fbd7c
  116. # SIPHASH - default values: 2,4 rounds, explicit 16-byte mac (set as 0)
  117. MAC = SipHash
  118. Ctrl = digestsize:0
  119. Key = 000102030405060708090A0B0C0D0E0F
  120. Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E
  121. Output = 5150d1772f50834a503e069a973fbd7c
  122. # SIPHASH - default values: 2,4 rounds, explicit 13-byte mac (invalid size)
  123. MAC = SipHash
  124. Ctrl = digestsize:13
  125. Key = 000102030405060708090A0B0C0D0E0F
  126. Result = MAC_CTRL_ERROR
  127. # SIPHASH - default values: 2,4 rounds, explicit 13-byte mac (invalid size)
  128. # by EVP_PKEY this time
  129. MAC = SipHash by EVP_PKEY
  130. Ctrl = digestsize:13
  131. Key = 000102030405060708090A0B0C0D0E0F
  132. Result = EVPPKEYCTXCTRL_ERROR
  133. Title = Keyed BLAKE2 tests (Test vectors from reference implementation)
  134. MAC = BLAKE2BMAC
  135. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f
  136. Input =
  137. Output = 10ebb67700b1868efb4417987acf4690ae9d972fb7a590c2f02871799aaa4786b5e996e8f0f4eb981fc214b005f42d2ff4233499391653df7aefcbc13fc51568
  138. MAC = BLAKE2BMAC
  139. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f
  140. Input = 00
  141. Output = 961f6dd1e4dd30f63901690c512e78e4b45e4742ed197c3c5e45c549fd25f2e4187b0bc9fe30492b16b0d0bc4ef9b0f34c7003fac09a5ef1532e69430234cebd
  142. MAC = BLAKE2BMAC
  143. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f
  144. Input = 0001
  145. Output = da2cfbe2d8409a0f38026113884f84b50156371ae304c4430173d08a99d9fb1b983164a3770706d537f49e0c916d9f32b95cc37a95b99d857436f0232c88a965
  146. MAC = BLAKE2BMAC
  147. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f
  148. Input = 000102
  149. Output = 33d0825dddf7ada99b0e7e307104ad07ca9cfd9692214f1561356315e784f3e5a17e364ae9dbb14cb2036df932b77f4b292761365fb328de7afdc6d8998f5fc1
  150. MAC = BLAKE2BMAC
  151. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f
  152. Input = 00010203
  153. Output = beaa5a3d08f3807143cf621d95cd690514d0b49efff9c91d24b59241ec0eefa5f60196d407048bba8d2146828ebcb0488d8842fd56bb4f6df8e19c4b4daab8ac
  154. MAC = BLAKE2BMAC
  155. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f
  156. Input = 0001020304
  157. Output = 098084b51fd13deae5f4320de94a688ee07baea2800486689a8636117b46c1f4c1f6af7f74ae7c857600456a58a3af251dc4723a64cc7c0a5ab6d9cac91c20bb
  158. MAC = BLAKE2BMAC
  159. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f
  160. Input = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9
  161. Output = 1085d78307b1c4b008c57a2e7e5b234658a0a82e4ff1e4aaac72b312fda0fe27d233bc5b10e9cc17fdc7697b540c7d95eb215a19a1a0e20e1abfa126efd568c7
  162. MAC = BLAKE2BMAC
  163. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f
  164. Input = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fa
  165. Output = 4e5c734c7dde011d83eac2b7347b373594f92d7091b9ca34cb9c6f39bdf5a8d2f134379e16d822f6522170ccf2ddd55c84b9e6c64fc927ac4cf8dfb2a17701f2
  166. MAC = BLAKE2BMAC
  167. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f
  168. Input = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafb
  169. Output = 695d83bd990a1117b3d0ce06cc888027d12a054c2677fd82f0d4fbfc93575523e7991a5e35a3752e9b70ce62992e268a877744cdd435f5f130869c9a2074b338
  170. MAC = BLAKE2BMAC
  171. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f
  172. Input = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfc
  173. Output = a6213743568e3b3158b9184301f3690847554c68457cb40fc9a4b8cfd8d4a118c301a07737aeda0f929c68913c5f51c80394f53bff1c3e83b2e40ca97eba9e15
  174. MAC = BLAKE2BMAC
  175. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f
  176. Input = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfd
  177. Output = d444bfa2362a96df213d070e33fa841f51334e4e76866b8139e8af3bb3398be2dfaddcbc56b9146de9f68118dc5829e74b0c28d7711907b121f9161cb92b69a9
  178. MAC = BLAKE2BMAC
  179. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f
  180. Input = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfe
  181. Output = 142709d62e28fcccd0af97fad0f8465b971e82201dc51070faa0372aa43e92484be1c1e73ba10906d5d1853db6a4106e0a7bf9800d373d6dee2d46d62ef2a461
  182. MAC = BLAKE2SMAC
  183. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
  184. Input =
  185. Output = 48a8997da407876b3d79c0d92325ad3b89cbb754d86ab71aee047ad345fd2c49
  186. MAC = BLAKE2SMAC
  187. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
  188. Input = 00
  189. Output = 40d15fee7c328830166ac3f918650f807e7e01e177258cdc0a39b11f598066f1
  190. MAC = BLAKE2SMAC
  191. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
  192. Input = 0001
  193. Output = 6bb71300644cd3991b26ccd4d274acd1adeab8b1d7914546c1198bbe9fc9d803
  194. MAC = BLAKE2SMAC
  195. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
  196. Input = 000102
  197. Output = 1d220dbe2ee134661fdf6d9e74b41704710556f2f6e5a091b227697445dbea6b
  198. MAC = BLAKE2SMAC
  199. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
  200. Input = 00010203
  201. Output = f6c3fbadb4cc687a0064a5be6e791bec63b868ad62fba61b3757ef9ca52e05b2
  202. MAC = BLAKE2SMAC
  203. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
  204. Input = 0001020304
  205. Output = 49c1f21188dfd769aea0e911dd6b41f14dab109d2b85977aa3088b5c707e8598
  206. MAC = BLAKE2SMAC
  207. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
  208. Input = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9
  209. Output = 9fc5450109e1b779f6c7ae79d56c27635c8dd426c5a9d54e2578db989b8c3b4e
  210. MAC = BLAKE2SMAC
  211. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
  212. Input = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fa
  213. Output = d12bf3732ef4af5c22fa90356af8fc50fcb40f8f2ea5c8594737a3b3d5abdbd7
  214. MAC = BLAKE2SMAC
  215. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
  216. Input = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafb
  217. Output = 11030b9289bba5af65260672ab6fee88b87420acef4a1789a2073b7ec2f2a09e
  218. MAC = BLAKE2SMAC
  219. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
  220. Input = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfc
  221. Output = 69cb192b8444005c8c0ceb12c846860768188cda0aec27a9c8a55cdee2123632
  222. MAC = BLAKE2SMAC
  223. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
  224. Input = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfd
  225. Output = db444c15597b5f1a03d1f9edd16e4a9f43a667cc275175dfa2b704e3bb1a9b83
  226. MAC = BLAKE2SMAC
  227. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
  228. Input = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfe
  229. Output = 3fb735061abc519dfe979e54c1ee5bfad0a9d858b3315bad34bde999efd724dd
  230. Title = Custom keyed BLAKE2 tests
  231. MAC = BLAKE2BMAC
  232. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
  233. Custom = "email"
  234. Input = "Sample input for keylen<blocklen and custom"
  235. Output = fb7abee8f585b0d844a3c7db211b8f50a3a5de9bb20a560eb095d05430a60e83f3d44a84c84e8a8ef79eef694551418a05c7495d10aae051e9c63822dfa59e7c
  236. MAC = BLAKE2BMAC
  237. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
  238. Custom = "blockchain"
  239. Input = "Sample input for keylen<blocklen and custom"
  240. Output = b971503ceebaa26c98cb7722abaf019d74138d92ff5d82f91a7473ec641ae6811148bc1edbe9db9030fd9a8a965d7f35492d79f602be81f6e2d9b84abc819c62
  241. MAC = BLAKE2BMAC
  242. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
  243. Salt = a3a5de9b8fcccd0a560eb095a3638bb1
  244. Input = "Sample input for keylen<blocklen and salt"
  245. Output = a57e6f23123be251f4e8cd04d4313e50bfa2ed5a28a3685dc86398da78503d54a169faabcc186037418636af20718f20797fb883b83ab98f5b2d17ce185b615e
  246. MAC = BLAKE2BMAC
  247. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
  248. Salt = b4a5b8cd0a009561
  249. Input = "Sample input for keylen<blocklen and salt"
  250. Output = 709ee3733b179658d326fda6692e6761068d0044895252615bd2a19a14ad4da1ee6ddf613bdf1ae805f97809a140837640c4ce2fece1831b3ccd07544b0d36ab
  251. MAC = BLAKE2BMAC
  252. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
  253. Custom = "application"
  254. Salt = 000102030405060708090a0b0c0d0e0f
  255. Input = "Sample input for keylen<blocklen, salt and custom"
  256. Output = 233a6c732212f4813ec4c9f357e35297e59a652fd24155205f00363f7c54734ee1e8c7329d92116cbec62db35ebb5d51f9e5c2ba41789b84ac9ebc266918e524
  257. MAC = BLAKE2BMAC
  258. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
  259. Ctrl = outlen:128
  260. Result = MAC_CTRL_ERROR
  261. MAC = BLAKE2BMAC
  262. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
  263. Input = "Sample input for outlen<digest_length"
  264. Ctrl = outlen:1
  265. Output = 2a
  266. MAC = BLAKE2BMAC
  267. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
  268. Input = "Sample input for outlen<digest_length"
  269. Ctrl = outlen:32
  270. Output = 7fa43c7735fcacad9fce2b44bef37dba6501ab48c9397bedb5562a682e519793
  271. MAC = BLAKE2BMAC
  272. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
  273. Input = "Combo input with outlen, custom and salt"
  274. Custom = "application"
  275. Salt = 000102030405060708090a0b0c0d0e0f
  276. Ctrl = outlen:32
  277. Output = 51742fc491171eaf6b9459c8b93a44bbf8f44a0b4869a17fa178c8209918ad96
  278. MAC = BLAKE2SMAC
  279. Key = 000102030405060708090a0b0c0d0e0f
  280. Custom = "email"
  281. Input = "Sample input for keylen<blocklen and custom"
  282. Output = 099619607617f8767b278d6d76216b91794ea372c9fd3733a4a36e995a767987
  283. MAC = BLAKE2SMAC
  284. Key = 000102030405060708090a0b0c0d0e0f
  285. Custom = "database"
  286. Input = "Sample input for keylen<blocklen and custom"
  287. Output = afa468ff12d922c1bfdfe26b7d74f1041e7708e83ee7e128ce878f93e2852ad0
  288. MAC = BLAKE2SMAC
  289. Key = 000102030405060708090a0b0c0d0e0f
  290. Salt = a205819e78d6d762
  291. Input = "Sample input for keylen<blocklen and salt"
  292. Output = 29f7d780009ef8f001ec44088622f0752f6c360cda40e3c2181c4f7eacdd9dc6
  293. MAC = BLAKE2SMAC
  294. Key = 000102030405060708090a0b0c0d0e0f
  295. Salt = d6e437b2
  296. Input = "Sample input for keylen<blocklen and salt"
  297. Output = aa9dbb8bbad89ea35467f1ff995521121989eb6439f1263e04e87d63a9c2ef28
  298. MAC = BLAKE2SMAC
  299. Key = 000102030405060708090a0b0c0d0e0f
  300. Custom = "app"
  301. Salt = a205819e78d6d762
  302. Input = "Sample input for keylen<blocklen, salt and custom"
  303. Output = e9f7704dfe5080a4aafe62a806f53ea7f98ffc24175164158f18ec5497b961f5
  304. MAC = BLAKE2SMAC
  305. Key = 000102030405060708090a0b0c0d0e0f
  306. Ctrl = outlen:64
  307. Result = MAC_CTRL_ERROR
  308. MAC = BLAKE2SMAC
  309. Key = 000102030405060708090a0b0c0d0e0f
  310. Ctrl = outlen:16
  311. Input = "Sample input for outlen<digest_length"
  312. Output = a09fb3d513efc3ed58dd1264de3c59f5
  313. MAC = BLAKE2SMAC
  314. Key = 000102030405060708090a0b0c0d0e0f
  315. Ctrl = outlen:16
  316. Custom = "app"
  317. Salt = 0001020304050607
  318. Input = "Combo input with outlen, custom and salt"
  319. Output = 6808d8daae537a16bf00e837010969a4
  320. Title = HMAC tests (from RFC2104 and others)
  321. MAC = HMAC
  322. Algorithm = MD5
  323. Key = 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b
  324. Input = "Hi There"
  325. Output = 9294727a3638bb1c13f48ef8158bfc9d
  326. MAC = HMAC
  327. Algorithm = MD5
  328. Key = "Jefe"
  329. Input = "what do ya want for nothing?"
  330. Output = 750c783e6ab0b503eaa86e310a5db738
  331. MAC = HMAC
  332. Algorithm = MD5
  333. Key = AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  334. Input = DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
  335. Output = 56be34521d144c88dbb8c733f0e8b3f6
  336. Title = SHA1
  337. # HMAC tests from NIST test data
  338. MAC = HMAC
  339. Algorithm = SHA1
  340. Input = "Sample message for keylen=blocklen"
  341. Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F
  342. Output = 5FD596EE78D5553C8FF4E72D266DFD192366DA29
  343. MAC = HMAC
  344. Algorithm = SHA1
  345. Input = "Sample message for keylen<blocklen"
  346. Key = 000102030405060708090A0B0C0D0E0F10111213
  347. Output = 4C99FF0CB1B31BD33F8431DBAF4D17FCD356A807
  348. MAC = HMAC
  349. Algorithm = SHA1
  350. Input = "Sample message for keylen=blocklen"
  351. Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263
  352. Output = 2D51B2F7750E410584662E38F133435F4C4FD42A
  353. Title = SHA2
  354. MAC = HMAC
  355. Algorithm = SHA224
  356. Input = "Sample message for keylen=blocklen"
  357. Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F
  358. Output = C7405E3AE058E8CD30B08B4140248581ED174CB34E1224BCC1EFC81B
  359. MAC = HMAC
  360. Algorithm = SHA224
  361. Input = "Sample message for keylen<blocklen"
  362. Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B
  363. Output = E3D249A8CFB67EF8B7A169E9A0A599714A2CECBA65999A51BEB8FBBE
  364. MAC = HMAC
  365. Algorithm = SHA224
  366. Input = "Sample message for keylen=blocklen"
  367. Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263
  368. Output = 91C52509E5AF8531601AE6230099D90BEF88AAEFB961F4080ABC014D
  369. MAC = HMAC
  370. Algorithm = SHA256
  371. Input = "Sample message for keylen=blocklen"
  372. Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F
  373. Output = 8BB9A1DB9806F20DF7F77B82138C7914D174D59E13DC4D0169C9057B133E1D62
  374. MAC = HMAC
  375. Algorithm = SHA256
  376. Input = "Sample message for keylen<blocklen"
  377. Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
  378. Output = A28CF43130EE696A98F14A37678B56BCFCBDD9E5CF69717FECF5480F0EBDF790
  379. MAC = HMAC
  380. Algorithm = SHA256
  381. Input = "Sample message for keylen=blocklen"
  382. Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263
  383. Output = BDCCB6C72DDEADB500AE768386CB38CC41C63DBB0878DDB9C7A38A431B78378D
  384. MAC = HMAC
  385. Algorithm = SHA384
  386. Input = "Sample message for keylen=blocklen"
  387. Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F
  388. Output = 63C5DAA5E651847CA897C95814AB830BEDEDC7D25E83EEF9195CD45857A37F448947858F5AF50CC2B1B730DDF29671A9
  389. MAC = HMAC
  390. Algorithm = SHA384
  391. Input = "Sample message for keylen<blocklen"
  392. Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F
  393. Output = 6EB242BDBB582CA17BEBFA481B1E23211464D2B7F8C20B9FF2201637B93646AF5AE9AC316E98DB45D9CAE773675EEED0
  394. MAC = HMAC
  395. Algorithm = SHA384
  396. Input = "Sample message for keylen=blocklen"
  397. Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
  398. Output = 5B664436DF69B0CA22551231A3F0A3D5B4F97991713CFA84BFF4D0792EFF96C27DCCBBB6F79B65D548B40E8564CEF594
  399. MAC = HMAC
  400. Algorithm = SHA512
  401. Input = "Sample message for keylen=blocklen"
  402. Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F
  403. Output = FC25E240658CA785B7A811A8D3F7B4CA48CFA26A8A366BF2CD1F836B05FCB024BD36853081811D6CEA4216EBAD79DA1CFCB95EA4586B8A0CE356596A55FB1347
  404. MAC = HMAC
  405. Algorithm = SHA512
  406. Input = "Sample message for keylen<blocklen"
  407. Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F
  408. Output = FD44C18BDA0BB0A6CE0E82B031BF2818F6539BD56EC00BDC10A8A2D730B3634DE2545D639B0F2CF710D0692C72A1896F1F211C2B922D1A96C392E07E7EA9FEDC
  409. MAC = HMAC
  410. Algorithm = SHA512
  411. Input = "Sample message for keylen=blocklen"
  412. Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
  413. Output = D93EC8D2DE1AD2A9957CB9B83F14E76AD6B5E0CCE285079A127D3B14BCCB7AA7286D4AC0D4CE64215F2BC9E6870B33D97438BE4AAA20CDA5C5A912B48B8E27F3
  414. Title = SHA3
  415. # NIST's test vectors
  416. MAC = HMAC
  417. Algorithm = SHA3-224
  418. Input = "Sample message for keylen<blocklen"
  419. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b
  420. Output = 332cfd59347fdb8e576e77260be4aba2d6dc53117b3bfb52c6d18c04
  421. MAC = HMAC
  422. Algorithm = SHA3-224
  423. Input = "Sample message for keylen=blocklen"
  424. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f
  425. Output = d8b733bcf66c644a12323d564e24dcf3fc75f231f3b67968359100c7
  426. MAC = HMAC
  427. Algorithm = SHA3-224
  428. Input = "Sample message for keylen>blocklen"
  429. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaab
  430. Output = 078695eecc227c636ad31d063a15dd05a7e819a66ec6d8de1e193e59
  431. MAC = HMAC
  432. Algorithm = SHA3-256
  433. Input = "Sample message for keylen<blocklen"
  434. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
  435. Output = 4fe8e202c4f058e8dddc23d8c34e467343e23555e24fc2f025d598f558f67205
  436. MAC = HMAC
  437. Algorithm = SHA3-256
  438. Input = "Sample message for keylen=blocklen"
  439. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081828384858687
  440. Output = 68b94e2e538a9be4103bebb5aa016d47961d4d1aa906061313b557f8af2c3faa
  441. MAC = HMAC
  442. Algorithm = SHA3-256
  443. Input = "Sample message for keylen>blocklen"
  444. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7
  445. Output = 9bcf2c238e235c3ce88404e813bd2f3a97185ac6f238c63d6229a00b07974258
  446. MAC = HMAC
  447. Algorithm = SHA3-384
  448. Input = "Sample message for keylen<blocklen"
  449. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f
  450. Output = d588a3c51f3f2d906e8298c1199aa8ff6296218127f6b38a90b6afe2c5617725bc99987f79b22a557b6520db710b7f42
  451. MAC = HMAC
  452. Algorithm = SHA3-384
  453. Input = "Sample message for keylen=blocklen"
  454. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364656667
  455. Output = a27d24b592e8c8cbf6d4ce6fc5bf62d8fc98bf2d486640d9eb8099e24047837f5f3bffbe92dcce90b4ed5b1e7e44fa90
  456. MAC = HMAC
  457. Algorithm = SHA3-384
  458. Input = "Sample message for keylen>blocklen"
  459. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f9091929394959697
  460. Output = e5ae4c739f455279368ebf36d4f5354c95aa184c899d3870e460ebc288ef1f9470053f73f7c6da2a71bcaec38ce7d6ac
  461. MAC = HMAC
  462. Algorithm = SHA3-512
  463. Input = "Sample message for keylen<blocklen"
  464. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f
  465. Output = 4efd629d6c71bf86162658f29943b1c308ce27cdfa6db0d9c3ce81763f9cbce5f7ebe9868031db1a8f8eb7b6b95e5c5e3f657a8996c86a2f6527e307f0213196
  466. MAC = HMAC
  467. Algorithm = SHA3-512
  468. Input = "Sample message for keylen=blocklen"
  469. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f4041424344454647
  470. Output = 544e257ea2a3e5ea19a590e6a24b724ce6327757723fe2751b75bf007d80f6b360744bf1b7a88ea585f9765b47911976d3191cf83c039f5ffab0d29cc9d9b6da
  471. MAC = HMAC by EVP_PKEY
  472. Algorithm = SHA3-512
  473. Input = "Sample message for keylen>blocklen"
  474. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081828384858687
  475. Output = 5f464f5e5b7848e3885e49b2c385f0694985d0e38966242dc4a5fe3fea4b37d46b65ceced5dcf59438dd840bab22269f0ba7febdb9fcf74602a35666b2a32915
  476. Title = HMAC self generated tests
  477. MAC = HMAC
  478. Algorithm = SHAKE128
  479. Input = "Test that SHAKE128 fails"
  480. Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
  481. Result = MAC_CTRL_ERROR
  482. Title = CMAC tests (from FIPS module)
  483. MAC = CMAC
  484. Algorithm = AES-128-CBC
  485. Key = 77A77FAF290C1FA30C683DF16BA7A77B
  486. Input = 020683E1F0392F4CAC54318B6029259E9C553DBC4B6AD998E64D58E4E7DC2E13
  487. Output = FBFEA41BF9740CB501F1292C21CEBB40
  488. MAC = CMAC by EVP_PKEY
  489. Algorithm = AES-192-CBC
  490. Key = 7B32391369AA4CA97558095BE3C3EC862BD057CEF1E32D62
  491. Input =
  492. Output = E4D9340B03E67DEFD4969CC1ED3735E6
  493. MAC = CMAC
  494. Algorithm = AES-256-CBC
  495. Key = 0B122AC8F34ED1FE082A3625D157561454167AC145A10BBF77C6A70596D574F1
  496. Input = 498B53FDEC87EDCBF07097DCCDE93A084BAD7501A224E388DF349CE18959FE8485F8AD1537F0D896EA73BEDC7214713F
  497. Output = F62C46329B41085625669BAF51DEA66A
  498. MAC = CMAC
  499. Algorithm = DES-EDE3-CBC
  500. Key = 89BCD952A8C8AB371AF48AC7D07085D5EFF702E6D62CDC23
  501. Input = FA620C1BBE97319E9A0CF0492121F7A20EB08A6A709DCBD00AAF38E4F99E754E
  502. Output = 8F49A1B7D6AA2258
  503. Title = GMAC Tests (from NIST)
  504. MAC = GMAC
  505. Algorithm = AES-128-GCM
  506. Key = 77BE63708971C4E240D1CB79E8D77FEB
  507. IV = E0E00F19FED7BA0136A797F3
  508. Input = 7A43EC1D9C0A5A78A0B16533A6213CAB
  509. Output = 209FCC8D3675ED938E9C7166709DD946
  510. Title = GMAC Tests (from http://www.ieee802.org/1/files/public/docs2011/bn-randall-test-vectors-0511-v1.pdf)
  511. MAC = GMAC
  512. Algorithm = AES-128-GCM
  513. Key = AD7A2BD03EAC835A6F620FDCB506B345
  514. IV = 12153524C0895E81B2C28465
  515. Input = D609B1F056637A0D46DF998D88E5222AB2C2846512153524C0895E8108000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233340001
  516. Output = F09478A9B09007D06F46E9B6A1DA25DD
  517. MAC = GMAC
  518. Algorithm = AES-256-GCM
  519. Key = E3C08A8F06C6E3AD95A70557B23F75483CE33021A9C72B7025666204C69C0B72
  520. IV = 12153524C0895E81B2C28465
  521. Input = D609B1F056637A0D46DF998D88E5222AB2C2846512153524C0895E8108000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233340001
  522. Output = 2F0BC5AF409E06D609EA8B7D0FA5EA50
  523. MAC = GMAC
  524. Algorithm = AES-128-GCM
  525. Key = 071B113B0CA743FECCCF3D051F737382
  526. IV = F0761E8DCD3D000176D457ED
  527. Input = E20106D7CD0DF0761E8DCD3D88E5400076D457ED08000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A0003
  528. Output = 0C017BC73B227DFCC9BAFA1C41ACC353
  529. MAC = GMAC
  530. Algorithm = AES-256-GCM
  531. Key = 691D3EE909D7F54167FD1CA0B5D769081F2BDE1AEE655FDBAB80BD5295AE6BE7
  532. IV = F0761E8DCD3D000176D457ED
  533. Input = E20106D7CD0DF0761E8DCD3D88E5400076D457ED08000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A0003
  534. Output = 35217C774BBC31B63166BCF9D4ABED07
  535. MAC = GMAC
  536. Algorithm = AES-128-GCM
  537. Key = 013FE00B5F11BE7F866D0CBBC55A7A90
  538. IV = 7CFDE9F9E33724C68932D612
  539. Input = 84C5D513D2AAF6E5BBD2727788E523008932D6127CFDE9F9E33724C608000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F0005
  540. Output = 217867E50C2DAD74C28C3B50ABDF695A
  541. MAC = GMAC
  542. Algorithm = AES-256-GCM
  543. Key = 83C093B58DE7FFE1C0DA926AC43FB3609AC1C80FEE1B624497EF942E2F79A823
  544. IV = 7CFDE9F9E33724C68932D612
  545. Input = 84C5D513D2AAF6E5BBD2727788E523008932D6127CFDE9F9E33724C608000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F0005
  546. Output = 6EE160E8FAECA4B36C86B234920CA975
  547. MAC = GMAC
  548. Algorithm = AES-128-GCM
  549. Key = 88EE087FD95DA9FBF6725AA9D757B0CD
  550. IV = 7AE8E2CA4EC500012E58495C
  551. Input = 68F2E77696CE7AE8E2CA4EC588E541002E58495C08000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D0007
  552. Output = 07922B8EBCF10BB2297588CA4C614523
  553. MAC = GMAC
  554. Algorithm = AES-256-GCM
  555. Key = 4C973DBC7364621674F8B5B89E5C15511FCED9216490FB1C1A2CAA0FFE0407E5
  556. IV = 7AE8E2CA4EC500012E58495C
  557. Input = 68F2E77696CE7AE8E2CA4EC588E541002E58495C08000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D0007
  558. Output = 00BDA1B7E87608BCBF470F12157F4C07
  559. Title = KMAC Tests (From NIST)
  560. MAC = KMAC128
  561. Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
  562. Input = 00010203
  563. Custom = ""
  564. Output = E5780B0D3EA6F7D3A429C5706AA43A00FADBD7D49628839E3187243F456EE14E
  565. Ctrl = xof:0
  566. MAC = KMAC128
  567. Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
  568. Input = 00010203
  569. Custom = "My Tagged Application"
  570. Output = 3B1FBA963CD8B0B59E8C1A6D71888B7143651AF8BA0A7070C0979E2811324AA5
  571. MAC = KMAC128
  572. Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
  573. Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
  574. Custom = "My Tagged Application"
  575. Output = 1F5B4E6CCA02209E0DCB5CA635B89A15E271ECC760071DFD805FAA38F9729230
  576. Ctrl = outlen:32
  577. MAC = KMAC256
  578. Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
  579. Input = 00010203
  580. Custom = "My Tagged Application"
  581. Output = 20C570C31346F703C9AC36C61C03CB64C3970D0CFC787E9B79599D273A68D2F7F69D4CC3DE9D104A351689F27CF6F5951F0103F33F4F24871024D9C27773A8DD
  582. MAC = KMAC256
  583. Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
  584. Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
  585. Custom = ""
  586. Output = 75358CF39E41494E949707927CEE0AF20A3FF553904C86B08F21CC414BCFD691589D27CF5E15369CBBFF8B9A4C2EB17800855D0235FF635DA82533EC6B759B69
  587. MAC = KMAC256
  588. Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
  589. Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
  590. Custom = "My Tagged Application"
  591. Output = B58618F71F92E1D56C1B8C55DDD7CD188B97B4CA4D99831EB2699A837DA2E4D970FBACFDE50033AEA585F1A2708510C32D07880801BD182898FE476876FC8965
  592. Ctrl = outlen:64
  593. Title = KMAC XOF Tests (From NIST)
  594. MAC = KMAC128
  595. Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
  596. Input = 00010203
  597. Output = CD83740BBD92CCC8CF032B1481A0F4460E7CA9DD12B08A0C4031178BACD6EC35
  598. Ctrl = xof:1
  599. MAC = KMAC128
  600. Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
  601. Input = 00010203
  602. Custom = "My Tagged Application"
  603. Output = 31A44527B4ED9F5C6101D11DE6D26F0620AA5C341DEF41299657FE9DF1A3B16C
  604. Ctrl = xof:1
  605. MAC = KMAC128
  606. Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
  607. Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
  608. Custom = "My Tagged Application"
  609. Output = 47026C7CD793084AA0283C253EF658490C0DB61438B8326FE9BDDF281B83AE0F
  610. Ctrl = xof:1
  611. Ctrl = outlen:32
  612. MAC = KMAC256
  613. Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
  614. Input = 00010203
  615. Custom = "My Tagged Application"
  616. Output = 1755133F1534752AAD0748F2C706FB5C784512CAB835CD15676B16C0C6647FA96FAA7AF634A0BF8FF6DF39374FA00FAD9A39E322A7C92065A64EB1FB0801EB2B
  617. Ctrl = xof:1
  618. MAC = KMAC256
  619. Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
  620. Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
  621. Custom = ""
  622. Output = FF7B171F1E8A2B24683EED37830EE797538BA8DC563F6DA1E667391A75EDC02CA633079F81CE12A25F45615EC89972031D18337331D24CEB8F8CA8E6A19FD98B
  623. Ctrl = xof:1
  624. MAC = KMAC256
  625. Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
  626. Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
  627. Custom = "My Tagged Application"
  628. Output = D5BE731C954ED7732846BB59DBE3A8E30F83E77A4BFF4459F2F1C2B4ECEBB8CE67BA01C62E8AB8578D2D499BD1BB276768781190020A306A97DE281DCC30305D
  629. Ctrl = outlen:64
  630. Ctrl = xof:1
  631. Title = Poly1305 Tests (from RFC 7539 and others)
  632. MAC = Poly1305
  633. Key = 0000000000000000000000000000000000000000000000000000000000000000
  634. Input = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  635. Output = 00000000000000000000000000000000
  636. MAC = Poly1305
  637. Key = 0000000000000000000000000000000036e5f6b5c5e06070f0efca96227a863e
  638. Input = 416e79207375626d697373696f6e20746f20746865204945544620696e74656e6465642062792074686520436f6e7472696275746f7220666f72207075626c69636174696f6e20617320616c6c206f722070617274206f6620616e204945544620496e7465726e65742d4472616674206f722052464320616e6420616e792073746174656d656e74206d6164652077697468696e2074686520636f6e74657874206f6620616e204945544620616374697669747920697320636f6e7369646572656420616e20224945544620436f6e747269627574696f6e222e20537563682073746174656d656e747320696e636c756465206f72616c2073746174656d656e747320696e20494554462073657373696f6e732c2061732077656c6c206173207772697474656e20616e6420656c656374726f6e696320636f6d6d756e69636174696f6e73206d61646520617420616e792074696d65206f7220706c6163652c207768696368206172652061646472657373656420746f
  639. Output = 36e5f6b5c5e06070f0efca96227a863e
  640. MAC = Poly1305
  641. Key = 36e5f6b5c5e06070f0efca96227a863e00000000000000000000000000000000
  642. Input = 416e79207375626d697373696f6e20746f20746865204945544620696e74656e6465642062792074686520436f6e7472696275746f7220666f72207075626c69636174696f6e20617320616c6c206f722070617274206f6620616e204945544620496e7465726e65742d4472616674206f722052464320616e6420616e792073746174656d656e74206d6164652077697468696e2074686520636f6e74657874206f6620616e204945544620616374697669747920697320636f6e7369646572656420616e20224945544620436f6e747269627574696f6e222e20537563682073746174656d656e747320696e636c756465206f72616c2073746174656d656e747320696e20494554462073657373696f6e732c2061732077656c6c206173207772697474656e20616e6420656c656374726f6e696320636f6d6d756e69636174696f6e73206d61646520617420616e792074696d65206f7220706c6163652c207768696368206172652061646472657373656420746f
  643. Output = f3477e7cd95417af89a6b8794c310cf0
  644. MAC = Poly1305
  645. Key = 1c9240a5eb55d38af333888604f6b5f0473917c1402b80099dca5cbc207075c0
  646. Input = 2754776173206272696c6c69672c20616e642074686520736c6974687920746f7665730a446964206779726520616e642067696d626c6520696e2074686520776162653a0a416c6c206d696d737920776572652074686520626f726f676f7665732c0a416e6420746865206d6f6d65207261746873206f757467726162652e
  647. Output = 4541669a7eaaee61e708dc7cbcc5eb62
  648. # If one uses 130-bit partial reduction, does the code handle the case where partially reduced final result is not fully reduced?
  649. MAC = Poly1305
  650. Key = 0200000000000000000000000000000000000000000000000000000000000000
  651. Input = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
  652. Output = 03000000000000000000000000000000
  653. # What happens if addition of s overflows modulo 2^128?
  654. MAC = Poly1305
  655. Key = 02000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
  656. Input = 02000000000000000000000000000000
  657. Output = 03000000000000000000000000000000
  658. # What happens if data limb is all ones and there is carry from lower limb?
  659. MAC = Poly1305
  660. Key = 0100000000000000000000000000000000000000000000000000000000000000
  661. Input = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11000000000000000000000000000000
  662. Output = 05000000000000000000000000000000
  663. # What happens if final result from polynomial part is exactly 2^130-5?
  664. MAC = Poly1305
  665. Key = 0100000000000000000000000000000000000000000000000000000000000000
  666. Input = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE01010101010101010101010101010101
  667. Output = 00000000000000000000000000000000
  668. # What happens if final result from polynomial part is exactly 2^130-6?
  669. MAC = Poly1305
  670. Key = 0200000000000000000000000000000000000000000000000000000000000000
  671. Input = FDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
  672. Output = FAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
  673. # Taken from poly1305_internal_test.c
  674. # More RFC7539
  675. MAC = Poly1305
  676. Input = 43727970746f6772617068696320466f72756d2052657365617263682047726f7570
  677. Key = 85d6be7857556d337f4452fe42d506a80103808afb0db2fd4abff6af4149f51b
  678. Output = a8061dc1305136c6c22b8baf0c0127a9
  679. # test vectors from "The Poly1305-AES message-authentication code"
  680. MAC = Poly1305
  681. Input = f3f6
  682. Key = 851fc40c3467ac0be05cc20404f3f700580b3b0f9447bb1e69d095b5928b6dbc
  683. Output = f4c633c3044fc145f84f335cb81953de
  684. # No input?
  685. # MAC = Poly1305
  686. # Input =
  687. # Key = a0f3080000f46400d0c7e9076c834403dd3fab2251f11ac759f0887129cc2ee7
  688. # Output = dd3fab2251f11ac759f0887129cc2ee7
  689. MAC = Poly1305
  690. Input = 663cea190ffb83d89593f3f476b6bc24d7e679107ea26adb8caf6652d0656136
  691. Key = 48443d0bb0d21109c89a100b5ce2c20883149c69b561dd88298a1798b10716ef
  692. Output = 0ee1c16bb73f0f4fd19881753c01cdbe
  693. MAC = Poly1305
  694. Input = ab0812724a7f1e342742cbed374d94d136c6b8795d45b3819830f2c04491faf0990c62e48b8018b2c3e4a0fa3134cb67fa83e158c994d961c4cb21095c1bf9
  695. Key = 12976a08c4426d0ce8a82407c4f4820780f8c20aa71202d1e29179cbcb555a57
  696. Output = 5154ad0d2cb26e01274fc51148491f1b
  697. # self-generated vectors exercise "significant" length such that* are handled by different code paths
  698. MAC = Poly1305
  699. Input = ab0812724a7f1e342742cbed374d94d136c6b8795d45b3819830f2c04491faf0990c62e48b8018b2c3e4a0fa3134cb67fa83e158c994d961c4cb21095c1bf9af
  700. Key = 12976a08c4426d0ce8a82407c4f4820780f8c20aa71202d1e29179cbcb555a57
  701. Output = 812059a5da198637cac7c4a631bee466
  702. MAC = Poly1305
  703. Input = ab0812724a7f1e342742cbed374d94d136c6b8795d45b3819830f2c04491faf0990c62e48b8018b2c3e4a0fa3134cb67
  704. Key = 12976a08c4426d0ce8a82407c4f4820780f8c20aa71202d1e29179cbcb555a57
  705. Output = 5b88d7f6228b11e2e28579a5c0c1f761
  706. MAC = Poly1305
  707. Input = ab0812724a7f1e342742cbed374d94d136c6b8795d45b3819830f2c04491faf0990c62e48b8018b2c3e4a0fa3134cb67fa83e158c994d961c4cb21095c1bf9af663cea190ffb83d89593f3f476b6bc24d7e679107ea26adb8caf6652d0656136
  708. Key = 12976a08c4426d0ce8a82407c4f4820780f8c20aa71202d1e29179cbcb555a57
  709. Output = bbb613b2b6d753ba07395b916aaece15
  710. MAC = Poly1305
  711. Input = ab0812724a7f1e342742cbed374d94d136c6b8795d45b3819830f2c04491faf0990c62e48b8018b2c3e4a0fa3134cb67fa83e158c994d961c4cb21095c1bf9af48443d0bb0d21109c89a100b5ce2c20883149c69b561dd88298a1798b10716ef663cea190ffb83d89593f3f476b6bc24
  712. Key = 12976a08c4426d0ce8a82407c4f4820780f8c20aa71202d1e29179cbcb555a57
  713. Output = c794d7057d1778c4bbee0a39b3d97342
  714. MAC = Poly1305
  715. Input = ab0812724a7f1e342742cbed374d94d136c6b8795d45b3819830f2c04491faf0990c62e48b8018b2c3e4a0fa3134cb67fa83e158c994d961c4cb21095c1bf9af48443d0bb0d21109c89a100b5ce2c20883149c69b561dd88298a1798b10716ef663cea190ffb83d89593f3f476b6bc24d7e679107ea26adb8caf6652d0656136
  716. Key = 12976a08c4426d0ce8a82407c4f4820780f8c20aa71202d1e29179cbcb555a57
  717. Output = ffbcb9b371423152d7fca5ad042fbaa9
  718. MAC = Poly1305
  719. Input = ab0812724a7f1e342742cbed374d94d136c6b8795d45b3819830f2c04491faf0990c62e48b8018b2c3e4a0fa3134cb67fa83e158c994d961c4cb21095c1bf9af48443d0bb0d21109c89a100b5ce2c20883149c69b561dd88298a1798b10716ef663cea190ffb83d89593f3f476b6bc24d7e679107ea26adb8caf6652d0656136812059a5da198637cac7c4a631bee466
  720. Key = 12976a08c4426d0ce8a82407c4f4820780f8c20aa71202d1e29179cbcb555a57
  721. Output = 069ed6b8ef0f207b3e243bb1019fe632
  722. MAC = Poly1305
  723. Input = ab0812724a7f1e342742cbed374d94d136c6b8795d45b3819830f2c04491faf0990c62e48b8018b2c3e4a0fa3134cb67fa83e158c994d961c4cb21095c1bf9af48443d0bb0d21109c89a100b5ce2c20883149c69b561dd88298a1798b10716ef663cea190ffb83d89593f3f476b6bc24d7e679107ea26adb8caf6652d0656136812059a5da198637cac7c4a631bee4665b88d7f6228b11e2e28579a5c0c1f761
  724. Key = 12976a08c4426d0ce8a82407c4f4820780f8c20aa71202d1e29179cbcb555a57
  725. Output = cca339d9a45fa2368c2c68b3a4179133
  726. MAC = Poly1305
  727. Input = ab0812724a7f1e342742cbed374d94d136c6b8795d45b3819830f2c04491faf0990c62e48b8018b2c3e4a0fa3134cb67fa83e158c994d961c4cb21095c1bf9af48443d0bb0d21109c89a100b5ce2c20883149c69b561dd88298a1798b10716ef663cea190ffb83d89593f3f476b6bc24d7e679107ea26adb8caf6652d0656136812059a5da198637cac7c4a631bee4665b88d7f6228b11e2e28579a5c0c1f761ab0812724a7f1e342742cbed374d94d136c6b8795d45b3819830f2c04491faf0990c62e48b8018b2c3e4a0fa3134cb67fa83e158c994d961c4cb21095c1bf9af48443d0bb0d21109c89a100b5ce2c20883149c69b561dd88298a1798b10716ef663cea190ffb83d89593f3f476b6bc24d7e679107ea26adb8caf6652d0656136
  728. Key = 12976a08c4426d0ce8a82407c4f4820780f8c20aa71202d1e29179cbcb555a57
  729. Output = 53f6e828a2f0fe0ee815bf0bd5841a34
  730. MAC = Poly1305
  731. Input = ab0812724a7f1e342742cbed374d94d136c6b8795d45b3819830f2c04491faf0990c62e48b8018b2c3e4a0fa3134cb67fa83e158c994d961c4cb21095c1bf9af48443d0bb0d21109c89a100b5ce2c20883149c69b561dd88298a1798b10716ef663cea190ffb83d89593f3f476b6bc24d7e679107ea26adb8caf6652d0656136812059a5da198637cac7c4a631bee4665b88d7f6228b11e2e28579a5c0c1f761ab0812724a7f1e342742cbed374d94d136c6b8795d45b3819830f2c04491faf0990c62e48b8018b2c3e4a0fa3134cb67fa83e158c994d961c4cb21095c1bf9af48443d0bb0d21109c89a100b5ce2c20883149c69b561dd88298a1798b10716ef663cea190ffb83d89593f3f476b6bc24d7e679107ea26adb8caf6652d0656136812059a5da198637cac7c4a631bee4665b88d7f6228b11e2e28579a5c0c1f761
  732. Key = 12976a08c4426d0ce8a82407c4f4820780f8c20aa71202d1e29179cbcb555a57
  733. Output = b846d44e9bbd53cedffbfbb6b7fa4933
  734. # 4th power of the key spills to 131th bit in SIMD key setup
  735. MAC = Poly1305
  736. Input = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
  737. Key = ad628107e8351d0f2c231a05dc4a410600000000000000000000000000000000
  738. Output = 07145a4c02fe5fa32036de68fabe9066
  739. # poly1305_ieee754.c failed this in final stage
  740. MAC = Poly1305
  741. Input = 842364e156336c0998b933a6237726180d9e3fdcbde4cd5d17080fc3beb49614d7122c037463ff104d73f19c12704628d417c4c54a3fe30d3c3d7714382d43b0382a50a5dee54be844b076e8df88201a1cd43b90eb21643fa96f39b518aa8340c942ff3c31baf7c9bdbf0f31ae3fa096bf8c63030609829fe72e179824890bc8e08c315c1cce2a83144dbbff09f74e3efc770b54d0984a8f19b14719e63635641d6b1eedf63efbf080e1783d32445412114c20de0b837a0dfa33d6b82825fff44c9a70ea54ce47f07df698e6b03323b53079364a5fc3e9dd034392bdde86dccdda94321c5e44060489336cb65bf3989c36f7282c2f5d2b882c171e74
  742. Key = 95d5c005503e510d8cd0aa072c4a4d066eabc52d11653df47fbf63ab198bcc26
  743. Output = f248312e578d9d58f8b7bb4d19105431
  744. # AVX2 in poly1305-x86.pl failed this with 176+32 split
  745. MAC = Poly1305
  746. Input = 248ac31085b6c2adaaa38259a0d7192c5c35d1bb4ef39ad94c38d1c82479e2dd2159a077024b0589bc8a20101b506f0a1ad0bbab76e83a83f1b94be6beae74e874cab692c5963a75436b776121ec9f62399a3e66b2d22707dae81933b6277f3c8516bcbe26dbbd86f373103d7cf4cad1888c952118fbfbd0d7b4bedc4ae4936aff91157e7aa47c54442ea78d6ac251d324a0fbe49d89cc3521b66d16e9c66a3709894e4eb0a4eedc4ae19468e66b81f271351b1d921ea551047abcc6b87a901fde7db79fa1818c11336dbc07244a40eb
  747. Key = 000102030405060708090a0b0c0d0e0f00000000000000000000000000000000
  748. Output = bc939bc5281480fa99c6d68c258ec42f
  749. # test vectors from Google
  750. # No input?
  751. # MAC = Poly1305
  752. # Input =
  753. # Key = c8afaac331ee372cd6082de134943b174710130e9f6fea8d72293850a667d86c
  754. # Output = 4710130e9f6fea8d72293850a667d86c
  755. MAC = Poly1305
  756. Input = 48656c6c6f20776f726c6421
  757. Key = 746869732069732033322d62797465206b657920666f7220506f6c7931333035
  758. Output = a6f745008f81c916a20dcc74eef2b2f0
  759. MAC = Poly1305
  760. Input = 0000000000000000000000000000000000000000000000000000000000000000
  761. Key = 746869732069732033322d62797465206b657920666f7220506f6c7931333035
  762. Output = 49ec78090e481ec6c26b33b91ccc0307
  763. MAC = Poly1305
  764. Input = 89dab80b7717c1db5db437860a3f70218e93e1b8f461fb677f16f35f6f87e2a91c99bc3a47ace47640cc95c345be5ecca5a3523c35cc01893af0b64a620334270372ec12482d1b1e363561698a578b359803495bb4e2ef1930b17a5190b580f141300df30adbeca28f6427a8bc1a999fd51c554a017d095d8c3e3127daf9f595
  765. Key = 2d773be37adb1e4d683bf0075e79c4ee037918535a7f99ccb7040fb5f5f43aea
  766. Output = c85d15ed44c378d6b00e23064c7bcd51
  767. MAC = Poly1305
  768. Input = 000000000000000b170303020000000006db1f1f368d696a810a349c0c714c9a5e7850c2407d721acded95e018d7a85266a6e1289cdb4aeb18da5ac8a2b0026d24a59ad485227f3eaedbb2e7e35e1c66cd60f9abf716dcc9ac42682dd7dab287a7024c4eefc321cc0574e16793e37cec03c5bda42b54c114a80b57af26416c7be742005e20855c73e21dc8e2edc9d435cb6f6059280011c270b71570051c1c9b3052126620bc1e2730fa066c7a509d53c60e5ae1b40aa6e39e49669228c90eecb4a50db32a50bc49e90b4f4b359a1dfd11749cd3867fcf2fb7bb6cd4738f6a4ad6f7ca5058f7618845af9f020f6c3b967b8f4cd4a91e2813b507ae66f2d35c18284f7292186062e10fd5510d18775351ef334e7634ab4743f5b68f49adcab384d3fd75f7390f4006ef2a295c8c7a076ad54546cd25d2107fbe1436c840924aaebe5b370893cd63d1325b8616fc4810886bc152c53221b6df373119393255ee72bcaa880174f1717f9184fa91646f17a24ac55d16bfddca9581a92eda479201f0edbf633600d6066d1ab36d5d2415d71351bbcd608a25108d25641992c1f26c531cf9f90203bc4cc19f5927d834b0a47116d3884bbb164b8ec883d1ac832e56b3918a98601a08d171881541d594db399c6ae6151221745aec814c45b0b05b565436fd6f137aa10a0c0b643761dbd6f9a9dcb99b1a6e690854ce0769cde39761d82fcdec15f0d92d7d8e94ade8eb83fbe0
  769. Key = 99e5822dd4173c995e3dae0ddefb97743fde3b080134b39f76e9bf8d0e88d546
  770. Output = 2637408fe13086ea73f971e3425e2820
  771. # test vectors from Hanno Bock
  772. MAC = Poly1305
  773. Input = cccccccccccccccccccccccccccccccccccccccccccccccccc80ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceccccccccccccccccccccccccccccccccccccc5cccccccccccccccccccccccccccccccccccccccccce3ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccaccccccccccccccccccccce6cccccccccc000000afccccccccccccccccccfffffff5000000000000000000000000000000000000000000000000000000ffffffe70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000719205a8521dfc
  774. Key = 7f1b02640000000000000000000000000000000000000000cccccccccccccccc
  775. Output = 8559b876eceed66eb37798c0457baff9
  776. MAC = Poly1305
  777. Input = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa000000000000000000800264
  778. Key = e00016000000000000000000000000000000aaaaaaaaaaaaaaaaaaaaaaaaaaaa
  779. Output = 00bd1258978e205444c9aaaa82006fed
  780. MAC = Poly1305
  781. Input = 02fc
  782. Key = 0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c
  783. Output = 06120c0c0c0c0c0c0c0c0c0c0c0c0c0c
  784. MAC = Poly1305
  785. Input = 7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7a7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b5c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b6e7b007b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7a7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b5c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b6e7b001300000000b300000000000000000000000000000000000000000000f20000000000000000000000000000000000002000efff0009000000000000000000000000100000000009000000640000000000000000000000001300000000b300000000000000000000000000000000000000000000f20000000000000000000000000000000000002000efff00090000000000000000007a000010000000000900000064000000000000000000000000000000000000000000000000fc
  786. Key = 00ff000000000000000000000000000000000000001e00000000000000007b7b
  787. Output = 33205bbf9e9f8f7212ab9e2ab9b7e4a5
  788. MAC = Poly1305
  789. Input = 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777ffffffe9e9acacacacacacacacacacac0000acacec0100acacac2caca2acacacacacacacacacacac64f2
  790. Key = 0000007f0000007f01000020000000000000cf77777777777777777777777777
  791. Output = 02ee7c8c546ddeb1a467e4c3981158b9
  792. # test vectors from Andrew Moon - nacl
  793. MAC = Poly1305
  794. Input = 8e993b9f48681273c29650ba32fc76ce48332ea7164d96a4476fb8c531a1186ac0dfc17c98dce87b4da7f011ec48c97271d2c20f9b928fe2270d6fb863d51738b48eeee314a7cc8ab932164548e526ae90224368517acfeabd6bb3732bc0e9da99832b61ca01b6de56244a9e88d5f9b37973f622a43d14a6599b1f654cb45a74e355a5
  795. Key = eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880
  796. Output = f3ffc7703f9400e52a7dfb4b3d3305d9
  797. # wrap 2^130-5
  798. MAC = Poly1305
  799. Input = ffffffffffffffffffffffffffffffff
  800. Key = 0200000000000000000000000000000000000000000000000000000000000000
  801. Output = 03000000000000000000000000000000
  802. # wrap 2^128
  803. MAC = Poly1305
  804. Input = 02000000000000000000000000000000
  805. Key = 02000000000000000000000000000000ffffffffffffffffffffffffffffffff
  806. Output = 03000000000000000000000000000000
  807. # limb carry
  808. MAC = Poly1305
  809. Input = fffffffffffffffffffffffffffffffff0ffffffffffffffffffffffffffffff11000000000000000000000000000000
  810. Key = 0100000000000000000000000000000000000000000000000000000000000000
  811. Output = 05000000000000000000000000000000
  812. # 2^130-5
  813. MAC = Poly1305
  814. Input = fffffffffffffffffffffffffffffffffbfefefefefefefefefefefefefefefe01010101010101010101010101010101
  815. Key = 0100000000000000000000000000000000000000000000000000000000000000
  816. Output = 00000000000000000000000000000000
  817. # 2^130-6
  818. MAC = Poly1305
  819. Input = fdffffffffffffffffffffffffffffff
  820. Key = 0200000000000000000000000000000000000000000000000000000000000000
  821. Output = faffffffffffffffffffffffffffffff
  822. # 5*H+L reduction intermediate
  823. MAC = Poly1305
  824. Input = e33594d7505e43b900000000000000003394d7505e4379cd01000000000000000000000000000000000000000000000001000000000000000000000000000000
  825. Key = 0100000000000000040000000000000000000000000000000000000000000000
  826. Output = 14000000000000005500000000000000
  827. # 5*H+L reduction final
  828. MAC = Poly1305
  829. Input = e33594d7505e43b900000000000000003394d7505e4379cd010000000000000000000000000000000000000000000000
  830. Key = 0100000000000000040000000000000000000000000000000000000000000000
  831. Output = 13000000000000000000000000000000
  832. # Here are 4 duplicated cases for Poly1305 by EVP_PKEY
  833. MAC = Poly1305 by EVP_PKEY
  834. Key = 0000000000000000000000000000000000000000000000000000000000000000
  835. Input = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  836. Output = 00000000000000000000000000000000
  837. MAC = Poly1305 by EVP_PKEY
  838. Key = 0000000000000000000000000000000036e5f6b5c5e06070f0efca96227a863e
  839. Input = 416e79207375626d697373696f6e20746f20746865204945544620696e74656e6465642062792074686520436f6e7472696275746f7220666f72207075626c69636174696f6e20617320616c6c206f722070617274206f6620616e204945544620496e7465726e65742d4472616674206f722052464320616e6420616e792073746174656d656e74206d6164652077697468696e2074686520636f6e74657874206f6620616e204945544620616374697669747920697320636f6e7369646572656420616e20224945544620436f6e747269627574696f6e222e20537563682073746174656d656e747320696e636c756465206f72616c2073746174656d656e747320696e20494554462073657373696f6e732c2061732077656c6c206173207772697474656e20616e6420656c656374726f6e696320636f6d6d756e69636174696f6e73206d61646520617420616e792074696d65206f7220706c6163652c207768696368206172652061646472657373656420746f
  840. Output = 36e5f6b5c5e06070f0efca96227a863e
  841. MAC = Poly1305 by EVP_PKEY
  842. Key = 36e5f6b5c5e06070f0efca96227a863e00000000000000000000000000000000
  843. Input = 416e79207375626d697373696f6e20746f20746865204945544620696e74656e6465642062792074686520436f6e7472696275746f7220666f72207075626c69636174696f6e20617320616c6c206f722070617274206f6620616e204945544620496e7465726e65742d4472616674206f722052464320616e6420616e792073746174656d656e74206d6164652077697468696e2074686520636f6e74657874206f6620616e204945544620616374697669747920697320636f6e7369646572656420616e20224945544620436f6e747269627574696f6e222e20537563682073746174656d656e747320696e636c756465206f72616c2073746174656d656e747320696e20494554462073657373696f6e732c2061732077656c6c206173207772697474656e20616e6420656c656374726f6e696320636f6d6d756e69636174696f6e73206d61646520617420616e792074696d65206f7220706c6163652c207768696368206172652061646472657373656420746f
  844. Output = f3477e7cd95417af89a6b8794c310cf0
  845. MAC = Poly1305 by EVP_PKEY
  846. Key = 1c9240a5eb55d38af333888604f6b5f0473917c1402b80099dca5cbc207075c0
  847. Input = 2754776173206272696c6c69672c20616e642074686520736c6974687920746f7665730a446964206779726520616e642067696d626c6520696e2074686520776162653a0a416c6c206d696d737920776572652074686520626f726f676f7665732c0a416e6420746865206d6f6d65207261746873206f757467726162652e
  848. Output = 4541669a7eaaee61e708dc7cbcc5eb62