📄 rijndael-test.pas
字号:
(** * Rijndael-Test.pas * * Simple automatic test for the Rijndael cipher (now AES) in Pascal. * Assumes SIZEOF(LONGINT) = 4. * Developed with TurboPascal 7 (later FreePascal). * * @version 1.0 (February 2001) * @author Tom Verhoeff <T.Verhoeff@tue.nl> * * Based on RijndaelTest.mod * * version 1.0 (January 2001) * @author Paulo Barreto <paulo.barreto@terra.com.br> * * This code is hereby placed in the public domain. * * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *)program RijndaelTest; USES Rijndael; TYPE TestVectors = ARRAY [ 0..255 ] OF ARRAY [ 0..15 ] OF BYTE; TYPE Block = ARRAY [ 0..31 ] OF BYTE; CONST testVectors128: TestVectors = ( ( $66, $e9, $4b, $d4, $ef, $8a, $2c, $3b, $88, $4c, $fa, $59, $ca, $34, $2b, $2e ), ( $e1, $4d, $5d, $0e, $e2, $77, $15, $df, $08, $b4, $15, $2b, $a2, $3d, $a8, $e0 ), ( $5e, $ba, $73, $f8, $91, $42, $c5, $48, $80, $f6, $85, $94, $37, $3c, $5c, $37 ), ( $8d, $34, $ef, $cb, $3b, $d5, $45, $ca, $06, $2a, $ec, $df, $ef, $7c, $0b, $fa ), ( $4a, $94, $23, $0c, $c5, $09, $e4, $62, $57, $83, $8c, $07, $4a, $34, $c0, $43 ), ( $fe, $c1, $2d, $e0, $12, $c2, $5f, $05, $66, $b4, $7d, $a5, $6e, $03, $23, $e8 ), ( $5e, $45, $87, $c8, $66, $52, $ea, $f4, $e5, $86, $9f, $0c, $1f, $b3, $3d, $d0 ), ( $93, $41, $d4, $e3, $75, $82, $58, $46, $e4, $29, $6b, $ac, $f2, $46, $48, $9a ), ( $0a, $c0, $8f, $91, $33, $39, $93, $d1, $4e, $c9, $40, $de, $34, $9b, $24, $58 ), ( $ed, $66, $f4, $f8, $5c, $a4, $c7, $d2, $95, $5d, $e5, $3f, $47, $69, $92, $93 ), ( $6f, $42, $8f, $82, $0f, $3e, $f9, $a6, $15, $86, $f3, $17, $68, $dc, $36, $0a ), ( $9c, $1d, $f7, $64, $3e, $e9, $fb, $b4, $27, $3b, $dd, $a2, $79, $3d, $ee, $d4 ), ( $a4, $ce, $cc, $4e, $b7, $48, $f1, $d2, $99, $02, $43, $70, $7e, $f7, $73, $c8 ), ( $45, $42, $55, $05, $dc, $20, $03, $99, $e2, $dd, $4b, $fd, $f7, $ca, $d2, $59 ), ( $86, $6a, $04, $4f, $4e, $12, $66, $9a, $8b, $11, $48, $75, $29, $d5, $82, $d3 ), ( $0f, $db, $7d, $a4, $6c, $23, $8c, $5f, $37, $b1, $9d, $31, $0a, $7b, $c3, $5a ), ( $01, $43, $db, $63, $ee, $66, $b0, $cd, $ff, $9f, $69, $91, $76, $80, $15, $1e ), ( $ff, $a3, $c7, $ed, $04, $71, $0b, $98, $06, $7d, $ae, $68, $15, $e2, $75, $1f ), ( $5d, $6e, $8c, $72, $c1, $b4, $f9, $5d, $87, $bf, $e2, $d6, $e7, $e0, $46, $00 ), ( $76, $e6, $d5, $f7, $02, $54, $6b, $7e, $44, $65, $c6, $be, $91, $9c, $8d, $89 ), ( $65, $f4, $fb, $f2, $4a, $0c, $55, $99, $14, $cd, $74, $1e, $8a, $1c, $5c, $57 ), ( $62, $fa, $50, $ca, $a9, $64, $49, $9d, $51, $ed, $2c, $88, $c9, $ca, $d9, $8f ), ( $f0, $ce, $ba, $bd, $e2, $0a, $b5, $4b, $51, $6f, $e6, $71, $c8, $7a, $78, $55 ), ( $ff, $26, $bc, $5b, $e0, $c3, $7c, $6d, $03, $f4, $5f, $48, $a9, $b4, $28, $bd ), ( $ba, $fd, $fd, $81, $94, $c0, $3c, $e5, $dc, $1d, $e1, $25, $e0, $fa, $ae, $b4 ), ( $5c, $bd, $5b, $f3, $59, $6b, $06, $b0, $4a, $ff, $80, $be, $29, $4e, $44, $a7 ), ( $22, $d4, $de, $49, $e7, $3b, $bf, $9c, $00, $5f, $d0, $d3, $f5, $ff, $2c, $6a ), ( $fd, $ad, $55, $58, $60, $93, $f5, $8e, $5c, $97, $c8, $f8, $f0, $e8, $95, $5b ), ( $a6, $e3, $5f, $62, $5a, $9e, $97, $f9, $c4, $bc, $6c, $30, $b0, $bb, $b5, $22 ), ( $89, $b0, $97, $69, $ee, $54, $5e, $76, $71, $47, $4f, $63, $49, $a5, $ac, $8d ), ( $e5, $68, $d8, $f9, $2c, $4b, $1b, $30, $03, $71, $3f, $38, $e4, $76, $43, $6d ), ( $c8, $53, $b5, $31, $70, $32, $15, $5f, $60, $1f, $71, $39, $cf, $aa, $46, $c6 ), ( $c6, $ce, $5f, $d9, $5b, $84, $52, $19, $f9, $f2, $15, $57, $73, $f4, $bf, $87 ), ( $45, $3c, $c2, $4f, $7c, $5b, $0e, $b4, $b7, $c3, $3d, $0c, $49, $b0, $d9, $80 ), ( $6c, $9b, $42, $e8, $35, $77, $88, $c5, $62, $7b, $8c, $8d, $a6, $53, $99, $f5 ), ( $80, $5c, $a9, $d1, $1a, $a6, $16, $3a, $59, $6d, $1f, $0b, $e2, $4b, $ff, $d1 ), ( $30, $de, $22, $52, $b4, $8f, $58, $f3, $32, $46, $d3, $30, $14, $5d, $11, $a6 ), ( $1f, $6b, $30, $98, $17, $c7, $5b, $3e, $49, $e9, $88, $53, $3e, $c7, $9a, $df ), ( $1c, $d5, $2e, $90, $4a, $9d, $5b, $1a, $f9, $e7, $17, $19, $a0, $64, $98, $a2 ), ( $08, $90, $3f, $62, $ce, $25, $43, $6a, $b5, $6c, $f9, $44, $ec, $d8, $a3, $72 ), ( $43, $ca, $03, $ee, $d1, $3d, $d8, $a0, $bc, $5f, $48, $51, $c8, $28, $54, $c3 ), ( $6c, $1a, $e9, $75, $9f, $6b, $06, $9d, $45, $18, $6f, $07, $97, $45, $36, $a7 ), ( $d1, $2e, $6b, $21, $4a, $fc, $96, $77, $9d, $35, $42, $8d, $ba, $7e, $f4, $0d ), ( $f7, $eb, $13, $98, $50, $e2, $0b, $7a, $86, $9a, $77, $52, $09, $da, $cf, $c7 ), ( $0f, $eb, $a9, $d2, $89, $15, $07, $2b, $36, $3b, $e7, $32, $ab, $8e, $87, $3f ), ( $8c, $0b, $77, $26, $99, $c7, $a6, $d0, $e5, $33, $eb, $68, $28, $92, $0c, $c9 ), ( $e0, $71, $39, $d3, $7a, $e7, $a3, $df, $f6, $cb, $05, $84, $6b, $04, $e5, $56 ), ( $dc, $3b, $c8, $f0, $df, $63, $02, $ca, $34, $bc, $45, $22, $29, $56, $5a, $b5 ), ( $e0, $86, $82, $be, $5f, $2b, $18, $a6, $e8, $43, $7a, $15, $b1, $10, $d4, $18 ), ( $b6, $de, $54, $f9, $a7, $86, $37, $d1, $eb, $52, $3c, $a7, $20, $15, $89, $f4 ), ( $94, $06, $b7, $9d, $9f, $17, $33, $ac, $15, $ad, $53, $b6, $66, $71, $ac, $0f ), ( $2e, $3a, $70, $07, $e0, $69, $6f, $ed, $74, $cd, $f0, $e5, $d2, $e4, $65, $1d ), ( $b9, $c3, $be, $c8, $26, $e9, $59, $4a, $10, $87, $84, $13, $77, $3b, $cc, $e3 ), ( $9c, $04, $11, $58, $67, $19, $09, $d6, $e2, $7c, $de, $c1, $90, $90, $5e, $c8 ), ( $b2, $68, $d4, $f2, $2c, $fb, $94, $0e, $61, $db, $58, $41, $9d, $67, $d2, $c7 ), ( $01, $2e, $00, $1e, $37, $b4, $a0, $59, $c3, $1d, $6d, $e9, $b6, $52, $e6, $59 ), ( $1c, $84, $bc, $59, $6e, $e4, $f7, $bd, $fe, $f7, $2c, $24, $8d, $25, $2b, $98 ), ( $21, $08, $f2, $fc, $ea, $f9, $f3, $ed, $a3, $f3, $02, $c8, $4a, $85, $28, $cf ), ( $97, $d5, $82, $ab, $a7, $8c, $e6, $27, $eb, $0f, $36, $53, $3b, $bd, $14, $f7 ), ( $a6, $a2, $8d, $3d, $8a, $e0, $df, $d8, $99, $4f, $5e, $1f, $8e, $1d, $b4, $5a ), ( $3c, $50, $3f, $c1, $74, $9a, $61, $be, $9e, $cd, $65, $db, $f5, $3a, $10, $2d ), ( $35, $3b, $99, $20, $58, $37, $c2, $da, $35, $4e, $d6, $52, $25, $af, $1b, $b7 ), ( $a1, $89, $2a, $40, $e5, $23, $bc, $c3, $e0, $b0, $a3, $c2, $ea, $ba, $ad, $f2 ), ( $00, $e9, $4b, $ef, $d4, $e8, $b8, $da, $0c, $c7, $7b, $ba, $5f, $1e, $0c, $c9 ), ( $40, $3d, $81, $5d, $71, $c2, $27, $bd, $1a, $23, $37, $51, $23, $5c, $6f, $28 ), ( $b4, $9c, $bf, $19, $d3, $57, $e6, $e1, $f6, $84, $5c, $30, $fd, $5b, $63, $e3 ), ( $bf, $da, $a5, $7c, $b8, $12, $18, $97, $13, $a9, $50, $ad, $99, $47, $88, $79 ), ( $7a, $d5, $3e, $bd, $b1, $9a, $1e, $1f, $fb, $de, $1c, $9f, $af, $59, $ad, $59 ), ( $1f, $4d, $18, $01, $08, $a2, $bc, $73, $3f, $ce, $3a, $40, $8e, $a8, $1d, $03 ), ( $13, $c3, $7a, $f5, $c8, $15, $76, $30, $c9, $fb, $dc, $b2, $58, $55, $90, $19 ), ( $72, $b5, $63, $15, $4a, $8e, $a9, $eb, $60, $32, $8c, $a2, $a4, $4e, $29, $cc ), ( $e4, $e0, $77, $51, $94, $84, $d1, $7d, $c8, $c0, $72, $5a, $06, $e4, $49, $a7 ), ( $d0, $dd, $87, $c7, $80, $eb, $51, $b9, $a3, $bf, $a5, $78, $be, $d3, $7c, $f4 ), ( $d9, $79, $65, $38, $24, $ff, $7e, $d5, $cf, $96, $d9, $93, $6e, $05, $b0, $dc ), ( $e7, $87, $2b, $bd, $4f, $e2, $c1, $b0, $08, $93, $10, $41, $b3, $dc, $77, $39 ), ( $29, $b7, $06, $22, $6d, $44, $eb, $8e, $9c, $85, $35, $b5, $44, $c8, $05, $21 ), ( $1d, $98, $38, $19, $e4, $21, $2f, $50, $29, $26, $94, $f1, $d3, $d5, $34, $a9 ), ( $b5, $65, $e8, $d9, $c8, $66, $43, $8d, $2e, $1c, $54, $f4, $25, $04, $f3, $2f ), ( $c2, $f7, $b8, $ff, $2e, $98, $fd, $47, $b1, $96, $af, $ea, $ba, $4c, $87, $d9 ), ( $e5, $2b, $12, $88, $10, $30, $ec, $38, $4b, $c3, $92, $61, $13, $6b, $6a, $95 ), ( $97, $71, $8c, $aa, $fe, $27, $a5, $d1, $49, $7b, $79, $f7, $32, $d9, $37, $08 ), ( $25, $f6, $09, $47, $9a, $00, $cb, $05, $9c, $55, $4e, $71, $90, $bc, $9d, $63 ), ( $87, $59, $1d, $e1, $a5, $f3, $3b, $ed, $2c, $84, $22, $56, $14, $81, $18, $06 ), ( $4b, $fc, $d9, $42, $ec, $4c, $fc, $60, $95, $20, $a8, $91, $09, $c2, $93, $03 ), ( $b2, $c1, $f3, $9f, $bd, $b1, $49, $7c, $57, $1c, $b2, $23, $cf, $22, $01, $43 ), ( $9a, $da, $e0, $54, $f6, $3d, $fa, $ff, $5e, $a1, $8e, $45, $ed, $f6, $ea, $6f ), ( $c4, $97, $81, $73, $bd, $a1, $02, $ca, $2c, $ff, $03, $c5, $bb, $21, $23, $71 ), ( $a2, $a0, $09, $0b, $3e, $af, $42, $17, $1d, $9b, $4c, $cb, $42, $12, $82, $86 ), ( $b1, $7d, $ba, $72, $90, $13, $7d, $5e, $f5, $5d, $2e, $d6, $dd, $2f, $72, $cb ), ( $1c, $19, $99, $d0, $a6, $c7, $96, $f7, $9f, $4d, $c2, $b2, $7a, $ee, $2b, $26 ), ( $d1, $e0, $bb, $58, $f1, $d9, $a5, $ee, $3f, $e5, $ed, $3b, $49, $fe, $f5, $9d ), ( $c1, $de, $b6, $e1, $29, $e6, $0a, $bb, $e2, $c1, $77, $78, $eb, $8e, $f8, $1a ), ( $a9, $7f, $1b, $a4, $cf, $60, $fd, $58, $c1, $b0, $6d, $6d, $14, $29, $75, $25 ), ( $b0, $aa, $36, $9a, $28, $33, $cd, $df, $c4, $00, $3f, $37, $7b, $6b, $f7, $e4 ), ( $a7, $a4, $2c, $50, $de, $75, $f7, $84, $f0, $7c, $0f, $90, $5c, $76, $8d, $9e ), ( $be, $5d, $21, $a2, $28, $b8, $bb, $33, $84, $cf, $56, $0e, $61, $21, $9e, $e0 ), ( $b4, $ec, $75, $74, $f4, $bb, $c7, $5a, $1e, $fe, $32, $f4, $bf, $a6, $eb, $91 ), ( $92, $6c, $0f, $ea, $05, $af, $d6, $5f, $59, $31, $d2, $9a, $9c, $6b, $3f, $9c ), ( $90, $aa, $2c, $65, $e8, $3d, $81, $91, $2f, $28, $21, $0d, $11, $85, $a1, $67 ), ( $9d, $9a, $5c, $f8, $e4, $f0, $d1, $87, $d3, $05, $de, $9d, $e4, $8a, $aa, $35 ), ( $25, $29, $fe, $06, $f4, $99, $9d, $7f, $fa, $83, $1e, $f2, $86, $02, $8b, $2b ), ( $5e, $58, $16, $da, $96, $2a, $31, $ba, $08, $d1, $77, $a3, $83, $f7, $af, $1e ), ( $97, $60, $fa, $56, $5c, $a9, $24, $2d, $b4, $33, $71, $42, $d0, $2e, $2a, $37 ), ( $e8, $f6, $05, $04, $7b, $f0, $4c, $36, $53, $29, $95, $a5, $62, $15, $4c, $ea ), ( $20, $4c, $bf, $15, $03, $1f, $67, $04, $05, $f1, $6d, $e1, $42, $74, $6f, $55 ), ( $90, $fa, $e1, $3f, $fc, $88, $14, $0c, $10, $a5, $44, $28, $c2, $2b, $2c, $e1 ), ( $56, $07, $47, $76, $60, $d4, $5c, $79, $0d, $73, $3a, $fa, $b2, $8b, $73, $ee ),
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -