AES加密解密算法(Java版本).doc
文本预览下载声明
实现功能:
已知明文为0123456789ABCDEF的ASCII码表示的128比特
* 密钥是0101101100001110的12次重复构成的192比特密钥
* 编写AES的加解密程序,对明文进行加密,并进行解密验证
1.程序结构
2.运行结果
源代码
1.AESclass类:
public class AESclass {
private byte[][] sbox={
{99,124,119,123,-14,107,111,-59,48,1,103,43,-2,-41,-85,118},
{-54,-126,-55,125,-6,89,71,-16,-83,-44,-94,-81,-100,-92,114,-64},
{-73,-3,-109,38,54,63,-9,-52,52,-91,-27,-15,113,-40,49,21},
{4,-57,35,-61,24,-106,5,-102,7,18,-128,-30,-21,39,-78,117},
{9,-125,44,26,27,110,90,-96,82,59,-42,-77,41,-29,47,-124},
{83,-47,0,-19,32,-4,-79,91,106,-53,-66,57,74,76,88,-49},
{-48,-17,-86,-5,67,77,51,-123,69,-7,2,127,80,60,-97,-88},
{81,-93,64,-113,-110,-99,56,-11,-68,-74,-38,33,16,-1,-13,-46},
{-51,12,19,-20,95,-105,68,23,-60,-89,126,61,100,93,25,115},
{96,-127,79,-36,34,42,-112,-120,70,-18,-72,20,-34,94,11,-37},
{-32,50,58,10,73,6,36,92,-62,-45,-84,98,-111,-107,-28,121},
{-25,-56,55,109,-115,-43,78,-87,108,86,-12,-22,101,122,-82,8},
{-70,120,37,46,28,-90,-76,-58,-24,-35,116,31,75,-67,-117,-118},
{112,62,-75,102,72,3,-10,14,97,53,87,-71,-122,-63,29,-98},
{-31,-8,-104,17,105,-39,-114,-108,-101,30,-121,-23,-50,85,40,-33},
{-116,-95,-119,13,-65,-26,66,104,65,-103,45,15,-80,84,-69,22},
};
private byte[][] rsbox={
{82,9,106,-43,48,54,-91,56,-65,64,-93,-98,-127,-13,-41,-5},
{124,-29,57,-126,-101,47,-1,-121,52,-114,67,68,-60,-34,-23,-53},
{84,123,-108,50,-90,-62,35,61,-18,76,-107,11,66,-6,-61,78},
{8,46,-95,102,40,-39,36,-78,118,91,-94,73,109,-117,-47,37},
{114,-8,-10,100,-122,104,-104,22,-44,-92,92,-52,93,101,-74,-110},
{108,112,72,80,-3,-19,-71,-38,94,21,70,87,-89,-115,-99,-124},
{-112,-40,-85,0,-116,-68,-45,10,-9,-28,88,5,-72,-77,69,6},
{-48,44,30,-113,-54,63,15,2,-63,-81,-67,3,1,19,-118,107},
{58,-111,17,65,79,103,-36,-22,-105,-14,-49,-50,-16,-76,-26,115},
{-106,-84,116,34,-25,-83,53,-123,-30,-7,55,-24,28,117,-33,110},
{71,-15,26,113,29,41,-59,-119,111,-73,98,14,-86,24,-66,27},
显示全部