summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Andreev <narf@devilix.net>2014-03-05 12:47:11 +0200
committerNikita Popov <nikic@php.net>2014-03-06 22:40:26 +0100
commiteb8dfc85cecedf9c52b8e2bd03f765231dcb1570 (patch)
tree7c29186e2e9648a376b76289dd1ef30679e1d95c
parent9989af2e9b7bee43638ef7fa968304f4e6b0b916 (diff)
downloadphp-git-eb8dfc85cecedf9c52b8e2bd03f765231dcb1570.tar.gz
Add test for bug #62102 / RFC 2144
Using test vectors from RFC 2144, section B.1 (http://tools.ietf.org/rfc/rfc2144.txt)
-rw-r--r--ext/mcrypt/tests/bug62102_rfc2144.phpt25
1 files changed, 25 insertions, 0 deletions
diff --git a/ext/mcrypt/tests/bug62102_rfc2144.phpt b/ext/mcrypt/tests/bug62102_rfc2144.phpt
new file mode 100644
index 0000000000..d2bfa7b766
--- /dev/null
+++ b/ext/mcrypt/tests/bug62102_rfc2144.phpt
@@ -0,0 +1,25 @@
+--TEST--
+RFC 2144 test vectors for CAST-128 in ECB mode (bug #62102)
+--SKIPIF--
+<?php extension_loaded('mcrypt') OR print 'skip'; ?>
+--FILE--
+<?php
+$plaintext = "\x01\x23\x45\x67\x89\xAB\xCD\xEF";
+
+echo
+
+"128-bit: ",
+bin2hex(mcrypt_encrypt('cast-128', "\x01\x23\x45\x67\x12\x34\x56\x78\x23\x45\x67\x89\x34\x56\x78\x9A", $plaintext, 'ecb')),
+"\n",
+"80-bit: ",
+bin2hex(mcrypt_encrypt('cast-128', "\x01\x23\x45\x67\x12\x34\x56\x78\x23\x45", $plaintext, 'ecb')),
+"\n",
+"40-bit: ",
+bin2hex(mcrypt_encrypt('cast-128', "\x01\x23\x45\x67\x12", $plaintext, 'ecb')),
+"\n";
+
+?>
+--EXPECT--
+128-bit: 238b4fe5847e44b2
+80-bit: eb6a711a2c02271b
+40-bit: 7ac816d16e9b302e