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 / CFB8ModeTest.as
1 /**\r
2  * CFB8ModeTest\r
3  * \r
4  * A test class for CFB8Mode\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 flash.utils.ByteArray;\r
12         import com.hurlant.util.Hex;\r
13         import com.hurlant.crypto.symmetric.CFB8Mode;\r
14         import com.hurlant.crypto.symmetric.AESKey;\r
15         import com.hurlant.crypto.symmetric.NullPad;\r
16         \r
17         public class CFB8ModeTest extends TestCase\r
18         {\r
19                 public function CFB8ModeTest(h:ITestHarness) {\r
20                         super(h,"CBF8Mode Test");\r
21                         runTest(testCFB8_AES128, "CFB-8 AES-128 Test Vectors");\r
22                         runTest(testCFB8_AES192, "CFB-8 AES-192 Test Vectors");\r
23                         runTest(testCFB8_AES256, "CFB-8 AES-192 Test Vectors");\r
24                         h.endTestCase();\r
25                 }\r
26                 \r
27                 /**\r
28                  * http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf\r
29                  */\r
30                 public function testCFB8_AES128():void {\r
31                         var key:ByteArray = Hex.toArray("2b7e151628aed2a6abf7158809cf4f3c");\r
32                         var pt:ByteArray = Hex.toArray("6bc1bee22e409f96e93d7e117393172aae2d");\r
33                         var ct:ByteArray = Hex.toArray("3b79424c9c0dd436bace9e0ed4586a4f32b9");\r
34                         var cfb8:CFB8Mode = new CFB8Mode(new AESKey(key), new NullPad);\r
35                         cfb8.IV = Hex.toArray("000102030405060708090a0b0c0d0e0f");\r
36                         var src:ByteArray = new ByteArray;\r
37                         src.writeBytes(pt);\r
38                         cfb8.encrypt(src);\r
39                         assert("CFB8_AES128 test 1", Hex.fromArray(src)==Hex.fromArray(ct));\r
40                         cfb8.decrypt(src);\r
41                         assert("CFB8_AES128 test 2", Hex.fromArray(src)==Hex.fromArray(pt));\r
42                 }\r
43                 public function testCFB8_AES192():void {\r
44                         var key:ByteArray = Hex.toArray("8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b");\r
45                         var pt:ByteArray = Hex.toArray("6bc1bee22e409f96e93d7e117393172aae2d");\r
46                         var ct:ByteArray = Hex.toArray("cda2521ef0a905ca44cd057cbf0d47a0678a");\r
47                         var cfb8:CFB8Mode = new CFB8Mode(new AESKey(key), new NullPad);\r
48                         cfb8.IV = Hex.toArray("000102030405060708090a0b0c0d0e0f");\r
49                         var src:ByteArray = new ByteArray;\r
50                         src.writeBytes(pt);\r
51                         cfb8.encrypt(src);\r
52                         assert("CFB8_AES128 test 1", Hex.fromArray(src)==Hex.fromArray(ct));\r
53                         cfb8.decrypt(src);\r
54                         assert("CFB8_AES128 test 2", Hex.fromArray(src)==Hex.fromArray(pt));\r
55                 }\r
56                 public function testCFB8_AES256():void {\r
57                         var key:ByteArray = Hex.toArray("603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4");\r
58                         var pt:ByteArray = Hex.toArray("6bc1bee22e409f96e93d7e117393172aae2d");\r
59                         var ct:ByteArray = Hex.toArray("dc1f1a8520a64db55fcc8ac554844e889700");\r
60                         var cfb8:CFB8Mode = new CFB8Mode(new AESKey(key), new NullPad);\r
61                         cfb8.IV = Hex.toArray("000102030405060708090a0b0c0d0e0f");\r
62                         var src:ByteArray = new ByteArray;\r
63                         src.writeBytes(pt);\r
64                         cfb8.encrypt(src);\r
65                         assert("CFB8_AES128 test 1", Hex.fromArray(src)==Hex.fromArray(ct));\r
66                         cfb8.decrypt(src);\r
67                         assert("CFB8_AES128 test 2", Hex.fromArray(src)==Hex.fromArray(pt));\r
68                 }\r
69                 \r
70         }\r
71 }