文件名称:AES原理及c语言实现
文件大小:132KB
文件格式:DOCX
更新时间:2017-06-04 04:40:32
AES
AES算法:对称密码算法根据对明文消息加密方式的不同可分为两大类,即分组密码和流密码。分组密码将消息分为固定长度的分组,输出的密文分组通常与输入的明文分组长度相同。AES算法属于分组密码算法,它的输入分组、输出分组以及加/ 解密过程中的中间分组都是128比特。密钥的长度K为128,192 或256 比特。用Nk=4,6,8 代表密钥串的字数(1 字=32 比特) ,在本文编制的程序中由用户选定。用Nr 表示对一个数据分组加密的轮数(加密轮数与密钥长度的关系见表1) 。每一轮都需要一个和输入分组具有同样长度(128 比特) 的扩展密钥Ke的参与。由于外部输入的加密密钥K长度有限,所以在AES中要用一个密钥扩展程序( KeyExpansion) 把外部密钥K扩展成更长的比特串,以生成各轮的加密密钥