AES算法加密与解密的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
成都信息工程学院课程设计报告
AES算法加密与解密的设计与实现
课程名称:密码算法程序设计
学生姓名:***
学生学号:**********
专业班级:信安101
任课教师:***
2012年6月3日
目录
1. 背景 (1)
2 信息安全技术 (2)
2.1 信息加密技术概述 (2)
2.2 对称密码技术体制概述 (2)
2.3 非对称密码技术体制概述 (3)
2.4 消息摘要概述 (3)
3 高级加密标准 (4)
3.1概念 (4)
3.2 AES加密 (4)
4实现加密算法
5.测试 (6)
5.1 AES类控制台各功能模块测试 (10)
5.1.1 密钥扩展(KeyExpansion) (10)
5.1.2轮密钥加(AddRoundKey) (10)
5.1.3 字节代替(SubKytes) (10)
HYPERLINK \l _Toc27866 5.1.4 行移位(ShiftRows) (10)
5.1.5 列混合(MixColumns) (10)
5.1.6 轮结构加密验证 (10)
5.2消息加解密功能测试 (11)
5.2.1 与FIPS-197(AES)比对验证 (11)
5.2.2 ASCII加密验证 (13)
5.5.3 加密模式验证 (14)
结论 (17)
参考文献 (18)
1. 背景
近年来,随着Internet的迅猛发展,计算机网络技术正在日益广泛的应用到商业,金融,国防等各个领域,Internet在人民的日程生活中发挥着越来越重要的作用。World Wide Web(WWW)系统已经从最初的提供信息查询浏览一类的静态服务发展成可提供动态交互的综合系统,Internet提供的互联性和开放性使信息的交换和共享成为现实,为社会带来了巨大的收益。然而,Internet是一个给予TCP/IP协议的开放系统,它建立的初衷是为了使用者提供一种快捷的通信和资源的共享方式,并没有考虑到数据传输的安全性,机密性和通信实体的身份鉴别等安全因素,因此在Internet的日益广泛应用的同时,通信安全问题也日益突出。如何保证数据的安全传输已经成为了一个重要问题,这一问题也是当今网络通信技术研究的一个热点。
国际化标准组织定义了安全服务,安全机制,安全管理以及安全方面其他问题综合形成的整套安全体系,此外,通过对现实中网络方面所面临的各种安全问题的分析和总结,还定义了11种威胁,为了避免网络遭受这些威胁,在该标准中明确规定了五大安全服务的功能:身份认证服务,访问控制服务,数据保密服务,数据完整性服务和不可否认服务。概括的讲,这五大服务的主要功能如下:(1)保密性。为了防止被动攻击而对所传输的数据进行加密,一般是指采用密码学技术,将需要保密的信息转化为另外一种隐蔽的形式,使未授权者无法提取有用的信息。
(2)完整性。数据完整性用于确认数据在存储和传输的过程中未被修改。
(3)身份认证。认证就是确认实体的身份或数据的来源,即实体与它自己声明的身份是否一致,包括实体身份认证和数据来源认证。
(4)访问控制。访问控制是指控制或限制通信链路对某些网络资源的访问,防止非法用户侵入或合法用户不慎操作所造成的破坏。
(5)不可否认性。可用来防止两个对话实体对曾经执行过的操作提出异议,从而确认某个实体确实发送或接受过信息。
2 信息安全技术
2.1 信息加密技术概述
加密的基本思想是通过变换信息的表示形式来伪装需要保护的信息,使非授权者不能理解被保护信息的含义。加密前的原始信息称为明文(M),用某种方法伪装信息以隐藏它的内容的过程称为加密(encrption),加密后的信息称为密文(ciphertext,记做C),而把密文转变为明文的过程称为解密(decrytion),加密和解密的过程组成加密系统,明文和密文统称为报文。
密码是实现秘密通讯的主要手段。凡是用特种符号按照通讯双方约定的方法把信息的原形隐蔽起来,不为第三者所识别的通讯方式称为密码通讯。在计算机通讯中,采用密码技术将信息隐蔽起来,再将隐蔽后的信息传输出去,即使信息在传输过程中即使被窃取或载获,窃取者也不能了解信息的内容,从而保证信息传输的安全。
任何一个加密系统至少包括下面四个组成部分:
(1)、未加密的报文,也称明文。
(2)、加密后的报文,也称密文。
(3)、加密解密设备或算法。
(4)、加密解密的密钥。
发送方用加密密钥,通过加密设备或算法,将信息加密后发送出去。接收方在收到密文后,用解密密钥将密文解密,恢复为明文。由于信息以密文的形式在信道中传输,所以,即使信道中的信号被截获,未授权者也不能识别和理解。同样,未授权者也不能伪造合理的报文,因为不能篡改和破坏数据。
如果在一个密码体制中,加密密钥等于解密密钥,则称为对称密码体制;反之,则称为非对称密码体制。
2.2 对称密码技术体制概述
对称密码体制也称私钥密码体制,在这种体制下,加密和解密使用同一个密钥,因此,信息的发送方和接收方必须共享同一个密钥。
按照加密方式的不同,对称密码体制分为流密码和分组密码两种。在流密码中,将明文信息按字符逐位加密(如RC4);在分组密码中,将明文信息分组(每组包含多个字符),逐组进行加密,常用的分组密码有DES,3DES,AES等。
对称密码体制效率高,算法简单,系统开销小,速度比非对称密码体制快得多,适合加密大量的数据。对称密码体制也存在一些缺点,其主要问题是发送方和接收方必须预先共享密钥而不能让其他人知道,密钥的传递需要可靠信道,存在密钥分配和管理方面的不足,不能提供数字签名,身份认证等功能。
AES(Advanced Encryption Standard)是一种常见的对称密钥加密算法。它