Table of Contents

SHA-3 Test Vectors

Source

NIST FIPS 202: SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions


SHA3-256

Algorithm Parameters

Parameter Value
Hash Size 256 bits (32 bytes)
Rate 1088 bits (136 bytes)
Capacity 512 bits (64 bytes)
Rounds (Keccak-f) 24
Domain Separator 0x06

Test Vectors

Vector 1: Empty String (0 bits)

Message: "" (empty string, 0 bits)
Message (hex): (empty)
SHA3-256: a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a

Vector 2: "abc" (24 bits)

Message: "abc"
Message (hex): 616263
SHA3-256: 3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532

Vector 3: 5-bit Message

Message (bits): 11001
Message (hex): 13 (with bit padding)
SHA3-256: 7b0047cf5a456882363cbf0fb05322cf65f4b7059a46365e830132e3b5d957af

Vector 4: 30-bit Message

Message (bits): 110010100001101011011110100110
Message (hex): 53 58 7b c8 (with bit padding)
SHA3-256: c8242fef409e5ae9d1f1c857ae4dc624b92b19809f62aa8c07411c54a078b1d0

Vector 5: 1600-bit Message (200 bytes)

Message: 200 bytes of 0xa3
SHA3-256: 79f38adec5c20307a98ef76e8324afbfd46cfd81b22e3973c65fa1bd9de31787

Vector 6: Two Block Message

Message: "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmn
          hijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu"
SHA3-256: 916f6061fe879741ca6469b43971dfdb28b1a32dc36cb3254e812be27aad1d18

Vector 7: Long Message (1,000,000 'a' characters)

Message: 1,000,000 repetitions of 'a'
SHA3-256: 5c8875ae474a3634ba4fd55ec85bffd661f32aca75c6d699d0cdcb6c115891c1

SHA3-512

Algorithm Parameters

Parameter Value
Hash Size 512 bits (64 bytes)
Rate 576 bits (72 bytes)
Capacity 1024 bits (128 bytes)
Rounds (Keccak-f) 24
Domain Separator 0x06

Test Vectors

Vector 1: Empty String (0 bits)

Message: "" (empty string, 0 bits)
Message (hex): (empty)
SHA3-512: a69f73cca23a9ac5c8b567dc185a756e97c982164fe25859e0d1dcc1475c80a6
          15b2123af1f5f94c11e3e9402c3ac558f500199d95b6d3e301758586281dcd26

Vector 2: "abc" (24 bits)

Message: "abc"
Message (hex): 616263
SHA3-512: b751850b1a57168a5693cd924b6b096e08f621827444f70d884f5d0240d2712e
          10e116e9192af3c91a7ec57647e3934057340b4cf408d5a56592f8274eec53f0

Vector 3: 5-bit Message

Message (bits): 11001
SHA3-512: a13e01494114c09800622a70288c432121ce70039d753cadd2e006e4d961cb27
          544c1e4e7e3fec2a8c54a74dbd01d9f78f16c02815f52a1e4d8e7a07e4c44a7b

Vector 4: 30-bit Message

Message (bits): 110010100001101011011110100110
SHA3-512: 9834c05a11e1c5d3da9c740e1c106d9e590a0e530b6f6aaa7830525d075ca5db
          1bd8a6aa981a28613ac334934a01823cd45f45e49b6d7e6917f2f16778067bab

Vector 5: 1600-bit Message (200 bytes)

Message: 200 bytes of 0xa3
SHA3-512: e76dfad22084a8b1467fcf2ffa58361bec7628edf5f3fdc0e4805dc48caeeca8
          1b7c13c30adf52a3659584739a2df46be589c51ca1a4a8416df6545a1ce8ba00

Vector 6: Long Message (1,000,000 'a' characters)

Message: 1,000,000 repetitions of 'a'
SHA3-512: 3c3a876da14034ab60627c077bb98f7e120a2a5370212dffb3385a18d4f38859
          ed311d0a9d5141ce9cc5c66ee689b266a8aa18ace8282a0e0db596c90b0a7b87

SHA3-224

Algorithm Parameters

Parameter Value
Hash Size 224 bits (28 bytes)
Rate 1152 bits (144 bytes)
Capacity 448 bits (56 bytes)

Test Vectors

Vector 1: Empty String

Message: "" (empty string, 0 bits)
SHA3-224: 6b4e03423667dbb73b6e15454f0eb1abd4597f9a1b078e3f5b5a6bc7

Vector 2: "abc"

Message: "abc"
SHA3-224: e642824c3f8cf24ad09234ee7d3c766fc9a3a5168d0c94ad73b46fdf

SHA3-384

Algorithm Parameters

Parameter Value
Hash Size 384 bits (48 bytes)
Rate 832 bits (104 bytes)
Capacity 768 bits (96 bytes)

Test Vectors

Vector 1: Empty String

Message: "" (empty string, 0 bits)
SHA3-384: 0c63a75b845e4f7d01107d852e4c2485c51a50aaaa94fc61995e71bbee983a2a
          c3713831264adb47fb6bd1e058d5f004

Vector 2: "abc"

Message: "abc"
SHA3-384: ec01498288516fc926459f58e2c6ad8df9b473cb0fc08c2596da7cf0e49be4b2
          98d88cea927ac7f539f1edf228376d25

Keccak Permutation Constants

Round Constants (RC)

RC[ 0] = 0x0000000000000001    RC[ 1] = 0x0000000000008082
RC[ 2] = 0x800000000000808a    RC[ 3] = 0x8000000080008000
RC[ 4] = 0x000000000000808b    RC[ 5] = 0x0000000080000001
RC[ 6] = 0x8000000080008081    RC[ 7] = 0x8000000000008009
RC[ 8] = 0x000000000000008a    RC[ 9] = 0x0000000000000088
RC[10] = 0x0000000080008009    RC[11] = 0x000000008000000a
RC[12] = 0x000000008000808b    RC[13] = 0x800000000000008b
RC[14] = 0x8000000000008089    RC[15] = 0x8000000000008003
RC[16] = 0x8000000000008002    RC[17] = 0x8000000000000080
RC[18] = 0x000000000000800a    RC[19] = 0x800000008000000a
RC[20] = 0x8000000080008081    RC[21] = 0x8000000000008080
RC[22] = 0x0000000080000001    RC[23] = 0x8000000080008008

Rotation Offsets

r[0][0] =  0    r[0][1] = 36    r[0][2] =  3    r[0][3] = 41    r[0][4] = 18
r[1][0] =  1    r[1][1] = 44    r[1][2] = 10    r[1][3] = 45    r[1][4] =  2
r[2][0] = 62    r[2][1] =  6    r[2][2] = 43    r[2][3] = 15    r[2][4] = 61
r[3][0] = 28    r[3][1] = 55    r[3][2] = 25    r[3][3] = 21    r[3][4] = 56
r[4][0] = 27    r[4][1] = 20    r[4][2] = 39    r[4][3] =  8    r[4][4] = 14