@@ -62,6 +62,39 @@ YUI.add('algo-tripledes-test', function (Y) {
62
62
Y . Assert . areEqual ( expectedIv , iv . toString ( ) ) ;
63
63
} ,
64
64
65
+ test64BitKey : function ( ) {
66
+ var message = C . enc . Hex . parse ( '00112233445566778899aabbccddeeff' ) ;
67
+ var key = C . enc . Hex . parse ( '0011223344556677' ) ;
68
+ var extendedKey = C . enc . Hex . parse ( '001122334455667700112233445566770011223344556677' )
69
+
70
+ var output1 = C . TripleDES . encrypt ( message , key , { mode : C . mode . ECB } ) . toString ( ) ;
71
+ var output2 = C . TripleDES . encrypt ( message , extendedKey , { mode : C . mode . ECB } ) . toString ( ) ;
72
+
73
+ Y . Assert . areEqual ( output1 , output2 ) ;
74
+ } ,
75
+
76
+ test128BitKey : function ( ) {
77
+ var message = C . enc . Hex . parse ( '00112233445566778899aabbccddeeff' ) ;
78
+ var key = C . enc . Hex . parse ( '00112233445566778899aabbccddeeff' ) ;
79
+ var extendedKey = C . enc . Hex . parse ( '00112233445566778899aabbccddeeff0011223344556677' )
80
+
81
+ var output1 = C . TripleDES . encrypt ( message , key , { mode : C . mode . ECB } ) . toString ( ) ;
82
+ var output2 = C . TripleDES . encrypt ( message , extendedKey , { mode : C . mode . ECB } ) . toString ( ) ;
83
+
84
+ Y . Assert . areEqual ( output1 , output2 ) ;
85
+ } ,
86
+
87
+ test256BitKey : function ( ) {
88
+ var message = C . enc . Hex . parse ( '00112233445566778899aabbccddeeff' ) ;
89
+ var key = C . enc . Hex . parse ( '00112233445566778899aabbccddeeff0112233445566778899aabbccddeeff0' ) ;
90
+ var truncatedKey = C . enc . Hex . parse ( '00112233445566778899aabbccddeeff0112233445566778' )
91
+
92
+ var output1 = C . TripleDES . encrypt ( message , key , { mode : C . mode . ECB } ) . toString ( ) ;
93
+ var output2 = C . TripleDES . encrypt ( message , truncatedKey , { mode : C . mode . ECB } ) . toString ( ) ;
94
+
95
+ Y . Assert . areEqual ( output1 , output2 ) ;
96
+ } ,
97
+
65
98
testHelper : function ( ) {
66
99
// Save original random method
67
100
var random = C . lib . WordArray . random ;
0 commit comments