Blowfish Cipher Test Vectors

A list of test vectors is provided for the 16-round and 64-bit block Blowfish cipher algorithm.

In order to verify the Blowfish cipher algorithm, a list of test vectors is provided on Bruce Schneier's personal website at https://www.schneier.com/code/vectors.txt. Here are 33 test vectors generated by Eric Young for the standard 16-round Blowfish encryption algorithm applied to a single 8-byte cipher block.

     Key bytes          Clear bytes        Cipher bytes
 1   0000000000000000   0000000000000000   4EF997456198DD78
 2   FFFFFFFFFFFFFFFF   FFFFFFFFFFFFFFFF   51866FD5B85ECB8A
 3   3000000000000000   1000000000000001   7D856F9A613063F2
 4   1111111111111111   1111111111111111   2466DD878B963C9D
 5   0123456789ABCDEF   1111111111111111   61F9C3802281B096
 6   1111111111111111   0123456789ABCDEF   7D0CC630AFDA1EC7
 7   FEDCBA9876543210   0123456789ABCDEF   0ACEAB0FC6A0A28D
 8   7CA110454A1A6E57   01A1D6D039776742   59C68245EB05282B
 9   0131D9619DC1376E   5CD54CA83DEF57DA   B1B8CC0B250F09A0
10   07A1133E4A0B2686   0248D43806F67172   1730E5778BEA1DA4
11   3849674C2602319E   51454B582DDF440A   A25E7856CF2651EB
12   04B915BA43FEB5B6   42FD443059577FA2   353882B109CE8F1A
13   0113B970FD34F2CE   059B5E0851CF143A   48F4D0884C379918
14   0170F175468FB5E6   0756D8E0774761D2   432193B78951FC98
15   43297FAD38E373FE   762514B829BF486A   13F04154D69D1AE5
16   07A7137045DA2A16   3BDD119049372802   2EEDDA93FFD39C79
17   04689104C2FD3B2F   26955F6835AF609A   D887E0393C2DA6E3
18   37D06BB516CB7546   164D5E404F275232   5F99D04F5B163969
19   1F08260D1AC2465E   6B056E18759F5CCA   4A057A3B24D3977B
20   584023641ABA6176   004BD6EF09176062   452031C1E4FADA8E
21   025816164629B007   480D39006EE762F2   7555AE39F59B87BD
22   49793EBC79B3258F   437540C8698F3CFA   53C55F9CB49FC019
23   4FB05E1515AB73A7   072D43A077075292   7A8E7BFA937E89A3
24   49E95D6D4CA229BF   02FE55778117F12A   CF9C5D7A4986ADB5
25   018310DC409B26D6   1D9D5C5018F728C2   D1ABB290658BC778
26   1C587F1C13924FEF   305532286D6F295A   55CB3774D13EF201
27   0101010101010101   0123456789ABCDEF   FA34EC4847B268B2
28   1F1F1F1F0E0E0E0E   0123456789ABCDEF   A790795108EA3CAE
29   E0FEE0FEF1FEF1FE   0123456789ABCDEF   C39E072D9FAC631D
30   0000000000000000   FFFFFFFFFFFFFFFF   014933E0CDAFF6E4
31   FFFFFFFFFFFFFFFF   0000000000000000   F21E9A77B71C49BC
32   0123456789ABCDEF   0000000000000000   245946885754369A
33   FEDCBA9876543210   FFFFFFFFFFFFFFFF   6B5C5A9C5D9E0A5A

These values are hexadecimal strings for 8-byte values.

Table of Contents

 About This Book

Blowfish Cipher Algorithm

 Blowfish Cipher Encryption Algorithm

 Key Schedule (Sub-Keys and S-Boxes) Algorithm

 Efficient Form of the Blowfish Algorithm

 Blowfish Cipher Decryption Algorithm

 Proof of Blowfish Cipher Algorithm

Blowfish Cipher Test Vectors

 First 8336 Fractional Hex Digits of PI

 piqpr8.c - Generating Hex Digits of PI

 Perl Crypt::Blowfish Module

 Perl Crypt::ECB Perl Module

 Perl Crypt::CBC Module

 Perl Crypt::CFB Perl Module

 OpenSSL "enc -bf-ecb" for Blowfish/ECB Encryption

 OpenSSL "enc -bf-cbc" for Blowfish/CBC Encryption

 OpenSSL "enc -bf-cfb" for Blowfish/CFB Encryption

 OpenSSL "enc -bf-ofb" for Blowfish/OFB Encryption

 PHP Mcrypt Extension for Blowfish

 Blowfish 8-Bit Cipher in PHP

 References

 Full Version in PDF/EPUB