欢迎来到论文网! 加入收藏 | 设为论文网 | 网站地图 | Tags标签 | RSS
论文网 论文网8200余万篇毕业论文、各种论文格式和论文范文以及9千多种期刊杂志的论文征稿及论文投稿信息,是论文写作、论文投稿和论文发表的论文参考网站,也是科研人员论文检测和发表论文的理想平台,lunwenf@yeah.net。
您当前的位置:论文网 > 科技论文 > 计算机论文

密码学中加密算法的研究与实现

时间:2016-01-08  作者:袁 薇

摘要:随着计算机网络和计算机通信技术的发展,密码学越来越成为信息安全技术中的研究热点,本文针对密码学进行了深入研究,分析了这一研究领域中的两种主流加密体制以及对应的典型加密算法,通过程序开发对算法进行实现。
论文关键词:密码学,信息安全,加密算法
  密码学是一门古老而深奥的学科,是研究计算机信息加密、解密及其变换的科学,是数学和计算机的交叉学科,也是一门新兴的学科[1]。早在四千年前,古埃及人就开始使用密码来保密传递消息。两千多年前,罗马国王Julius Caesar(恺撒)就开始使用目前称为“恺撒密码”的密码系统。长期以来,密码学仅在很小的范围内使用,直到20世纪40年代以后才有重大突破和发展。随着计算机网络和通信技术的发展,密码学得到前所未有的重视并迅速普及发展起来,深入到数据处理过程的各个环节。
  密码学相关科学大致可以分为3个方面:密码学(Cryptology)是研究信息系统安全保密的科学;密码编码学(Cryptography)是研究对信息进行编码,实现对信息隐藏;密码分析学(Crypt analytics)是研究加密消息的破译或消息伪造。其发展经过3个阶段:
  第一阶段是1949年之前,密码学是一门艺术,这阶段的研究特点是:①密码学还不是科学,而是艺术;②出现一些密码算法和加密设备,比如:转轮密码机ENIGMA;③简单的密码分析手段出现,数据的安全完全基于算法的保密。
  该阶段具有代表性的事件是1883年Kerchoffs第一次明确提出了编码的原则,即加密算法应建立在算法的公开且不影响明文和密钥的安全的基础上。这个原则成为传统密码和现代密码的分界线。
  第二阶段是1949-1975年,密码学成为一门独立的科学,其主要特点:数据安全基于密钥而不是算法的保密。
  第三阶段是1976年以后,密码学中公钥密码学成为主要研究方向,这阶段的主要特点是:公钥密码使得发送端和接收端无密钥传输的保密通信成为可能。
  本文针对密码学进行了深入研究,分析了这一领域中的两种主流加密体制以及对应的典型加密算法,通过程序开发对算法进行实现,并总结了加密技术在现实生活中的应用。
  2.主流加密体制
  密码算法也叫密码函数,是用于加密和解密的数学函数[2]。如果算法本身是保密的,这种算法称为受限制的算法。受限制的密码算法不能进行质量控制或标准化,但对低密级的应用来说还是很流行。
  现代密码学则用密钥解决了这个问题,加、解密运算都依赖于密钥,用KE表示加密密钥,KD表示解密密钥,用C表示密文,M表示明文。
  2.1对称密钥密码体制
  如果KE=KD,或KE和KD可以相互推导,则加解密函数表达为:
  加密:EK(M)=C;解密:DK(C)=M;整个过程:DK(EK(M))=M
  这种方式称为对称密钥密码体制。对称密钥密码体制的优点在于加解密速度快,安全强度高、加密算法比较简便高效、密钥简短和破译困难;便于硬件的实现和大规模使用。缺点是密钥的分配必须通过保密安全的信道,无法用来进行数字签名和抗抵赖。
  2.2非对称密钥密码体制
  如果加密和解密使用不同的密钥(Kp,Ks),把加密密钥公开,解密密钥保密,则加解密函数表达为: C= EKp(M);M= DKS(C);整个过程:DKS(EKp(M))=M
  这种方式称为非对称密钥密码体制,或公开密钥密码体制。其优点在于极大地简化了密钥管理;密钥的分配不必保持信道的保密性,可用来签名和抗抵赖。缺点主要是加密速度慢,不便于硬件实现和大规模使用。
  3.加密算法
  3.1 DES算法原理
  DES算法是对称密钥密码体制中的典型算法,目前,DES算法在国内POS、ATM、磁卡及智能卡、加油站等领域被广泛应用。算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是工作密钥;Data为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密/解密[3]。Mode为加密,则用Key把数据Data加密,生成Data的密码形式作为输出结果;Mode为解密,则用Key把密码形式的数据Data解密,还原为Data的明码形式作为输出结果。
  DES算法实现加密需要3个步骤,加密原理见图1。
  ①:变换明文。对给定的64位的明文x,首先通过一个置换IP表来重新排列x,从而构造出64位的X0,X0=IP(X)=L0R0,其中L0表示X0的前32位,R0表示X0的后32位。
  ②:按照规则迭代。规则为:Li=Ri-1,Ri= Li⊕F(Ri-1,Ki),(i=1,2,3, …,16)。符号⊕表示数学运算“异或”,F表示一种置换,由S盒置换构成,Ki是由密钥编排函数产生的比特块。
  ③:对L16R16利用IP-1作逆置换,就得到了密文Y0。
  图1:DES加密原理
  图1:DES算法原理图
  DES加密过程中,有4个关键点,分别为IP置换表和IP-1逆置换表,函数F,子密钥Ki和S盒,功能具体如下:
  ①IP置换表和IP-1逆置换表。输入的64位数据按IP表置换进行重新组合,并把输出分为L0和R0两部分,每部分各32位。
  ②函数F有两个输入:32位的Ri-1和48位Ki,其中变换规则根据E位选择表,从Ri-1的32位中选取某些位,构成48位,即将32位扩展为48位。
  ③假设密钥为K,长度为64位,但是其中所有8的倍数位用做奇偶校验位。K的下标i的取值范围是1到16,用16轮来构造。16个子密钥是同一个64比特的密钥源=k1k2…k64循环移位产生的。
  ④S盒的工作原理:S盒由8张数据表组成,以6位作为输入,以4位作为输出。
  DES算法自身的强度实践证明是安全可靠。而56位的密钥已显得过短,128位密钥可达到更高的保密程度。另外,DES算法中只用到64位密钥中的56位,即DES的安全性是基于除了8,16,24,…,64位外的其余56位的组合变化才得以保证的。在实际应用中,应使用这56位作为有效数据位,才能保证DES算法安全可靠。否则会留下了安全隐患。
  3.2 RSA算法原理
  RSA算法是非对称密钥密码体制中的应用最广泛的加密算法,也是第一个既能用于数据加密也能用于数字签名的算法[4],是一种基于大数不可能质因数分解假设的公钥体系。
  RSA体制的加密过程由3个数e,d,n来实现。加密时:y=xe(mod n),即将明文x自乘e次,然后除以模数n,余数便是密文y;解密时:x=yd(mod n),即将密文y自乘d次,然后除以模数n,余数便是明文x。
  用户可将加密密钥(e,n)公开,而将解密密钥(d,n)和构成n的两个因子p、q保密。任何其他人都可以公开密钥(e,n)对该用户通信,只有掌握解密密钥的人才能解密。
  ①与DES算法相比,速度一直是RSA算法的缺陷,一般来说RSA算法只用于少量数据加密。
  ②RSA算法的安全性依赖于大数分解。分解n是最显然的攻击方法,因此,模数n应该根据具体情况选大一些。
  ③既能用于数据加密也能用于数字签名,被普遍认为是目前最优秀的公钥方案之一。

查看相关论文专题
-------------------------------------------------------------------------
加入收藏  打印本文
上一篇论文:软件测试中的心理学问题研究
下一篇论文:利用VPN实现独立学院校园网的远程访问
科技论文分类
科技小论文 数学建模论文
数学论文 节能减排论文
数学小论文 低碳生活论文
物理论文 建筑工程论文
网站设计论文 农业论文
图书情报 环境保护论文
计算机论文 化学论文
机电一体化论文 生物论文
网络安全论文 机械论文
水利论文 地质论文
交通论文
相关计算机论文
最新计算机论文
读者推荐的计算机论文