admin 管理员组

文章数量: 1086019


2024年4月29日发(作者:我的世界notch名言)

AES算法加密C语言完整程序

#包括〈字符串。"

#包括AES。"

#包括“大众。”

#定义字节无符号字符

#定义 bpoly OxlB / /!〈下 8 位(x 8X 1 X4+3+1),艮[I (x+4+x

+ 3 + x+x)。

#定义块16 / /!〈字节大小的块大小。

#定义 keybits 128 / /!〈使用 AES128。

#定义轮10 / /!轮数。

#定义keylength 16 / /!字节长度的键长度。

字节XDATA酒店[256 ]; //!〈工作区1。

字节数据块 2 [ 256 ] ; //! < worksapce 2。

字节数据* powtbl; / /!〈最后位置指数表。

字节数据* logtbl; / /!对数查找表的最后位置。

字节数据* S盒;/ /! < S盒的最终位置。

字节数据* sboxinv; / / !〈逆S盒的最终位置。

字节数据* Expandedkey; / /!〈扩展键的最后位置。

CalcPowLog (* powtbl 无效字节,字节* logtbl)

{

我二0字节数据;

T = 1字节数据;

做{

/ /使用0x03作为幕和对数根。

powtbl [我]=T;

logtbl [T]二我;

++;

/ / muliply T 3在 GF (2 " 8)。

T " = (t<

} (t! = 1);循环属性确保i〈 255o powtbl [ 255 ] = powtbl [

0 ]; / / 255 = - 0, 254 - 1, 虚空CalcSBox (字节* S盒)

字节数据我,腐;

字节数据的温度;


本文标签: 字节 位置 数据 世界