File: connected-users-websocket/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/XTeaKeyTest.as

Recommend this page to a friend!
  Classes of Igor Escobar   Terminal Crossword   connected-users-websocket/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/XTeaKeyTest.as   Download  
File: connected-users-websocket/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/XTeaKeyTest.as
Role: Example script
Content type: text/plain
Description: Example script
Class: Terminal Crossword
Generate a crosswords board on a text console
Author: By
Last change:
Date: 2 years ago
Size: 1,845 bytes
 

Contents

Class file image Download
/** * XTeaKeyTest * * A test class for XTeaKey * Copyright (c) 2007 Henri Torgemane * * See LICENSE.txt for full license information. */ package com.hurlant.crypto.tests { import com.hurlant.crypto.prng.Random; import com.hurlant.crypto.symmetric.ECBMode; import com.hurlant.crypto.symmetric.XTeaKey; import com.hurlant.util.Hex; import flash.utils.ByteArray; import flash.utils.getTimer; public class XTeaKeyTest extends TestCase { public function XTeaKeyTest(h:ITestHarness) { super(h, "XTeaKey Test"); runTest(testGetBlockSize, "XTea Block Size"); runTest(testVectors, "XTea Test Vectors"); h.endTestCase(); } public function testGetBlockSize():void { var tea:XTeaKey = new XTeaKey(Hex.toArray("deadbabecafebeefdeadbabecafebeef")); assert("tea blocksize", tea.getBlockSize()==8); } public function testVectors():void { // blah. // can't find working test vectors. // algorithms should not get published without vectors :( var keys:Array=[ "00000000000000000000000000000000", "2b02056806144976775d0e266c287843"]; var pts:Array=[ "0000000000000000", "74657374206d652e"]; var cts:Array=[ "2dc7e8d3695b0538", "7909582138198783"]; // self-fullfilling vectors. // oh well, at least I can decrypt what I produce. :( for (var i:uint=0;i<keys.length;i++) { var key:ByteArray = Hex.toArray(keys[i]); var pt:ByteArray = Hex.toArray(pts[i]); var tea:XTeaKey = new XTeaKey(key); tea.encrypt(pt); var out:String = Hex.fromArray(pt); assert("comparing "+cts[i]+" to "+out, cts[i]==out); // now go back to plaintext. pt.position=0; tea.decrypt(pt); out = Hex.fromArray(pt); assert("comparing "+pts[i]+" to "+out, pts[i]==out); } } } }