Bug:Fix file validation issue
[vnfsdk/refrepo.git] / vnfmarket / src / main / webapp / vnfmarket / node_modules / socket.io-client / lib / vendor / web-socket-js / flash-src / com / hurlant / crypto / tests / BlowFishKeyTest.as
1 /**\r
2  * BlowFishKeyTest\r
3  * \r
4  * A test class for BlowFishKey\r
5  * Copyright (c) 2007 Henri Torgemane\r
6  * \r
7  * See LICENSE.txt for full license information.\r
8  */\r
9 package com.hurlant.crypto.tests\r
10 {\r
11         import com.hurlant.crypto.symmetric.BlowFishKey;\r
12         import com.hurlant.util.Hex;\r
13         import flash.utils.ByteArray;\r
14         \r
15         public class BlowFishKeyTest extends TestCase\r
16         {\r
17                 public function BlowFishKeyTest(h:ITestHarness)\r
18                 {\r
19                         super(h, "BlowFishKey Test");\r
20                         runTest(testECB,"BlowFish ECB Test Vectors");\r
21                         h.endTestCase();\r
22                 }\r
23                 \r
24                 /**\r
25                  * Test vectors from http://www.schneier.com/code/vectors.txt\r
26                  */\r
27                 public function testECB():void {\r
28                         var keys:Array = [\r
29                         "0000000000000000",\r
30                         "FFFFFFFFFFFFFFFF",\r
31                         "3000000000000000",\r
32                         "1111111111111111",\r
33                         "0123456789ABCDEF",\r
34                         "1111111111111111",\r
35                         "0000000000000000",\r
36                         "FEDCBA9876543210",\r
37                         "7CA110454A1A6E57",\r
38                         "0131D9619DC1376E",\r
39                         "07A1133E4A0B2686",\r
40                         "3849674C2602319E",\r
41                         "04B915BA43FEB5B6",\r
42                         "0113B970FD34F2CE",\r
43                         "0170F175468FB5E6",\r
44                         "43297FAD38E373FE",\r
45                         "07A7137045DA2A16",\r
46                         "04689104C2FD3B2F",\r
47                         "37D06BB516CB7546",\r
48                         "1F08260D1AC2465E",\r
49                         "584023641ABA6176",\r
50                         "025816164629B007",\r
51                         "49793EBC79B3258F",\r
52                         "4FB05E1515AB73A7",\r
53                         "49E95D6D4CA229BF",\r
54                         "018310DC409B26D6",\r
55                         "1C587F1C13924FEF",\r
56                         "0101010101010101",\r
57                         "1F1F1F1F0E0E0E0E",\r
58                         "E0FEE0FEF1FEF1FE",\r
59                         "0000000000000000",\r
60                         "FFFFFFFFFFFFFFFF",\r
61                         "0123456789ABCDEF",\r
62                         "FEDCBA9876543210" ];\r
63                         var pts:Array = [\r
64                         "0000000000000000",\r
65                         "FFFFFFFFFFFFFFFF",\r
66                         "1000000000000001",\r
67                         "1111111111111111",\r
68                         "1111111111111111",\r
69                         "0123456789ABCDEF",\r
70                         "0000000000000000",\r
71                         "0123456789ABCDEF",\r
72                         "01A1D6D039776742",\r
73                         "5CD54CA83DEF57DA",\r
74                         "0248D43806F67172",\r
75                         "51454B582DDF440A",\r
76                         "42FD443059577FA2",\r
77                         "059B5E0851CF143A",\r
78                         "0756D8E0774761D2",\r
79                         "762514B829BF486A",\r
80                         "3BDD119049372802",\r
81                         "26955F6835AF609A",\r
82                         "164D5E404F275232",\r
83                         "6B056E18759F5CCA",\r
84                         "004BD6EF09176062",\r
85                         "480D39006EE762F2",\r
86                         "437540C8698F3CFA",\r
87                         "072D43A077075292",\r
88                         "02FE55778117F12A",\r
89                         "1D9D5C5018F728C2",\r
90                         "305532286D6F295A",\r
91                         "0123456789ABCDEF",\r
92                         "0123456789ABCDEF",\r
93                         "0123456789ABCDEF",\r
94                         "FFFFFFFFFFFFFFFF",\r
95                         "0000000000000000",\r
96                         "0000000000000000",\r
97                         "FFFFFFFFFFFFFFFF" ];\r
98                         var cts:Array = [\r
99                         "4EF997456198DD78",\r
100                         "51866FD5B85ECB8A",\r
101                         "7D856F9A613063F2",\r
102                         "2466DD878B963C9D",\r
103                         "61F9C3802281B096",\r
104                         "7D0CC630AFDA1EC7",\r
105                         "4EF997456198DD78",\r
106                         "0ACEAB0FC6A0A28D",\r
107                         "59C68245EB05282B",\r
108                         "B1B8CC0B250F09A0",\r
109                         "1730E5778BEA1DA4",\r
110                         "A25E7856CF2651EB",\r
111                         "353882B109CE8F1A",\r
112                         "48F4D0884C379918",\r
113                         "432193B78951FC98",\r
114                         "13F04154D69D1AE5",\r
115                         "2EEDDA93FFD39C79",\r
116                         "D887E0393C2DA6E3",\r
117                         "5F99D04F5B163969",\r
118                         "4A057A3B24D3977B",\r
119                         "452031C1E4FADA8E",\r
120                         "7555AE39F59B87BD",\r
121                         "53C55F9CB49FC019",\r
122                         "7A8E7BFA937E89A3",\r
123                         "CF9C5D7A4986ADB5",\r
124                         "D1ABB290658BC778",\r
125                         "55CB3774D13EF201",\r
126                         "FA34EC4847B268B2",\r
127                         "A790795108EA3CAE",\r
128                         "C39E072D9FAC631D",\r
129                         "014933E0CDAFF6E4",\r
130                         "F21E9A77B71C49BC",\r
131                         "245946885754369A",\r
132                         "6B5C5A9C5D9E0A5A" ];\r
133 \r
134                         for (var i:uint=0;i<keys.length;i++) {\r
135                                 var key:ByteArray = Hex.toArray(keys[i]);\r
136                                 var pt:ByteArray = Hex.toArray(pts[i]);\r
137                                 var bf:BlowFishKey = new BlowFishKey(key);\r
138                                 bf.encrypt(pt);\r
139                                 var out:String = Hex.fromArray(pt).toUpperCase();\r
140                                 assert("comparing "+cts[i]+" to "+out, cts[i]==out);\r
141                                 // now go back to plaintext\r
142                                 bf.decrypt(pt);\r
143                                 out = Hex.fromArray(pt).toUpperCase();\r
144                                 assert("comparing "+pts[i]+" to "+out, pts[i]==out);\r
145                         }\r
146                 }\r
147         }\r
148 }