摘要:针对现代密码学课程中理论与实践存在的差距,特意设计并开发了此款加密算法验证系统。本系统以AES、RSA、RC4、IDEA等几个经典的加密算法为例,采用JAVA技术体系与SWING界面元素开发,保证跨平台性与良好的用户体验,通俗易懂地展示了现代密码学理论魅力。本系统各个版块保持相对独立,每个版块侧重特定加密算法,提供一个以算法为基本模块的流程验证系统。实践证明,使用此系统有利于学生深刻剖析算法原理过程,从而加深理论理解。
关键词:现代密码学;AES;RSA;RC4;IDEA;验证系统;EAVS
1引言
现代密码学理论是安全类本科专业极其重要的一门专业课,但由于密码理论本身的抽象性特点,导致教学过程中易出现理论与实践脱节,理论概念模棱两可的情况。目前各个高校信息安全教学主要分为两个方向:一个是数学系的信息安全,主要研究密码学数学基础,偏重理论;二是计算机系的信息安全,主要研究安全编程技术,偏重实践。随着研究的深入,我们发现两者没有一个很好的平台联系起来,导致学生知识掌握不全面,不能适应工作和深层次科研的需求。
2密码算法的选择
为了深入结合本科教学培养方案,特选取几个经典的加密算法:AES、RSA、RC4、IDEA。
2.1AES算法
高级加密标准,又称高级加密标准Rijndael加密法,属于经典的现代加密算法,是美国联邦政府采用的一种区块加密标准。由于此算法为对称加密算法,故通常用来加解密,用来替代原先的DES,已经被广泛使用。
AES很好地融合了混淆与扩散,因为信息的内容是以128位长度的分组为加密单元的。加密密钥长度有128,192或256位等多种选择。
AES算法加密过程:密钥扩展→初始轮→重复轮→最终轮
2.2RSA算法
1977年Rivest,Shamir和Adleman提出了RSA公钥算法,它是应用最广泛的公钥密码系统。不仅可以用于信息的加解密,还可用于数字签名。该算法为非对称加密算法,其理论基础是大整数因数分解问题。
c.计算整数
d.将整数c转换成密文信息
e.将密文信息发送给A
2.3RC4算法
RC4是RonRivest在1987年为RSA数据安全公司开发的可变密钥长度的序列密码,广泛应用于商业密码产品中。RC4是一种序列密码,面向字节流。用从1到256个字节(8到2048位)的可变长度密钥初始化一个256个字节的状态矢量S,S的元素记为S[0],S[1],…,S[255],从始至终置换后的S包含从0到255的所有8比特数。
2.4IDEA算法
IDEA是80年代提出的“过渡性”的“postDES”算法,它在1990年正式公布并在以后得到增强,是一种对称密码算法。这种算法是在DES算法的基础上发展出来的,类似于三重DES,和DES一样IDEA也是属于对称密钥算法。IDEA的密钥为128位,这么长的密钥在今后若干年内应该是安全的。不过IDEA中有大量弱密钥,并且难以直接扩展到128位块。
3EAVS的体系结构
3.1EAVS的实现结构
4系统实现的关键技术
5系统运行实例
6总结
6.1本文在对现代密码学基础算法理论深入研究的基础上,针对目前课题教学中理论与实践、抽象与具体中存在的不足,详细论述了一种沟通理论与实践的经典密码算法验证系统。
6.2基于C/S的整体系统,可视化的UI使得系统具有良好的交互性。用户通过客户端图像化操作,可以细致了解密码算法的加密解密流程,并将中间结果反馈给用户,加深对理论知识的全面理解。
6.3本系统目前只实现了一些经典算法,实际应用于整体课堂教学仍存在不足,下一步须要丰富算法模块,使其形成密码学整体实践验证体系。
参考文献:
[1][美]加内特,吴世忠等.密码学导引[M].北京:机械工业出版社,2003.
[2]李杰凤等.基于Linux的操作系统实验平台的设计与实现[D].计算技术与自动化,2010.
[3][美]旋奈尔,吴世忠等.应用密码学协议.算法与C源程序[M].北京:机械工业出版社,2003.
[4]李继国,余纯武等.信息安全数学基础[M].武汉:武汉大学出版社,2006.