1e0c4386eSCy Schubert# 2*e7be843bSPierre Pronchery# Copyright 2001-2024 The OpenSSL Project Authors. All Rights Reserved. 3e0c4386eSCy Schubert# 4e0c4386eSCy Schubert# Licensed under the Apache License 2.0 (the "License"). You may not use 5e0c4386eSCy Schubert# this file except in compliance with the License. You can obtain a copy 6e0c4386eSCy Schubert# in the file LICENSE in the source distribution or at 7e0c4386eSCy Schubert# https://www.openssl.org/source/license.html 8e0c4386eSCy Schubert 9e0c4386eSCy Schubert# Tests start with one of these keywords 10e0c4386eSCy Schubert# Cipher Decrypt Derive Digest Encoding KDF MAC PBE 11e0c4386eSCy Schubert# PrivPubKeyPair Sign Verify VerifyRecover 12e0c4386eSCy Schubert# and continue until a blank line. Lines starting with a pound sign are ignored. 13e0c4386eSCy Schubert# The keyword Availablein must appear before the test name if needed. 14e0c4386eSCy Schubert 15e0c4386eSCy SchubertTitle = HMAC tests (from RFC2104 and others) 16e0c4386eSCy Schubert 17e0c4386eSCy SchubertAvailablein = default 18e0c4386eSCy SchubertMAC = HMAC 19e0c4386eSCy SchubertAlgorithm = MD5 20e0c4386eSCy SchubertKey = 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b 21e0c4386eSCy SchubertInput = "Hi There" 22e0c4386eSCy SchubertOutput = 9294727a3638bb1c13f48ef8158bfc9d 23e0c4386eSCy SchubertOutputSize = 16 24e0c4386eSCy SchubertBlockSize = 64 25e0c4386eSCy Schubert 26e0c4386eSCy SchubertAvailablein = default 27e0c4386eSCy SchubertMAC = HMAC 28e0c4386eSCy SchubertAlgorithm = MD5 29e0c4386eSCy SchubertKey = "Jefe" 30e0c4386eSCy SchubertInput = "what do ya want for nothing?" 31e0c4386eSCy SchubertOutput = 750c783e6ab0b503eaa86e310a5db738 32e0c4386eSCy SchubertOutputSize = 16 33e0c4386eSCy Schubert 34e0c4386eSCy SchubertAvailablein = default 35e0c4386eSCy SchubertMAC = HMAC 36e0c4386eSCy SchubertAlgorithm = MD5 37e0c4386eSCy SchubertKey = AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 38e0c4386eSCy SchubertInput = DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 39e0c4386eSCy SchubertOutput = 56be34521d144c88dbb8c733f0e8b3f6 40e0c4386eSCy SchubertBlockSize = 64 41e0c4386eSCy Schubert 42e0c4386eSCy SchubertTitle = SHA1 43e0c4386eSCy Schubert 44e0c4386eSCy Schubert# HMAC tests from NIST test data 45e0c4386eSCy Schubert 46e0c4386eSCy SchubertMAC = HMAC 47e0c4386eSCy SchubertAlgorithm = SHA1 48e0c4386eSCy SchubertInput = "Sample message for keylen=blocklen" 49e0c4386eSCy SchubertKey = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F 50e0c4386eSCy SchubertOutput = 5FD596EE78D5553C8FF4E72D266DFD192366DA29 51e0c4386eSCy SchubertOutputSize = 20 52e0c4386eSCy SchubertBlockSize = 64 53e0c4386eSCy Schubert 54e0c4386eSCy SchubertMAC = HMAC 55e0c4386eSCy SchubertAlgorithm = SHA1 56e0c4386eSCy SchubertInput = "Sample message for keylen<blocklen" 57e0c4386eSCy SchubertKey = 000102030405060708090A0B0C0D0E0F10111213 58e0c4386eSCy SchubertOutput = 4C99FF0CB1B31BD33F8431DBAF4D17FCD356A807 59e0c4386eSCy SchubertOutputSize = 20 60e0c4386eSCy Schubert 61e0c4386eSCy SchubertMAC = HMAC 62e0c4386eSCy SchubertAlgorithm = SHA1 63e0c4386eSCy SchubertInput = "Sample message for keylen=blocklen" 64e0c4386eSCy SchubertKey = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263 65e0c4386eSCy SchubertOutput = 2D51B2F7750E410584662E38F133435F4C4FD42A 66e0c4386eSCy SchubertBlockSize = 64 67e0c4386eSCy Schubert 68e0c4386eSCy SchubertTitle = SHA2 69e0c4386eSCy Schubert 70*e7be843bSPierre ProncheryAvailablein = default 71*e7be843bSPierre ProncheryMAC = HMAC 72*e7be843bSPierre ProncheryAlgorithm = SHA256-192 73*e7be843bSPierre ProncheryInput = "Sample message for keylen=blocklen" 74*e7be843bSPierre ProncheryKey = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F 75*e7be843bSPierre ProncheryOutput = 48C07F4015447032622F0F1F368EBB02EE1424F3529739D6 76*e7be843bSPierre ProncheryOutputSize = 24 77*e7be843bSPierre ProncheryBlockSize = 64 78*e7be843bSPierre Pronchery 79*e7be843bSPierre ProncheryAvailablein = default 80*e7be843bSPierre ProncheryMAC = HMAC 81*e7be843bSPierre ProncheryAlgorithm = SHA256-192 82*e7be843bSPierre ProncheryInput = "Sample message for keylen<blocklen" 83*e7be843bSPierre ProncheryKey = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B 84*e7be843bSPierre ProncheryOutput = 6ECCAB0BE3F7657CAF65CAD9784C8177C9F83A685AB52F4C 85*e7be843bSPierre Pronchery 86*e7be843bSPierre ProncheryAvailablein = default 87*e7be843bSPierre ProncheryMAC = HMAC 88*e7be843bSPierre ProncheryAlgorithm = SHA256-192 89*e7be843bSPierre ProncheryInput = "Sample message for keylen=blocklen" 90*e7be843bSPierre ProncheryKey = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263 91*e7be843bSPierre ProncheryOutput = 4FC15185394271A626627835B912A9CF641C9CD84F7909A4 92*e7be843bSPierre Pronchery 93e0c4386eSCy SchubertMAC = HMAC 94e0c4386eSCy SchubertAlgorithm = SHA224 95e0c4386eSCy SchubertInput = "Sample message for keylen=blocklen" 96e0c4386eSCy SchubertKey = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F 97e0c4386eSCy SchubertOutput = C7405E3AE058E8CD30B08B4140248581ED174CB34E1224BCC1EFC81B 98e0c4386eSCy SchubertOutputSize = 28 99e0c4386eSCy SchubertBlockSize = 64 100e0c4386eSCy Schubert 101e0c4386eSCy SchubertMAC = HMAC 102e0c4386eSCy SchubertAlgorithm = SHA224 103e0c4386eSCy SchubertInput = "Sample message for keylen<blocklen" 104e0c4386eSCy SchubertKey = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B 105e0c4386eSCy SchubertOutput = E3D249A8CFB67EF8B7A169E9A0A599714A2CECBA65999A51BEB8FBBE 106e0c4386eSCy Schubert 107e0c4386eSCy SchubertMAC = HMAC 108e0c4386eSCy SchubertAlgorithm = SHA224 109e0c4386eSCy SchubertInput = "Sample message for keylen=blocklen" 110e0c4386eSCy SchubertKey = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263 111e0c4386eSCy SchubertOutput = 91C52509E5AF8531601AE6230099D90BEF88AAEFB961F4080ABC014D 112e0c4386eSCy Schubert 113e0c4386eSCy SchubertMAC = HMAC 114e0c4386eSCy SchubertAlgorithm = SHA256 115e0c4386eSCy SchubertInput = "Sample message for keylen=blocklen" 116e0c4386eSCy SchubertKey = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F 117e0c4386eSCy SchubertOutput = 8BB9A1DB9806F20DF7F77B82138C7914D174D59E13DC4D0169C9057B133E1D62 118e0c4386eSCy SchubertOutputSize = 32 119e0c4386eSCy SchubertBlockSize = 64 120e0c4386eSCy Schubert 121e0c4386eSCy SchubertMAC = HMAC 122e0c4386eSCy SchubertAlgorithm = SHA256 123e0c4386eSCy SchubertInput = "Sample message for keylen<blocklen" 124e0c4386eSCy SchubertKey = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F 125e0c4386eSCy SchubertOutput = A28CF43130EE696A98F14A37678B56BCFCBDD9E5CF69717FECF5480F0EBDF790 126e0c4386eSCy Schubert 127e0c4386eSCy SchubertMAC = HMAC 128e0c4386eSCy SchubertAlgorithm = SHA256 129e0c4386eSCy SchubertInput = "Sample message for keylen=blocklen" 130e0c4386eSCy SchubertKey = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263 131e0c4386eSCy SchubertOutput = BDCCB6C72DDEADB500AE768386CB38CC41C63DBB0878DDB9C7A38A431B78378D 132e0c4386eSCy Schubert 133e0c4386eSCy SchubertMAC = HMAC 134e0c4386eSCy SchubertAlgorithm = SHA384 135e0c4386eSCy SchubertInput = "Sample message for keylen=blocklen" 136e0c4386eSCy SchubertKey = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F 137e0c4386eSCy SchubertOutput = 63C5DAA5E651847CA897C95814AB830BEDEDC7D25E83EEF9195CD45857A37F448947858F5AF50CC2B1B730DDF29671A9 138e0c4386eSCy SchubertOutputSize = 48 139e0c4386eSCy SchubertBlockSize = 128 140e0c4386eSCy Schubert 141e0c4386eSCy SchubertMAC = HMAC 142e0c4386eSCy SchubertAlgorithm = SHA384 143e0c4386eSCy SchubertInput = "Sample message for keylen<blocklen" 144e0c4386eSCy SchubertKey = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F 145e0c4386eSCy SchubertOutput = 6EB242BDBB582CA17BEBFA481B1E23211464D2B7F8C20B9FF2201637B93646AF5AE9AC316E98DB45D9CAE773675EEED0 146e0c4386eSCy Schubert 147e0c4386eSCy SchubertMAC = HMAC 148e0c4386eSCy SchubertAlgorithm = SHA384 149e0c4386eSCy SchubertInput = "Sample message for keylen=blocklen" 150e0c4386eSCy SchubertKey = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 151e0c4386eSCy SchubertOutput = 5B664436DF69B0CA22551231A3F0A3D5B4F97991713CFA84BFF4D0792EFF96C27DCCBBB6F79B65D548B40E8564CEF594 152e0c4386eSCy Schubert 153e0c4386eSCy SchubertMAC = HMAC 154e0c4386eSCy SchubertAlgorithm = SHA512 155e0c4386eSCy SchubertInput = "Sample message for keylen=blocklen" 156e0c4386eSCy SchubertKey = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F 157e0c4386eSCy SchubertOutput = FC25E240658CA785B7A811A8D3F7B4CA48CFA26A8A366BF2CD1F836B05FCB024BD36853081811D6CEA4216EBAD79DA1CFCB95EA4586B8A0CE356596A55FB1347 158e0c4386eSCy SchubertOutputSize = 64 159e0c4386eSCy SchubertBlockSize = 128 160e0c4386eSCy Schubert 161e0c4386eSCy SchubertMAC = HMAC 162e0c4386eSCy SchubertAlgorithm = SHA512 163e0c4386eSCy SchubertInput = "Sample message for keylen<blocklen" 164e0c4386eSCy SchubertKey = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F 165e0c4386eSCy SchubertOutput = FD44C18BDA0BB0A6CE0E82B031BF2818F6539BD56EC00BDC10A8A2D730B3634DE2545D639B0F2CF710D0692C72A1896F1F211C2B922D1A96C392E07E7EA9FEDC 166e0c4386eSCy Schubert 167e0c4386eSCy SchubertMAC = HMAC 168e0c4386eSCy SchubertAlgorithm = SHA512 169e0c4386eSCy SchubertInput = "Sample message for keylen=blocklen" 170e0c4386eSCy SchubertKey = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 171e0c4386eSCy SchubertOutput = D93EC8D2DE1AD2A9957CB9B83F14E76AD6B5E0CCE285079A127D3B14BCCB7AA7286D4AC0D4CE64215F2BC9E6870B33D97438BE4AAA20CDA5C5A912B48B8E27F3 172e0c4386eSCy Schubert 173e0c4386eSCy SchubertTitle = SHA3 174e0c4386eSCy Schubert 175e0c4386eSCy Schubert# NIST's test vectors 176e0c4386eSCy Schubert 177e0c4386eSCy SchubertMAC = HMAC 178e0c4386eSCy SchubertAlgorithm = SHA3-224 179e0c4386eSCy SchubertInput = "Sample message for keylen<blocklen" 180e0c4386eSCy SchubertKey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b 181e0c4386eSCy SchubertOutput = 332cfd59347fdb8e576e77260be4aba2d6dc53117b3bfb52c6d18c04 182e0c4386eSCy SchubertOutputSize = 28 183e0c4386eSCy SchubertBlockSize = 144 184e0c4386eSCy Schubert 185e0c4386eSCy SchubertMAC = HMAC 186e0c4386eSCy SchubertAlgorithm = SHA3-224 187e0c4386eSCy SchubertInput = "Sample message for keylen=blocklen" 188e0c4386eSCy SchubertKey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f 189e0c4386eSCy SchubertOutput = d8b733bcf66c644a12323d564e24dcf3fc75f231f3b67968359100c7 190e0c4386eSCy Schubert 191e0c4386eSCy SchubertMAC = HMAC 192e0c4386eSCy SchubertAlgorithm = SHA3-224 193e0c4386eSCy SchubertInput = "Sample message for keylen>blocklen" 194e0c4386eSCy SchubertKey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaab 195e0c4386eSCy SchubertOutput = 078695eecc227c636ad31d063a15dd05a7e819a66ec6d8de1e193e59 196e0c4386eSCy Schubert 197e0c4386eSCy SchubertMAC = HMAC 198e0c4386eSCy SchubertAlgorithm = SHA3-256 199e0c4386eSCy SchubertInput = "Sample message for keylen<blocklen" 200e0c4386eSCy SchubertKey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f 201e0c4386eSCy SchubertOutput = 4fe8e202c4f058e8dddc23d8c34e467343e23555e24fc2f025d598f558f67205 202e0c4386eSCy SchubertOutputSize = 32 203e0c4386eSCy SchubertBlockSize = 136 204e0c4386eSCy Schubert 205e0c4386eSCy SchubertMAC = HMAC 206e0c4386eSCy SchubertAlgorithm = SHA3-256 207e0c4386eSCy SchubertInput = "Sample message for keylen=blocklen" 208e0c4386eSCy SchubertKey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081828384858687 209e0c4386eSCy SchubertOutput = 68b94e2e538a9be4103bebb5aa016d47961d4d1aa906061313b557f8af2c3faa 210e0c4386eSCy Schubert 211e0c4386eSCy SchubertMAC = HMAC 212e0c4386eSCy SchubertAlgorithm = SHA3-256 213e0c4386eSCy SchubertInput = "Sample message for keylen>blocklen" 214e0c4386eSCy SchubertKey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7 215e0c4386eSCy SchubertOutput = 9bcf2c238e235c3ce88404e813bd2f3a97185ac6f238c63d6229a00b07974258 216e0c4386eSCy Schubert 217e0c4386eSCy SchubertMAC = HMAC 218e0c4386eSCy SchubertAlgorithm = SHA3-384 219e0c4386eSCy SchubertInput = "Sample message for keylen<blocklen" 220e0c4386eSCy SchubertKey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f 221e0c4386eSCy SchubertOutput = d588a3c51f3f2d906e8298c1199aa8ff6296218127f6b38a90b6afe2c5617725bc99987f79b22a557b6520db710b7f42 222e0c4386eSCy SchubertOutputSize = 48 223e0c4386eSCy SchubertBlockSize = 104 224e0c4386eSCy Schubert 225e0c4386eSCy SchubertMAC = HMAC 226e0c4386eSCy SchubertAlgorithm = SHA3-384 227e0c4386eSCy SchubertInput = "Sample message for keylen=blocklen" 228e0c4386eSCy SchubertKey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364656667 229e0c4386eSCy SchubertOutput = a27d24b592e8c8cbf6d4ce6fc5bf62d8fc98bf2d486640d9eb8099e24047837f5f3bffbe92dcce90b4ed5b1e7e44fa90 230e0c4386eSCy Schubert 231e0c4386eSCy SchubertMAC = HMAC 232e0c4386eSCy SchubertAlgorithm = SHA3-384 233e0c4386eSCy SchubertInput = "Sample message for keylen>blocklen" 234e0c4386eSCy SchubertKey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f9091929394959697 235e0c4386eSCy SchubertOutput = e5ae4c739f455279368ebf36d4f5354c95aa184c899d3870e460ebc288ef1f9470053f73f7c6da2a71bcaec38ce7d6ac 236e0c4386eSCy Schubert 237e0c4386eSCy SchubertMAC = HMAC 238e0c4386eSCy SchubertAlgorithm = SHA3-512 239e0c4386eSCy SchubertInput = "Sample message for keylen<blocklen" 240e0c4386eSCy SchubertKey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f 241e0c4386eSCy SchubertOutput = 4efd629d6c71bf86162658f29943b1c308ce27cdfa6db0d9c3ce81763f9cbce5f7ebe9868031db1a8f8eb7b6b95e5c5e3f657a8996c86a2f6527e307f0213196 242e0c4386eSCy SchubertOutputSize = 64 243e0c4386eSCy SchubertBlockSize = 72 244e0c4386eSCy Schubert 245e0c4386eSCy SchubertMAC = HMAC 246e0c4386eSCy SchubertAlgorithm = SHA3-512 247e0c4386eSCy SchubertInput = "Sample message for keylen=blocklen" 248e0c4386eSCy SchubertKey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f4041424344454647 249e0c4386eSCy SchubertOutput = 544e257ea2a3e5ea19a590e6a24b724ce6327757723fe2751b75bf007d80f6b360744bf1b7a88ea585f9765b47911976d3191cf83c039f5ffab0d29cc9d9b6da 250e0c4386eSCy Schubert 251e0c4386eSCy SchubertMAC = HMAC by EVP_PKEY 252e0c4386eSCy SchubertAlgorithm = SHA3-512 253e0c4386eSCy SchubertInput = "Sample message for keylen>blocklen" 254e0c4386eSCy SchubertKey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081828384858687 255e0c4386eSCy SchubertOutput = 5f464f5e5b7848e3885e49b2c385f0694985d0e38966242dc4a5fe3fea4b37d46b65ceced5dcf59438dd840bab22269f0ba7febdb9fcf74602a35666b2a32915 256e0c4386eSCy Schubert 257e0c4386eSCy SchubertTitle = HMAC self generated tests 258e0c4386eSCy Schubert 259e0c4386eSCy SchubertMAC = HMAC 260e0c4386eSCy SchubertAlgorithm = SHAKE128 261e0c4386eSCy SchubertInput = "Test that SHAKE128 fails" 262e0c4386eSCy SchubertKey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f 263e0c4386eSCy SchubertResult = MAC_INIT_ERROR 264e0c4386eSCy Schubert 265*e7be843bSPierre ProncheryTitle = HMAC FIPS short key test 266*e7be843bSPierre Pronchery 267*e7be843bSPierre Pronchery# Test HMAC with key < 112 bits is not allowed 268*e7be843bSPierre ProncheryAvailablein = fips 269*e7be843bSPierre ProncheryFIPSversion = >=3.4.0 270*e7be843bSPierre ProncheryMAC = HMAC 271*e7be843bSPierre ProncheryAlgorithm = SHA256 272*e7be843bSPierre ProncheryInput = "Test Input" 273*e7be843bSPierre ProncheryKey = 0001020304 274*e7be843bSPierre ProncheryResult = MAC_INIT_ERROR 275*e7be843bSPierre Pronchery 276*e7be843bSPierre ProncheryTitle = HMAC FIPS short key indicator test 277*e7be843bSPierre Pronchery 278*e7be843bSPierre Pronchery# Test HMAC with key < 112 bits is unapproved 279*e7be843bSPierre ProncheryAvailablein = fips 280*e7be843bSPierre ProncheryFIPSversion = >=3.4.0 281*e7be843bSPierre ProncheryMAC = HMAC 282*e7be843bSPierre ProncheryAlgorithm = SHA256 283*e7be843bSPierre ProncheryUnapproved = 1 284*e7be843bSPierre ProncheryCtrl = key-check:0 285*e7be843bSPierre ProncheryInput = "Test Input" 286*e7be843bSPierre ProncheryKey = 0001020304 287*e7be843bSPierre ProncheryOutput = db70da6176d87813b059879ccc27bc53e295c6eca74db8bdc4e77d7e951d894b 288*e7be843bSPierre Pronchery 289e0c4386eSCy SchubertTitle = CMAC tests (from FIPS module) 290e0c4386eSCy Schubert 291e0c4386eSCy SchubertMAC = CMAC 292e0c4386eSCy SchubertAlgorithm = AES-128-CBC 293e0c4386eSCy SchubertKey = 77A77FAF290C1FA30C683DF16BA7A77B 294e0c4386eSCy SchubertInput = 020683E1F0392F4CAC54318B6029259E9C553DBC4B6AD998E64D58E4E7DC2E13 295e0c4386eSCy SchubertOutput = FBFEA41BF9740CB501F1292C21CEBB40 296e0c4386eSCy Schubert 297e0c4386eSCy SchubertMAC = CMAC by EVP_PKEY 298e0c4386eSCy SchubertAlgorithm = AES-192-CBC 299e0c4386eSCy SchubertKey = 7B32391369AA4CA97558095BE3C3EC862BD057CEF1E32D62 300e0c4386eSCy SchubertInput = 301e0c4386eSCy SchubertOutput = E4D9340B03E67DEFD4969CC1ED3735E6 302e0c4386eSCy Schubert 303e0c4386eSCy SchubertMAC = CMAC 304e0c4386eSCy SchubertAlgorithm = AES-256-CBC 305e0c4386eSCy SchubertKey = 0B122AC8F34ED1FE082A3625D157561454167AC145A10BBF77C6A70596D574F1 306e0c4386eSCy SchubertInput = 498B53FDEC87EDCBF07097DCCDE93A084BAD7501A224E388DF349CE18959FE8485F8AD1537F0D896EA73BEDC7214713F 307e0c4386eSCy SchubertOutput = F62C46329B41085625669BAF51DEA66A 308e0c4386eSCy Schubert 309*e7be843bSPierre Pronchery# For AES - test only CBC mode is allowed 310*e7be843bSPierre ProncheryFIPSversion = >=3.1.0 311*e7be843bSPierre ProncheryMAC = CMAC 312*e7be843bSPierre ProncheryAlgorithm = AES-256-ECB 313*e7be843bSPierre ProncheryKey = 0B122AC8F34ED1FE082A3625D157561454167AC145A10BBF77C6A70596D574F1 314*e7be843bSPierre ProncheryInput = 498B53FDEC87EDCBF07097DCCDE93A084BAD7501A224E388DF349CE18959FE8485F8AD1537F0D896EA73BEDC7214713F 315*e7be843bSPierre ProncheryResult = MAC_INIT_ERROR 316*e7be843bSPierre ProncheryReason = invalid mode 317*e7be843bSPierre Pronchery 318*e7be843bSPierre Pronchery# Test CMAC with a small key is not allowed 319*e7be843bSPierre Pronchery# (Most ciphers have fixed length keys - so it fails due to this restriction). 320*e7be843bSPierre ProncheryMAC = CMAC 321*e7be843bSPierre ProncheryAlgorithm = AES-128-CBC 322*e7be843bSPierre ProncheryKey = 77A77FAF290C1FA30C68 323*e7be843bSPierre ProncheryInput = 020683E1F0392F4CAC54318B6029259E9C553DBC4B6AD998E64D58E4E7DC2E13 324*e7be843bSPierre ProncheryResult = MAC_INIT_ERROR 325*e7be843bSPierre ProncheryReason = invalid key length 326*e7be843bSPierre Pronchery 327e0c4386eSCy SchubertTitle = GMAC Tests (from NIST) 328e0c4386eSCy Schubert 329e0c4386eSCy SchubertMAC = GMAC 330e0c4386eSCy SchubertAlgorithm = AES-128-GCM 331e0c4386eSCy SchubertKey = 77BE63708971C4E240D1CB79E8D77FEB 332e0c4386eSCy SchubertIV = E0E00F19FED7BA0136A797F3 333e0c4386eSCy SchubertInput = 7A43EC1D9C0A5A78A0B16533A6213CAB 334e0c4386eSCy SchubertOutput = 209FCC8D3675ED938E9C7166709DD946 335e0c4386eSCy Schubert 336e0c4386eSCy SchubertTitle = GMAC Tests (from http://www.ieee802.org/1/files/public/docs2011/bn-randall-test-vectors-0511-v1.pdf) 337e0c4386eSCy Schubert 338e0c4386eSCy SchubertMAC = GMAC 339e0c4386eSCy SchubertAlgorithm = AES-128-GCM 340e0c4386eSCy SchubertKey = AD7A2BD03EAC835A6F620FDCB506B345 341e0c4386eSCy SchubertIV = 12153524C0895E81B2C28465 342e0c4386eSCy SchubertInput = D609B1F056637A0D46DF998D88E5222AB2C2846512153524C0895E8108000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233340001 343e0c4386eSCy SchubertOutput = F09478A9B09007D06F46E9B6A1DA25DD 344e0c4386eSCy Schubert 345e0c4386eSCy SchubertMAC = GMAC 346e0c4386eSCy SchubertAlgorithm = AES-256-GCM 347e0c4386eSCy SchubertKey = E3C08A8F06C6E3AD95A70557B23F75483CE33021A9C72B7025666204C69C0B72 348e0c4386eSCy SchubertIV = 12153524C0895E81B2C28465 349e0c4386eSCy SchubertInput = D609B1F056637A0D46DF998D88E5222AB2C2846512153524C0895E8108000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233340001 350e0c4386eSCy SchubertOutput = 2F0BC5AF409E06D609EA8B7D0FA5EA50 351e0c4386eSCy Schubert 352e0c4386eSCy SchubertMAC = GMAC 353e0c4386eSCy SchubertAlgorithm = AES-128-GCM 354e0c4386eSCy SchubertKey = 071B113B0CA743FECCCF3D051F737382 355e0c4386eSCy SchubertIV = F0761E8DCD3D000176D457ED 356e0c4386eSCy SchubertInput = E20106D7CD0DF0761E8DCD3D88E5400076D457ED08000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A0003 357e0c4386eSCy SchubertOutput = 0C017BC73B227DFCC9BAFA1C41ACC353 358e0c4386eSCy Schubert 359e0c4386eSCy SchubertMAC = GMAC 360e0c4386eSCy SchubertAlgorithm = AES-256-GCM 361e0c4386eSCy SchubertKey = 691D3EE909D7F54167FD1CA0B5D769081F2BDE1AEE655FDBAB80BD5295AE6BE7 362e0c4386eSCy SchubertIV = F0761E8DCD3D000176D457ED 363e0c4386eSCy SchubertInput = E20106D7CD0DF0761E8DCD3D88E5400076D457ED08000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A0003 364e0c4386eSCy SchubertOutput = 35217C774BBC31B63166BCF9D4ABED07 365e0c4386eSCy Schubert 366e0c4386eSCy SchubertMAC = GMAC 367e0c4386eSCy SchubertAlgorithm = AES-128-GCM 368e0c4386eSCy SchubertKey = 013FE00B5F11BE7F866D0CBBC55A7A90 369e0c4386eSCy SchubertIV = 7CFDE9F9E33724C68932D612 370e0c4386eSCy SchubertInput = 84C5D513D2AAF6E5BBD2727788E523008932D6127CFDE9F9E33724C608000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F0005 371e0c4386eSCy SchubertOutput = 217867E50C2DAD74C28C3B50ABDF695A 372e0c4386eSCy Schubert 373e0c4386eSCy SchubertMAC = GMAC 374e0c4386eSCy SchubertAlgorithm = AES-256-GCM 375e0c4386eSCy SchubertKey = 83C093B58DE7FFE1C0DA926AC43FB3609AC1C80FEE1B624497EF942E2F79A823 376e0c4386eSCy SchubertIV = 7CFDE9F9E33724C68932D612 377e0c4386eSCy SchubertInput = 84C5D513D2AAF6E5BBD2727788E523008932D6127CFDE9F9E33724C608000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F0005 378e0c4386eSCy SchubertOutput = 6EE160E8FAECA4B36C86B234920CA975 379e0c4386eSCy Schubert 380e0c4386eSCy SchubertMAC = GMAC 381e0c4386eSCy SchubertAlgorithm = AES-128-GCM 382e0c4386eSCy SchubertKey = 88EE087FD95DA9FBF6725AA9D757B0CD 383e0c4386eSCy SchubertIV = 7AE8E2CA4EC500012E58495C 384e0c4386eSCy SchubertInput = 68F2E77696CE7AE8E2CA4EC588E541002E58495C08000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D0007 385e0c4386eSCy SchubertOutput = 07922B8EBCF10BB2297588CA4C614523 386e0c4386eSCy Schubert 387e0c4386eSCy SchubertMAC = GMAC 388e0c4386eSCy SchubertAlgorithm = AES-256-GCM 389e0c4386eSCy SchubertKey = 4C973DBC7364621674F8B5B89E5C15511FCED9216490FB1C1A2CAA0FFE0407E5 390e0c4386eSCy SchubertIV = 7AE8E2CA4EC500012E58495C 391e0c4386eSCy SchubertInput = 68F2E77696CE7AE8E2CA4EC588E541002E58495C08000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D0007 392e0c4386eSCy SchubertOutput = 00BDA1B7E87608BCBF470F12157F4C07 393e0c4386eSCy Schubert 394*e7be843bSPierre ProncheryMAC = GMAC 395*e7be843bSPierre ProncheryAlgorithm = AES-256-CBC 396*e7be843bSPierre ProncheryKey = 4C973DBC7364621674F8B5B89E5C15511FCED9216490FB1C1A2CAA0FFE0407E5 397*e7be843bSPierre ProncheryIV = 7AE8E2CA4EC500012E58495C 398*e7be843bSPierre ProncheryInput = 68F2E77696CE7AE8E2CA4EC588E541002E58495C08000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D0007 399*e7be843bSPierre ProncheryResult = MAC_INIT_ERROR 400*e7be843bSPierre ProncheryReason = invalid mode 401e0c4386eSCy Schubert 402e0c4386eSCy SchubertTitle = KMAC Tests (From NIST) 403e0c4386eSCy SchubertMAC = KMAC128 404e0c4386eSCy SchubertKey = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F 405e0c4386eSCy SchubertInput = 00010203 406e0c4386eSCy SchubertCustom = "" 407e0c4386eSCy SchubertOutput = E5780B0D3EA6F7D3A429C5706AA43A00FADBD7D49628839E3187243F456EE14E 408e0c4386eSCy SchubertCtrl = xof:0 409e0c4386eSCy SchubertOutputSize = 32 410e0c4386eSCy SchubertBlockSize = 168 411e0c4386eSCy Schubert 412e0c4386eSCy SchubertMAC = KMAC128 413e0c4386eSCy SchubertKey = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F 414e0c4386eSCy SchubertInput = 00010203 415e0c4386eSCy SchubertCustom = "My Tagged Application" 416e0c4386eSCy SchubertOutput = 3B1FBA963CD8B0B59E8C1A6D71888B7143651AF8BA0A7070C0979E2811324AA5 417e0c4386eSCy Schubert 418e0c4386eSCy SchubertMAC = KMAC128 419e0c4386eSCy SchubertKey = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F 420e0c4386eSCy SchubertInput = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 421e0c4386eSCy SchubertCustom = "My Tagged Application" 422e0c4386eSCy SchubertOutput = 1F5B4E6CCA02209E0DCB5CA635B89A15E271ECC760071DFD805FAA38F9729230 423e0c4386eSCy SchubertCtrl = size:32 424e0c4386eSCy Schubert 425e0c4386eSCy SchubertMAC = KMAC256 426e0c4386eSCy SchubertKey = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F 427e0c4386eSCy SchubertInput = 00010203 428e0c4386eSCy SchubertCustom = "My Tagged Application" 429e0c4386eSCy SchubertOutput = 20C570C31346F703C9AC36C61C03CB64C3970D0CFC787E9B79599D273A68D2F7F69D4CC3DE9D104A351689F27CF6F5951F0103F33F4F24871024D9C27773A8DD 430e0c4386eSCy SchubertOutputSize = 64 431e0c4386eSCy SchubertBlockSize = 136 432e0c4386eSCy Schubert 433e0c4386eSCy SchubertMAC = KMAC256 434e0c4386eSCy SchubertKey = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F 435e0c4386eSCy SchubertInput = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 436e0c4386eSCy SchubertCustom = "" 437e0c4386eSCy SchubertOutput = 75358CF39E41494E949707927CEE0AF20A3FF553904C86B08F21CC414BCFD691589D27CF5E15369CBBFF8B9A4C2EB17800855D0235FF635DA82533EC6B759B69 438e0c4386eSCy Schubert 439e0c4386eSCy SchubertMAC = KMAC256 440e0c4386eSCy SchubertKey = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F 441e0c4386eSCy SchubertInput = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 442e0c4386eSCy SchubertCustom = "My Tagged Application" 443e0c4386eSCy SchubertOutput = B58618F71F92E1D56C1B8C55DDD7CD188B97B4CA4D99831EB2699A837DA2E4D970FBACFDE50033AEA585F1A2708510C32D07880801BD182898FE476876FC8965 444e0c4386eSCy SchubertCtrl = size:64 445e0c4386eSCy Schubert 446e0c4386eSCy SchubertTitle = KMAC XOF Tests (From NIST) 447e0c4386eSCy Schubert 448e0c4386eSCy SchubertMAC = KMAC128 449e0c4386eSCy SchubertKey = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F 450e0c4386eSCy SchubertInput = 00010203 451e0c4386eSCy SchubertOutput = CD83740BBD92CCC8CF032B1481A0F4460E7CA9DD12B08A0C4031178BACD6EC35 452e0c4386eSCy SchubertXOF = 1 453e0c4386eSCy Schubert 454e0c4386eSCy SchubertMAC = KMAC128 455e0c4386eSCy SchubertKey = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F 456e0c4386eSCy SchubertInput = 00010203 457e0c4386eSCy SchubertCustom = "My Tagged Application" 458e0c4386eSCy SchubertOutput = 31A44527B4ED9F5C6101D11DE6D26F0620AA5C341DEF41299657FE9DF1A3B16C 459e0c4386eSCy SchubertXOF = 1 460e0c4386eSCy Schubert 461e0c4386eSCy SchubertMAC = KMAC128 462e0c4386eSCy SchubertKey = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F 463e0c4386eSCy SchubertInput = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 464e0c4386eSCy SchubertCustom = "My Tagged Application" 465e0c4386eSCy SchubertOutput = 47026C7CD793084AA0283C253EF658490C0DB61438B8326FE9BDDF281B83AE0F 466e0c4386eSCy SchubertXOF = 1 467e0c4386eSCy SchubertCtrl = size:32 468e0c4386eSCy Schubert 469e0c4386eSCy SchubertMAC = KMAC256 470e0c4386eSCy SchubertKey = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F 471e0c4386eSCy SchubertInput = 00010203 472e0c4386eSCy SchubertCustom = "My Tagged Application" 473e0c4386eSCy SchubertOutput = 1755133F1534752AAD0748F2C706FB5C784512CAB835CD15676B16C0C6647FA96FAA7AF634A0BF8FF6DF39374FA00FAD9A39E322A7C92065A64EB1FB0801EB2B 474e0c4386eSCy SchubertXOF = 1 475e0c4386eSCy Schubert 476e0c4386eSCy SchubertMAC = KMAC256 477e0c4386eSCy SchubertKey = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F 478e0c4386eSCy SchubertInput = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 479e0c4386eSCy SchubertCustom = "" 480e0c4386eSCy SchubertOutput = FF7B171F1E8A2B24683EED37830EE797538BA8DC563F6DA1E667391A75EDC02CA633079F81CE12A25F45615EC89972031D18337331D24CEB8F8CA8E6A19FD98B 481e0c4386eSCy SchubertXOF = 1 482e0c4386eSCy Schubert 483e0c4386eSCy SchubertMAC = KMAC256 484e0c4386eSCy SchubertKey = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F 485e0c4386eSCy SchubertInput = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 486e0c4386eSCy SchubertCustom = "My Tagged Application" 487e0c4386eSCy SchubertOutput = D5BE731C954ED7732846BB59DBE3A8E30F83E77A4BFF4459F2F1C2B4ECEBB8CE67BA01C62E8AB8578D2D499BD1BB276768781190020A306A97DE281DCC30305D 488e0c4386eSCy SchubertCtrl = size:64 489e0c4386eSCy SchubertXOF = 1 490e0c4386eSCy Schubert 491e0c4386eSCy SchubertTitle = KMAC long customisation string (from NIST ACVP) 492e0c4386eSCy Schubert 493e0c4386eSCy SchubertMAC = KMAC256 494e0c4386eSCy SchubertKey = 9743DBF93102FAF11227B154B8ACD16CF142671F7AA16C559A393A38B4CEF461ED29A6A328D7379C99718790E38B54CA25E9E831CBEA463EE704D1689F94629AB795DF0C77F756DA743309C0E054596BA2D9CC1768ACF7CD351D9A7EB1ABD0A3 495e0c4386eSCy SchubertInput = BA63AC9C711F143CCE7FF92D0322649D1BE437D805FD225C0A2879A008373EC3BCCDB09971FAD2BCE5F4347AF7E5238EF01A90ED34193D6AFC1D 496e0c4386eSCy SchubertCustom = "]J&/.?L/c&}p(b!X|?>i7!]CAH6P@1<R'6|uOu2Vu^kCM!$ Een^pn&Zlale){mQhKjqe,)'-fsX6:u@D6+ZA^b70A)n)LMxo:Y!62;:[hP*yLERjL@rq30+iRaD#9|" 497e0c4386eSCy SchubertOutput = 4057EFD76A63049418AFC54559589821322B6029808A3BCAE4D49E961F909F5F667ACAD56BBCFB8033DCB4CC10AF1B53F014B8 498e0c4386eSCy SchubertCtrl = size:51 499e0c4386eSCy SchubertXOF = 1 500e0c4386eSCy Schubert 501e0c4386eSCy SchubertTitle = KMAC XOF Tests via ctrl (From NIST) 502e0c4386eSCy Schubert 503e0c4386eSCy SchubertMAC = KMAC128 504e0c4386eSCy SchubertKey = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F 505e0c4386eSCy SchubertInput = 00010203 506e0c4386eSCy SchubertOutput = CD83740BBD92CCC8CF032B1481A0F4460E7CA9DD12B08A0C4031178BACD6EC35 507e0c4386eSCy SchubertCtrl = xof:1 508e0c4386eSCy Schubert 509e0c4386eSCy SchubertMAC = KMAC128 510e0c4386eSCy SchubertKey = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F 511e0c4386eSCy SchubertInput = 00010203 512e0c4386eSCy SchubertCustom = "My Tagged Application" 513e0c4386eSCy SchubertOutput = 31A44527B4ED9F5C6101D11DE6D26F0620AA5C341DEF41299657FE9DF1A3B16C 514e0c4386eSCy SchubertCtrl = xof:1 515e0c4386eSCy Schubert 516e0c4386eSCy SchubertMAC = KMAC128 517e0c4386eSCy SchubertKey = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F 518e0c4386eSCy SchubertInput = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 519e0c4386eSCy SchubertCustom = "My Tagged Application" 520e0c4386eSCy SchubertOutput = 47026C7CD793084AA0283C253EF658490C0DB61438B8326FE9BDDF281B83AE0F 521e0c4386eSCy SchubertCtrl = xof:1 522e0c4386eSCy SchubertCtrl = size:32 523e0c4386eSCy Schubert 524e0c4386eSCy SchubertMAC = KMAC256 525e0c4386eSCy SchubertKey = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F 526e0c4386eSCy SchubertInput = 00010203 527e0c4386eSCy SchubertCustom = "My Tagged Application" 528e0c4386eSCy SchubertOutput = 1755133F1534752AAD0748F2C706FB5C784512CAB835CD15676B16C0C6647FA96FAA7AF634A0BF8FF6DF39374FA00FAD9A39E322A7C92065A64EB1FB0801EB2B 529e0c4386eSCy SchubertCtrl = xof:1 530e0c4386eSCy Schubert 531e0c4386eSCy SchubertMAC = KMAC256 532e0c4386eSCy SchubertKey = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F 533e0c4386eSCy SchubertInput = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 534e0c4386eSCy SchubertCustom = "" 535e0c4386eSCy SchubertOutput = FF7B171F1E8A2B24683EED37830EE797538BA8DC563F6DA1E667391A75EDC02CA633079F81CE12A25F45615EC89972031D18337331D24CEB8F8CA8E6A19FD98B 536e0c4386eSCy SchubertCtrl = xof:1 537e0c4386eSCy Schubert 538e0c4386eSCy SchubertMAC = KMAC256 539e0c4386eSCy SchubertKey = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F 540e0c4386eSCy SchubertInput = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 541e0c4386eSCy SchubertCustom = "My Tagged Application" 542e0c4386eSCy SchubertOutput = D5BE731C954ED7732846BB59DBE3A8E30F83E77A4BFF4459F2F1C2B4ECEBB8CE67BA01C62E8AB8578D2D499BD1BB276768781190020A306A97DE281DCC30305D 543e0c4386eSCy SchubertCtrl = size:64 544e0c4386eSCy SchubertCtrl = xof:1 545e0c4386eSCy Schubert 546e0c4386eSCy SchubertTitle = KMAC long customisation string via ctrl (from NIST ACVP) 547e0c4386eSCy Schubert 548e0c4386eSCy SchubertMAC = KMAC256 549e0c4386eSCy SchubertKey = 9743DBF93102FAF11227B154B8ACD16CF142671F7AA16C559A393A38B4CEF461ED29A6A328D7379C99718790E38B54CA25E9E831CBEA463EE704D1689F94629AB795DF0C77F756DA743309C0E054596BA2D9CC1768ACF7CD351D9A7EB1ABD0A3 550e0c4386eSCy SchubertInput = BA63AC9C711F143CCE7FF92D0322649D1BE437D805FD225C0A2879A008373EC3BCCDB09971FAD2BCE5F4347AF7E5238EF01A90ED34193D6AFC1D 551e0c4386eSCy SchubertCustom = "]J&/.?L/c&}p(b!X|?>i7!]CAH6P@1<R'6|uOu2Vu^kCM!$ Een^pn&Zlale){mQhKjqe,)'-fsX6:u@D6+ZA^b70A)n)LMxo:Y!62;:[hP*yLERjL@rq30+iRaD#9|" 552e0c4386eSCy SchubertOutput = 4057EFD76A63049418AFC54559589821322B6029808A3BCAE4D49E961F909F5F667ACAD56BBCFB8033DCB4CC10AF1B53F014B8 553e0c4386eSCy SchubertCtrl = size:51 554e0c4386eSCy SchubertCtrl = xof:1 555e0c4386eSCy Schubert 556e0c4386eSCy SchubertTitle = KMAC long customisation string negative test 557e0c4386eSCy Schubert 558e0c4386eSCy SchubertMAC = KMAC128 559e0c4386eSCy SchubertKey = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F 560e0c4386eSCy SchubertInput = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 561e0c4386eSCy SchubertCustom = ":abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789::abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789::abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789::abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:::abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789::abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789::abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789::abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789::" 562e0c4386eSCy SchubertResult = MAC_INIT_ERROR 563*e7be843bSPierre ProncheryReason = invalid custom length 564e0c4386eSCy Schubert 565e0c4386eSCy SchubertTitle = KMAC output is too large 566e0c4386eSCy Schubert 567e0c4386eSCy SchubertMAC = KMAC256 568e0c4386eSCy SchubertKey = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F 569e0c4386eSCy SchubertInput = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 570e0c4386eSCy SchubertCustom = "My Tagged Application" 571e0c4386eSCy SchubertCtrl = size:2097152 572e0c4386eSCy SchubertResult = MAC_INIT_ERROR 573*e7be843bSPierre ProncheryReason = invalid output length 574*e7be843bSPierre Pronchery 575*e7be843bSPierre ProncheryTitle = KMAC output is too small in FIPS 576*e7be843bSPierre Pronchery 577*e7be843bSPierre ProncheryAvailablein = fips 578*e7be843bSPierre ProncheryFIPSversion = >=3.4.0 579*e7be843bSPierre ProncheryMAC = KMAC256 580*e7be843bSPierre ProncheryKey = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F 581*e7be843bSPierre ProncheryInput = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 582*e7be843bSPierre ProncheryOutput = 28c815 583*e7be843bSPierre ProncheryCustom = "My Tagged Application" 584*e7be843bSPierre ProncheryUnapproved = 1 585*e7be843bSPierre ProncheryCtrl = size:3 586*e7be843bSPierre ProncheryCtrl = no-short-mac:0 587*e7be843bSPierre Pronchery 588*e7be843bSPierre ProncheryAvailablein = fips 589*e7be843bSPierre ProncheryFIPSversion = >=3.4.0 590*e7be843bSPierre ProncheryMAC = KMAC256 591*e7be843bSPierre ProncheryKey = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F 592*e7be843bSPierre ProncheryInput = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 593*e7be843bSPierre ProncheryOutput = 28c815 594*e7be843bSPierre ProncheryCustom = "My Tagged Application" 595*e7be843bSPierre ProncheryCtrl = size:3 596*e7be843bSPierre ProncheryResult = MAC_INIT_ERROR 597*e7be843bSPierre ProncheryReason = invalid output length 598*e7be843bSPierre Pronchery 599*e7be843bSPierre ProncheryAvailablein = fips 600*e7be843bSPierre ProncheryFIPSversion = >=3.4.0 601*e7be843bSPierre ProncheryMAC = KMAC256 602*e7be843bSPierre ProncheryKey = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F 603*e7be843bSPierre ProncheryInput = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 604*e7be843bSPierre ProncheryOutput = 28c815 605*e7be843bSPierre ProncheryCustom = "My Tagged Application" 606*e7be843bSPierre ProncheryCtrl = size:3 607*e7be843bSPierre ProncheryCtrl = no-short-mac:1 608*e7be843bSPierre ProncheryResult = MAC_INIT_ERROR 609*e7be843bSPierre ProncheryReason = invalid output length 610*e7be843bSPierre Pronchery 611*e7be843bSPierre Pronchery# Old FIPS providers accept short output 612*e7be843bSPierre ProncheryFIPSversion = <3.4.0 613*e7be843bSPierre ProncheryMAC = KMAC256 614*e7be843bSPierre ProncheryKey = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F 615*e7be843bSPierre ProncheryInput = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 616*e7be843bSPierre ProncheryOutput = 28c815 617*e7be843bSPierre ProncheryCustom = "My Tagged Application" 618*e7be843bSPierre ProncheryCtrl = size:3 619*e7be843bSPierre Pronchery 620*e7be843bSPierre Pronchery# The default provider accepts short output 621*e7be843bSPierre ProncheryAvailablein = default 622*e7be843bSPierre ProncheryMAC = KMAC256 623*e7be843bSPierre ProncheryKey = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F 624*e7be843bSPierre ProncheryInput = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 625*e7be843bSPierre ProncheryOutput = 28c815 626*e7be843bSPierre ProncheryCustom = "My Tagged Application" 627*e7be843bSPierre ProncheryCtrl = size:3 628*e7be843bSPierre Pronchery 629*e7be843bSPierre ProncheryTitle = KMAC FIPS short key test 630*e7be843bSPierre Pronchery 631*e7be843bSPierre Pronchery# Test KMAC with key < 112 bits is not allowed 632*e7be843bSPierre ProncheryAvailablein = fips 633*e7be843bSPierre ProncheryFIPSversion = >=3.4.0 634*e7be843bSPierre ProncheryMAC = KMAC256 635*e7be843bSPierre ProncheryKey = 404142434445464748494A4B4C 636*e7be843bSPierre ProncheryInput = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 637*e7be843bSPierre ProncheryCustom = "" 638*e7be843bSPierre ProncheryResult = MAC_INIT_ERROR 639*e7be843bSPierre ProncheryReason = invalid key length 640*e7be843bSPierre Pronchery 641*e7be843bSPierre ProncheryTitle = KMAC FIPS short key indicator test 642*e7be843bSPierre Pronchery 643*e7be843bSPierre Pronchery# Test KMAC with key < 112 bits is unapproved 644*e7be843bSPierre ProncheryAvailablein = fips 645*e7be843bSPierre ProncheryFIPSversion = >=3.4.0 646*e7be843bSPierre ProncheryMAC = KMAC256 647*e7be843bSPierre ProncheryUnapproved = 1 648*e7be843bSPierre ProncheryCtrl = key-check:0 649*e7be843bSPierre ProncheryKey = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F 650*e7be843bSPierre ProncheryInput = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 651*e7be843bSPierre ProncheryCustom = "" 652*e7be843bSPierre ProncheryOutput = 75358CF39E41494E949707927CEE0AF20A3FF553904C86B08F21CC414BCFD691589D27CF5E15369CBBFF8B9A4C2EB17800855D0235FF635DA82533EC6B759B69 653