Rijndael机密算法的设计与实现 VC++
摘 要
分组密码是现代实用密码体制发展的两个方向之一,它具有速度快、易于标准化和便干软硬件实现等特点,通常是信息与网络安全中实现数据加密、数字签名、认证和密钥管理的核心体制,因此分组密码在计算机通信和信息系统安全领域中具有广泛的应用。
分组密码的设计与分析是相互对立又相互依存的两个研究方向,它们的对立促进了分组密码的飞速发展。
论文针对这两个方向展开了论述。首先介绍了DES的设计的原理,特别重点介绍了作为新的高级加密标准的rijndael算法。不仅如此,作者还从自己设计的VC++程序出发,介绍作者基于设计的各个模块,和加密文件程序的简单操作。(所有权: 毕业设计网 QQ:306826066)
【关键字】:有限域;DES;ASE; Rijndael;密钥生成算法;VC++; 文件加密; [资料来源:http://www.doc163.com]
Rijndael algorithmn VC++ implement
Abstract
The block cipher is one of the two aspects of the modern appliedcryptography systems. It has some characteristics-the fast speed, the easystandardization, convenient implement by software and hardware, and so on.The block cipher always is the main parts of the data encryption, digital signature, authentication and key management in the security of information and network. So it is used in wide range either in the security area of the computer communication or in the security area of the information system..
The design and the analysis of the block cipher not only are contrary but also are dependent each other.
And the contradiction between them promotes the fast development in the block cipher.This paper is discussed with respect to these two aspects. In this paper,at fist, the design architecture of DES, and the algorithms of DES. Rijndael as the new advanced encryption standardization .And more,the fastest trends about the algorithm of the block cipher also is kept close watch on. Second, author introduce the blocks from the his VC++ program, the simple operation of the encryption. [版权所有:http://DOC163.com]
KEY: finite field; DES; AES; Rijndael; key schedule; VC++; power analysis;
随着计算机和通信技术的发展,用户对信息的安全存储、安全处理和安全传输的需求越来越迫切。特别是随着Internet的广泛应用、个人通信、多媒体通信、办公自动化、电子邮件、电子自动转帐支付系统和自动零售业务网的建立与实现,信息的安全保护问题就显得更加重要。解决这一问题的有效手段之一是使用现代密码技术。“密码学新方向”的发表和美国数据加密标准DES的颁布实施标志着现代密码学的诞生,也从此揭开了商用密码研究的序幕。现代实用密码体制的研究基本沿着两个方向进行:一是以RSA为代表的公开密钥密码体制;另一个是以DES为代表的秘密密钥分组密码体制。分组密码具有速度快、易于标准化和便于软硬件实现等特点,通常是信息与网络安全中实现数据加密、数字签名、认证和密钥管理的核心体制,因此分组密码在计算机通信和信息系统安全领域中具有广泛的应用。(所有权: 毕业设计网 QQ:306826066)
现在,分组密码已受到广泛关注并成为了研究的热点,这主要基于以下几个原因:
(1)加密算法标准化的需求
标准化就意味着生产规模化、成本降低、维修和更换方便。为了实现非相关团体之间的通信保密,加密体制的标准化是有必要的。年美国国家标准局颁布了联邦信息处理标准DES来保护非机密信息在存储和传输过程中免受未经授权的篡改或泄露.此后,DES作为数据加密的工业标准得到了IBM等计算机制造厂商的大力支持,并相继被其他组织、机构所采用。1980年DES又成为美国标准化协会(ANSI )的标准。继而受到国际标准化组织(ISO)的关注,并于1984年成立数据加密技术委员会SC20,在DES的基础上指定数据加密的国际标准。到目前为止,DES仍然是使用最广的算法。但是,它的56比特密钥对今天的安全应用已经是太短了;三重DES由于其加密速度太慢而只能成为临时的解决方案。这就要求有更安全、加密速度更快的新算法。1997年4月15日美国国家标准技术研究所(NIST)发起T征集AES (Advanced EncryptionStandard)算法的活动,并成立专门的AES工作组,目的就是为了确定一个非保密的、公开披露的、全球免费使用的分组密码算法,用于保护下一世纪政府的敏感信息。
[资料来源:www.doc163.com]
(2)官方组织维护通信和社会安全的需要
为了维护通信安全、打击犯罪,1993年4月,美国政府宣布了一项新的建议,该建议提倡联邦政府和工业界使用新的具有密钥托管功能的联邦加密标准,目的就是为用户提供更好的安全通信方式,同时也允许政府机构在必要的情况下进行监听。尽管这项提议招到了一部分人的否决,但却具有积极的意义。
(3)多级安全管理的需要
在区域通信系统中,用户较多,随着他们的地位、作用不同,所流通的信息的重要性可能也是不同的,这就要求根据不同人的等级进行不同的安全管理,由此指出了研究多安全级密码算法的必要性。迭代分组密码就是满足这种要求的典型代表,它的安全强度的不同级别是由迭代次数决定的。
(4)网络安全通信的需要
在Internet/Intranet中随着通信量和业务种类的增加,对安全认证和保密业务的要求日益迫切而它们都要涉及到分组密码算法。(所有权: 毕业设计网 QQ:306826066)
[版权所有:http://DOC163.com]
目 录 [资料来源:https://www.doc163.com]
1引言 1
1.1分组密码的研究背景和意义 1
1.2分组密码的研究现状 2
1.3ASE及Rijndael 2
2.ASE(Rijindael)定义 3
(所有权: 毕业设计网 QQ:306826066)
2.1 术语和缩写词表 3
2.2 算法参数、符号和函数 4
2.3Rijndael的数学背景 5
2.4Rijndael的加密架构 6
2.5、密钥的排程(Key Schedule) 8
3 加/解 密 10
3.1 加解密及其函数 10
3.1.1 字节替代(SubBytes( ))变换 10
3.1.2 行移位(ShiftRows( ))变换 13
3.1.3 列混合(MixColumns( ))变换 14
3.1.4 轮密钥加(AddRoundKey( ))变换 15
3.2 密钥扩展算法 16
3.3 解密 18
3.3.1 逆行移位(InvShiftRows( ))变换 19
3.3.2 逆字节替代(InvSubBytes( ))变换 19
3.3.3 逆列混合(InvMixColumns( ))变换 20
3.3.4 轮密钥加(InvMixColumns( ))变换的逆变换 20
3.3.5 等价的解密变换 21
4 操作演示 22
4.1 输入加密密文 22
4.2 选择加密文件 22
4.3 加密文件生成 23
[来源:http://www.doc163.com]
4.4 选择解密文件 24
4.5 解密文件 24
4.6 解密失败的文件 25
结论 26
谢 词 27
附录A 翻译原文部分 30
附录B 原文翻译 34
附录D:文件加密解密界面的VC++代码 37 [资料来源:http://www.doc163.com]