/** * 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