(name, keyStr, plain, expected)
| 88 | } |
| 89 | |
| 90 | function testBlockCipher(name, keyStr, plain, expected) |
| 91 | { |
| 92 | let key = ("string" == typeof keyStr) ? ArrayBuffer.fromString(keyStr) : keyStr; |
| 93 | expected = Hex.toBuffer(expected); |
| 94 | |
| 95 | let result = (new BlockCipher(name, key)).encrypt(plain + ""); |
| 96 | |
| 97 | if (Bin.comp(result, expected) != 0) |
| 98 | trace(`${name} encrypt FAIL\n`); |
| 99 | else |
| 100 | trace(`${name} encrypt pass\n`); |
| 101 | |
| 102 | plain = ArrayBuffer.fromString(plain); |
| 103 | result = (new BlockCipher(name, key)).decrypt(result) |
| 104 | |
| 105 | if (Bin.comp(result, plain) != 0) { |
| 106 | trace(`${name} decrypt FAIL\n`); |
| 107 | trace(" result = " + Hex.toString(result) + "\n"); |
| 108 | trace(" plain = " + Hex.toString(plain) + "\n"); |
| 109 | } |
| 110 | else |
| 111 | trace(`${name} decrypt pass\n`); |
| 112 | } |
| 113 | |
| 114 | function testStreamCipher(name, keyStr, plain, iv, counter, expected) |
| 115 | { |
no test coverage detected