{VERSION 5 0 "IBM INTEL NT" "5.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 1 }{CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 256 "Courier" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{PSTYLE " Normal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Title" -1 18 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 1 1 1 1 }3 1 0 0 12 12 1 0 1 0 2 2 19 1 }{PSTYLE " Author" -1 19 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 1 0 0 8 8 1 0 1 0 2 2 0 1 }} {SECT 0 {EXCHG {PARA 18 "" 0 "" {TEXT -1 24 "AES - Variable Text test " }}{PARA 19 "" 0 "" {TEXT -1 36 "\251Mike May, S.J., 2002, maymk@slu. edu" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 226 "When Daeman and Rijmen submitted Rijndae l to be AES, there were a number of known answer files submitted so th at implementers could test if the implementation was correct. In this worksheet we look at the Variable Text test. " }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 13 "read `AES.m`;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 151 "The AES.m file was created by the AES-Expansion workshee t and placed in the current directory. If it has been misplaced, it w ill need to be recreated." }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 66 "From the file AES.m we have loaded the following sets of commands:" }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 260 "Data Typ e Conversion commands - intToBits, bitToList, listToPoly, polyToInt, h exTo8Bits, listToBits, bitToInt, listToInt, listToInt, polyToList, int ToHex, polyToBits, bitToPoly, intToPoly, listToMatrix, listToMatrix2, \+ matrixToList, matrixToList2, matrixToHex, " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 40 "Constants - genPoly, MixMat, In vMixMat, " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 56 "Commands to XOR pairs of strings - XOR, xorNbits, xor8, " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 160 "Commands and c onstants for generating SBoxes or expanding keys - SBoxTable, InvSBoxT able, roundFudge, polyToInt, roundFudgeWord, randKeyGenerator, keyExpa nder, " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 91 "Commands for the 4 operations that compose a round - BS, InvBS, SR, I nvSR, MC, InvMC, ARK, " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 218 "Single line encryption and decryption commands - en cryptAESascii, decryptAESascii, encryptAEShex, decryptAEShex, intTo128 Bits, testline, testline2, hexKeyExpander, messExpander, encryptAESExp anded, decryptAESExpanded.." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "testline(0);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$QA0000000000000000 00000000000000016\"QA58E2FCCEFA7E3061367F1D57A4E7455AF$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 241 "For the variable text test we use the same key, the zero word, to encrypt a series of words, each of which is all zeroes except for \+ a single bit. We then look at the encrypted words. The results below are from the official entry by Daeman." }}}{EXCHG {PARA 0 "" 0 "" {TEXT 256 2342 "KEY=00000000000000000000000000000000\n\nPT=80000000000 000000000000000000000 CT=3AD78E726C1EC02B7EBFE92B23D9EC34\nPT=40000000 000000000000000000000000 CT=45BC707D29E8204D88DFBA2F0B0CAD9B\nPT=20000 000000000000000000000000000 CT=161556838018F52805CDBD6202002E3F\nPT=10 000000000000000000000000000000 CT=F5569B3AB6A6D11EFDE1BF0A64C6854A\nPT =08000000000000000000000000000000 CT=64E82B50E501FBD7DD4116921159B83E \nPT=04000000000000000000000000000000 CT=BAAC12FB613A7DE11450375C74034 041\nPT=02000000000000000000000000000000 CT=BCF176A7EAAD8085EBACEA3624 62A281\nPT=01000000000000000000000000000000 CT=47711816E91D6FF059BBBF2 BF58E0FD3\nPT=00800000000000000000000000000000 CT=B970DFBE40698AF1638F E38BD3DF3B2F\nPT=00400000000000000000000000000000 CT=F95B59A44F391E14C F20B74BDC32FCFF\nPT=00200000000000000000000000000000 CT=720F74AE04A2A4 35B9A7256E49378F5B\nPT=00100000000000000000000000000000 CT=2A0445F61D3 6BFA7E277070730CF76DA\nPT=00080000000000000000000000000000 CT=8D0536B9 97AEFEC1D94011BAB6699A03\nPT=00040000000000000000000000000000 CT=674F0 02E19F6ED47EFF319E51FAD4498\nPT=00020000000000000000000000000000 CT=29 2C02C5CB9163C80AC0F6CF1DD8E92D\nPT=00010000000000000000000000000000 CT =FA321CF18EF5FE727DD82A5C1E945141\nPT=00008000000000000000000000000000 CT=A5A7AFE1034C39CCCEBE3C584BC0BE05\nPT=00004000000000000000000000000 000 CT=4FF5A52E697E77D081205DBDB21CEA39\nPT=00002000000000000000000000 000000 CT=209E88DC94C9003000CE0769AF7B7166\nPT=00001000000000000000000 000000000 CT=5DEE41AF864CB4B650E5F51551824D38\nPT=00000800000000000000 000000000000 CT=A79A63FA7E4503AE6D6E09F5F9053030\nPT=00000400000000000 000000000000000 CT=A48316749FAE7FAC7002031A6AFD8BA7\nPT=00000200000000 000000000000000000 CT=D6EEE8A7357A0E1D64262CA9C337AC42\nPT=00000100000 000000000000000000000 CT=B013CA8A62A858053E9FB667ED39829E\nPT=00000080 000000000000000000000000 CT=DF6EA9E4538A45A52D5C1A43C88F4B55\nPT=00000 040000000000000000000000000 CT=7D03BA451371591D3FD5547D9165C73B\nPT=00 000020000000000000000000000000 CT=0E0426281A6277E186499D365D5F49FF\nPT =00000010000000000000000000000000 CT=DBC02169DD2059E6CC4C57C1FEDF5AB4 \nPT=00000008000000000000000000000000 CT=826590E05D167DA6F00DCC75E2278 8EB\nPT=00000004000000000000000000000000 CT=34A73F21A04421D9786335FAAB 49423A\nPT=00000002000000000000000000000000 CT=ED347D0E0128EE1A7392A1D 36AB78AA9\nPT=00000001000000000000000000000000 CT=EE944B2FE6E9FC888042 608DA9615F75\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 55 "for intVa l from 1 to 32 do testline(128-intVal) end do:" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$QA800000000000000000000000000000006\"QA3AD78E726C1EC02B 7EBFE92B23D9EC34F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$QA40000000000000 0000000000000000006\"QA45BC707D29E8204D88DFBA2F0B0CAD9BF$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$QA200000000000000000000000000000006\"QA16155683 8018F52805CDBD6202002E3FF$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$QA100000 000000000000000000000000006\"QAF5569B3AB6A6D11EFDE1BF0A64C6854AF$" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$QA080000000000000000000000000000006\"Q A64E82B50E501FBD7DD4116921159B83EF$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 $QA040000000000000000000000000000006\"QABAAC12FB613A7DE11450375C740340 41F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$QA0200000000000000000000000000 00006\"QABCF176A7EAAD8085EBACEA362462A281F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$QA010000000000000000000000000000006\"QA47711816E91D6FF0 59BBBF2BF58E0FD3F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$QA00800000000000 0000000000000000006\"QAB970DFBE40698AF1638FE38BD3DF3B2FF$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$QA004000000000000000000000000000006\"QAF95B59A4 4F391E14CF20B74BDC32FCFFF$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$QA002000 000000000000000000000000006\"QA720F74AE04A2A435B9A7256E49378F5BF$" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$QA001000000000000000000000000000006\"Q A2A0445F61D36BFA7E277070730CF76DAF$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 $QA000800000000000000000000000000006\"QA8D0536B997AEFEC1D94011BAB6699A 03F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$QA0004000000000000000000000000 00006\"QA674F002E19F6ED47EFF319E51FAD4498F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$QA000200000000000000000000000000006\"QA292C02C5CB9163C8 0AC0F6CF1DD8E92DF$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$QA00010000000000 0000000000000000006\"QAFA321CF18EF5FE727DD82A5C1E945141F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$QA000080000000000000000000000000006\"QAA5A7AFE1 034C39CCCEBE3C584BC0BE05F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$QA000040 000000000000000000000000006\"QA4FF5A52E697E77D081205DBDB21CEA39F$" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$QA000020000000000000000000000000006\"Q A209E88DC94C9003000CE0769AF7B7166F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 $QA000010000000000000000000000000006\"QA5DEE41AF864CB4B650E5F51551824D 38F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$QA0000080000000000000000000000 00006\"QAA79A63FA7E4503AE6D6E09F5F9053030F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$QA000004000000000000000000000000006\"QAA48316749FAE7FAC 7002031A6AFD8BA7F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$QA00000200000000 0000000000000000006\"QAD6EEE8A7357A0E1D64262CA9C337AC42F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$QA000001000000000000000000000000006\"QAB013CA8A 62A858053E9FB667ED39829EF$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$QA000000 800000000000000000000000006\"QADF6EA9E4538A45A52D5C1A43C88F4B55F$" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$QA000000400000000000000000000000006\"Q A7D03BA451371591D3FD5547D9165C73BF$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 $QA000000200000000000000000000000006\"QA0E0426281A6277E186499D365D5F49 FFF$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$QA0000001000000000000000000000 00006\"QADBC02169DD2059E6CC4C57C1FEDF5AB4F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$QA000000080000000000000000000000006\"QA826590E05D167DA6 F00DCC75E22788EBF$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$QA00000004000000 0000000000000000006\"QA34A73F21A04421D9786335FAAB49423AF$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$QA000000020000000000000000000000006\"QAED347D0E 0128EE1A7392A1D36AB78AA9F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$QA000000 010000000000000000000000006\"QAEE944B2FE6E9FC888042608DA9615F75F$" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 33 "Clearly, it is working correctly. " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "0 0 0" 0 } {VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }