# Test vectors for Blowfish blowfish { # --- Main block cipher --- # # Taken from Bruce Schneier's web pages, I think... 0000000000000000 0000000000000000 4ef997456198dd78; ffffffffffffffff ffffffffffffffff 51866fd5b85ecb8a; 3000000000000000 1000000000000001 7d856f9a613063f2; 1111111111111111 1111111111111111 2466dd878b963c9d; 0123456789abcdef 1111111111111111 61f9c3802281b096; 1111111111111111 0123456789abcdef 7d0cc630afda1ec7; 0000000000000000 0000000000000000 4ef997456198dd78; fedcba9876543210 0123456789abcdef 0aceab0fc6a0a28d; 7ca110454a1a6e57 01a1d6d039776742 59c68245eb05282b; 0131d9619dc1376e 5cd54ca83def57da b1b8cc0b250f09a0; 07a1133e4a0b2686 0248d43806f67172 1730e5778bea1da4; 3849674c2602319e 51454b582ddf440a a25e7856cf2651eb; 04b915ba43feb5b6 42fd443059577fa2 353882b109ce8f1a; 0113b970fd34f2ce 059b5e0851cf143a 48f4d0884c379918; 0170f175468fb5e6 0756d8e0774761d2 432193b78951fc98; 43297fad38e373fe 762514b829bf486a 13f04154d69d1ae5; 07a7137045da2a16 3bdd119049372802 2eedda93ffd39c79; 04689104c2fd3b2f 26955f6835af609a d887e0393c2da6e3; 37d06bb516cb7546 164d5e404f275232 5f99d04f5b163969; 1f08260d1ac2465e 6b056e18759f5cca 4a057a3b24d3977b; 584023641aba6176 004bd6ef09176062 452031c1e4fada8e; 025816164629b007 480d39006ee762f2 7555ae39f59b87bd; 49793ebc79b3258f 437540c8698f3cfa 53c55f9cb49fc019; 4fb05e1515ab73a7 072d43a077075292 7a8e7bfa937e89a3; 49e95d6d4ca229bf 02fe55778117f12a cf9c5d7a4986adb5; 018310dc409b26d6 1d9d5c5018f728c2 d1abb290658bc778; 1c587f1c13924fef 305532286d6f295a 55cb3774d13ef201; 0101010101010101 0123456789abcdef fa34ec4847b268b2; 1f1f1f1f0e0e0e0e 0123456789abcdef a790795108ea3cae; e0fee0fef1fef1fe 0123456789abcdef c39e072d9fac631d; 0000000000000000 ffffffffffffffff 014933e0cdaff6e4; ffffffffffffffff 0000000000000000 f21e9a77b71c49bc; 0123456789abcdef 0000000000000000 245946885754369a; fedcba9876543210 ffffffffffffffff 6b5c5a9c5d9e0a5a; # --- Key schedule test --- # # From wherever the previous tests came from. f0 fedcba9876543210 f9ad597c49db005e; f0e1 fedcba9876543210 e91d21c1d961a6d6; f0e1d2 fedcba9876543210 e9c2b70a1bc65cf3; f0e1d2c3 fedcba9876543210 be1e639408640f05; f0e1d2c3b4 fedcba9876543210 b39e44481bdb1e6e; f0e1d2c3b4a5 fedcba9876543210 9457aa83b1928c0d; f0e1d2c3b4a596 fedcba9876543210 8bb77032f960629d; f0e1d2c3b4a59687 fedcba9876543210 e87a244e2cc85e82; f0e1d2c3b4a5968778 fedcba9876543210 15750e7a4f4ec577; f0e1d2c3b4a596877869 fedcba9876543210 122ba70b3ab64ae0; f0e1d2c3b4a5968778695a fedcba9876543210 3a833c9affc537f6; f0e1d2c3b4a5968778695a4b fedcba9876543210 9409da87a90f6bf2; f0e1d2c3b4a5968778695a4b3c fedcba9876543210 884f80625060b8b4; f0e1d2c3b4a5968778695a4b3c2d fedcba9876543210 1f85031c19e11968; f0e1d2c3b4a5968778695a4b3c2d1e fedcba9876543210 79d9373a714ca34f; f0e1d2c3b4a5968778695a4b3c2d1e0f fedcba9876543210 93142887ee3be15c; f0e1d2c3b4a5968778695a4b3c2d1e0f00 fedcba9876543210 03429e838ce2d14b; f0e1d2c3b4a5968778695a4b3c2d1e0f0011 fedcba9876543210 a4299e27469ff67b; f0e1d2c3b4a5968778695a4b3c2d1e0f001122 fedcba9876543210 afd5aed1c1bc96a8; f0e1d2c3b4a5968778695a4b3c2d1e0f00112233 fedcba9876543210 10851c0e3858da9f; f0e1d2c3b4a5968778695a4b3c2d1e0f0011223344 fedcba9876543210 e6f51ed79b9db21f; f0e1d2c3b4a5968778695a4b3c2d1e0f001122334455 fedcba9876543210 64a6e14afd36b46f; f0e1d2c3b4a5968778695a4b3c2d1e0f00112233445566 fedcba9876543210 80c7d7d45a5479ad; f0e1d2c3b4a5968778695a4b3c2d1e0f0011223344556677 fedcba9876543210 05044b62fa52d080; } blowfish-cmac { 60d7bcda163547d348b7551195e77022907dd1dff7dac5c9941d26d0c6eb14ad568f86edd1dc9268eeee533285a6ed810c9b689daaa906 "" 233f464f6f4fed40; 0d2d4b6003062365b0a54364c76c160f11896c4794846ecfa14a7130c9f137120634c9519848a877ff77bf79192a5b50ade5d9cd739a3d 1f f80086d1f74c3c25; 337f29549e6b0d27a4ba234085406a6136512061f7080cc07df0591d8fa21f2dd88374d8cde8e160ad10997a21635c6d62c9269029df3e 6057acc87638f508046733d9ff61cdbda3b3e9878731ebfe 88141768f1834980; dd4705e505da1435dceaa7b1cc49ae1d50c38201a894476b3f102b752eb9529533966f27043eb621b7f65b000961040ef2f9b2fc5fa450 727a9b542cde52ebfda19d0ccc520f215eb57b 8b2e3c8554c039c5; b3a4f3ebbbb18ac6c95a97 "" 992c2d7bae553fa1; a48030370c33d090c54215 ab 3ef759021e0bd2c2; d6b3ad54efc9a38378c5b9 3bf4f2aad2605faee2b03fb648e27fff63102758fe2b69ac 7ef83257367f4dcf; 26afa3349829b94586306f ed54154f8f28523c03d4de1600157846b710ee 595b0c57e4ecd664; 72807a2219 "" c17ded27f35e843b; bfb474fd71 d8 063d632b053cfb61; 91f24bb65d 1563259f9eb53b571ea629c54d57dd2d42f70800df9fcbac aefe8538008cd029; a48b77dba1 89196d1ebba10b0467cb9fc2712a199e533fa9 296073d2f0263834; 156308cdec3f768281e040a9b9a222bd689aef66f5306c "" fc5dcde84c290e8e; eb0c6b08ac8b0a22260c571b4a42bb8fdb233bfa6a5cfb 0b f0e70394d6b143c9; ad7d95214ade49cb3b6f5fe8368131115c037ba323fe1d c8151784873f0eb5b647da6794c18b5337685a96ed65b9ac a9be9c5120820347; a338527ef19b09c063c46f88de9fd41e72d7b97e23e6ea bdff3bcd211499268878dbf30f1dad89d4b9b1 a54fb7e239aeec4c; } blowfish-eax { 60d7bcda163547d348b7551195e77022907dd1dff7dac5c9941d26d0c6eb14ad568f86edd1dc9268eeee533285a6ed810c9b689daaa906 "" "" "" "" a6e2fbebaf974200; 0d2d4b6003062365b0a54364c76c160f11896c4794846ecfa14a7130c9f137120634c9519848a877ff77bf79192a5b50ade5d9cd739a3d 1f "" "" "" 4cc58c2f4cf91137; 337f29549e6b0d27a4ba234085406a6136512061f7080cc07df0591d8fa21f2dd88374d8cde8e160ad10997a21635c6d62c9269029df3e "" 60 "" "" c35fc08fda46f599; 57acc87638f508046733d9ff61cdbda3b3e9878731ebfedd4705e505da1435dceaa7b1cc49ae1d50c38201a894476b3f102b752eb95295 "" "" 33 9c b7c0dcb87a8b86c9; 966f27043eb621b7f65b000961040ef2f9b2fc5fa450727a9b542cde52ebfda19d0ccc520f215eb57bb3a4f3ebbbb18ac6c95a97a48030 370c33d090c54215 abd6b3ad54efc9a38378c5b93bf4f2aad2605faee2b03fb6 48e27fff63102758fe2b69ac26afa3349829b94586306fed 783ab2ee6ea73b63906caf73ceb4376b2e9ebee34fc490c5 3fff7a36718ab82c; 54154f8f28523c03d4de1600157846b710ee72807a2219bfb474fd71d891f24bb65d1563259f9eb53b571ea629c54d57dd2d42f70800df 9fcbaca48b77db a189196d1ebba10b0467cb9fc2712a199e533f a9156308cdec3f768281e040a9b9a222bd689aef66f5306ceb0c6b08ac 43bfef92d8c8ba5641fb2523e92ef24d60a41da2e8bb3112aee7b80ce3 07ad2ca904227df7; 8b0a22260c571b4a42bb8f "" "" "" "" bd94df689662060a; db233bfa6a5cfb0bad7d95 21 "" "" "" a43ffffe35e1b8a4; 4ade49cb3b6f5fe8368131 "" 11 "" "" d32da332498a6950; 5c037ba323fe1dc8151784 "" "" 87 12 0943c4cb5e3fc7eb; 3f0eb5b647da6794c18b53 37685a96ed65b9ac a338527ef19b09c063c46f88de9fd41e72d7b97e23e6eabd ff3bcd211499268878dbf30f1dad89d4b9b12012e4713df4 aebee82a01e138a7229636ee0eb746f6ce13584936f56bb4 5bddd65c9a111ec7; 6795630e7952d22bb02d71 00b8b649377d20 a8f083455b663e4ee1315f3c8f2aebfa921451 dcd1af5813b70d30ce2f1fef6ef315d0798391805da08da3aefc5f8584 8a298eafedf8c1e183dfa50569cda59c9f93e56fde173e750e2fa185c7 78a05a55f474688a; b7c5e61766 "" "" "" "" 6e8da28b2d84682a; 9c0f16e398 15 "" "" "" a6660ae3f78c52b7; d4e9cfce3e "" d1 "" "" caa08d52fd0d87cf; ecdf3d264a "" "" 7f b7 af92632b8a903cfd; 16cb16c2e8 15f422cdf0c8e303 08be3c31e6bc58c0b7cadcb658b970e47479a684b5aefa69 a4cd52147ed12ca986981a874498ad0abef8bc4fcb70e27e 773aeb0f1ffbc8b9f0a642275761a79598ab37c4a531e157 7b4483789e1768fc; 98ef1f0446 b42fb144d44b6d 00f06dc188d472a784e0c6f21195a3b9f4ae98 5511265febd11c164720eef9eb1c8dd0b00951f284649016ed00456331 08d772c882d1d700f980b349e40c3cb563743f62b966fe38ce39831c37 62662279f37c6a9b; 854bc78bf43966eb0cfa9138ddc39908445608fe95e81c "" "" "" "" 99eb415cd27dfb9d; 2533e31c9c1a9851bc2810d858cbbc8424d126b807e6da a0 "" "" "" c90ad3bb5ff737a9; 89c3f9099c5ffb824173d7634c04226f30cbb7f0e4a973 "" a8 "" "" dc32c7a1d4f99131; cd190107314717a77456f3ff669c732b58db8f48af65f7 "" "" cc 86 5a32c09bf86a0f69; 9e3fb90e1721b730374ffc9bc597f56ccbb2f294b38766 fc69f6a9f2c0945f fd505003cc0cae9ce021a5f1fa4ffa91544485f1a1258b2b 9b8f0911e32d65cc1770a18cbfe6effd1ff6778554acf127 c9d09215bfda6368733b83186710d656bd900f072a02173d 1e35ed44860e1cb0; 0485b203a3c1c4c967c0a458cb948bdd409b687fa3a682 7b480aa3a4c84c ef64f6c9b53bf8f957f4b03cf43e89957f9a3e 8128f8743d16687b7bb8deb9bd205b70e04c091d205cdad9e9a79b1abf 1b485cb8f21d2744e6fdb19989d90693a8d2b935d0eae05facba546e91 8b86611191b4bdf3; }