下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

非对称密钥加密体制的主要算法

作者:课课家教育     来源: http://www.kokojia.com点击数:4717发布时间: 2019-03-07 10:31:53

标签: 非对称密钥算法现代密码学

软考,您想通过吗?一次通过才是硬道理

  随着计算机技术的飞速发展,各种新技术、新思路不断涌现,优秀的软件总是会成为窃取的对象,因此软件保护和数据加密技术成为软件开发中越来越重要的一个环节。目前在软件加解密技术中应用到的密码体制主要分为对称密钥和非对称密钥。今天主要是分享非对称密钥中的几种算法。

  一、概念

  非对称密钥加密体制,又称为公钥密码体制、双密钥密码体制。它是指对信息加密和解密时所用的密钥是不同的,即有两个密钥,一个是可以公开的,另外一个是私有的,这两个密钥组成一对密钥对,分别为公开密钥和私有密钥。如果使用其中一个密钥对数据进行加密,则只有用另外一个密钥才能解密。由于加密和解密时所用的密钥不同,这种加密体制称之为非对称密钥加密体制。在公开密钥算法中,用公开的密钥进行加密,用私有密钥进行解密的过程称为加密。而用私有密钥进行加密,公开密钥进行解密的过程称为认证。

非对称密钥加密体制的主要算法_非对称密钥_算法_现代密码学_课课家教育

  二、优点

  1、非对称加密与对称加密相比,起安全性更好

  2、在多人之间进行保密信息传输所需的密钥组和数量很小

  3、公开密钥系统可实现数字签名

  三、缺点

  1、加密和解密花费时间长、速度慢,只适合对少量数据进行加密。

  四、主要算法

  1、RSA

  RSA算法是较早提出的一种公开钥密码系统。1978年,美国麻省理工学院的Rivest,Shamir和Adleman在题为《获得数字签名和公开钥密码系统的方法》的论文中提出了基于数论的非对称(公开钥)密码体质,称为RSA密码体质。RSA是目前最有影响力的公公钥加密算法,它能够抵抗目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。今天只有短的RSA钥匙才可能被强力方式解破。到2008年为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被解破的。但在分布式计算和量子计算机理论日趋成熟的今天,RSA加密安全性受到了挑战。

  RSA是建立在“大整数的素因子分解是困难问题”基础上的,因此可以将乘积公开作为加密密钥,是一种分组密码体制。

  2、ECC(椭圆加密算法)

  ECC(Error Correcting Code,错误检查和纠正)是一种公钥加密体制,最初由Koblitz和Miller两人于1985年提出,其数学基础是利用椭圆曲线上的有理点构成Abel加法群上椭圆离散对数的计算困难性。ECC是一种能够实现“错误检查和纠正”的技术,ECC内存就是应用这种技术的内存,一般多应用在服务器及图形工作站上,这将使这个点点系统工作时更趋于安全稳定。

  椭圆曲线密码算法的优点:密钥尺度较小;参数比较灵活;具有数学难题保证的安全性;实现速度较快。

  3、Elgamal

  ElGamal算法,是一种较为常见的加密算法,它是基于1984年提出的公钥密码体制和椭圆曲线加密体系。既能用于数据加密也能用于 数字签名,其安全性依赖于计算有限域上离散对数这一难题。在加密过程中,生成的密文长度是明文的两倍,且每次加密后都会在密文中生成一个随机数K,在密码中主要应用离散对数问题的几个性质:求解离散对数(可能)是困难的,而其逆运算指数运算可以应用平方-乘的方法有效地计算。也就是说,在适当的群G中,指数函数是单向函数。

  4、D-H

  D-H矩阵全称Denavit-Hartenberg Matrix。Diffie和Hellman1955年在《密码学新方向》一文中给出了非对称密码算法的思想。它并不是真正意义上的对称密码实例。仅仅是一个单向函数,算法的目的是使得两个用户安全地交换一个会话密钥。这种方法在机器人的每个连杆上都固定一个坐标系,然后用4×4的齐次变换矩阵来描述相邻两连杆的空间关系。通过依次变换可最终推导出末端执行器相对于基坐标系的位姿,从而建立机器人的运动学方程。

  5、Rabin

  Miller-Rabin算法是Fermat算法的一个变形改进,它的理论基础是由Fermat定理引申而来。是目前主流的基于概率的素数测试算法,在构建密码安全体系中占有重要的地位。通过比较各种素数测试算法和对Miller-Rabin算法进行的仔细研究,证明在计算机中构建密码安全体系时, Miller-Rain算法是完成素数测试的最佳选择。通过对Miller-Rabin 算 法底层运算的优化,可以取得较以往实现更好的性能。

  6、背包算法

  Ralpha Merkle和Martin Hellman开发了第一个非对称密码算法—背包算法(背包算法只能用于加密)。

  其工作原理是:假定甲想加密,则先产生一个较易求解的背包问题,并用它的解作为专用密钥;然后从这个问题出发,生成另一个难解的背包问题,并作为公共密钥。如果乙想向甲发送报文,乙就可以使用难解的背包问题对报文进行加密,由于这个问题十分难解,所以一般没有人能够破译密文;甲收到密文后,可以使用易解的专用密钥解密。

  五、非对称密钥加密典型算法RSA

  RSA是一种基于公钥密码体制的优秀加密算法,它的保密性强度是建立在具有大素数因子的合数其因子分解是困难的(基于大数分解的难度)。公钥和私钥是一对大素数的函数,从一个公钥和密文中恢复出明文的难度等价于分解两个大素数之积。RSA得到了世界上的最广泛的应用,ISO在1992年颁布的国际标准X.509中,将RSA算法正式纳入国际标准。

  在运用非对称密码技术传送数据文件时,文件发送者也可以使用接收者的公开密钥对原始文件进行加密,这样只有掌握了相应的私用密钥的接收者才能对其进行解密,任何没有相应私用密钥的其他人都无法对其解密和阅读文件内容,而接收者收到文件并解密后,泽可以从文件的内容来识别文件的来源。因此,将对称密钥密码技术与非对称密钥密码技术结合起来使用,再加上数字摘要、数字签名等安全认证手段,则可以解决电子商务交易中信息传送的安全性和身份的认证问题。

  非对称密钥密码体制是现代密码学最重要的发明和进展。一般理解密码学就是保护信息传递的机密性,但这仅仅是当今密码学的一个方面。对信息发送与接收人的真实身份的验证,对所发出/接收信息在事后的不可抵赖以及保障数据的完整性也是现代密码学研究的另一个重要方面。公开密钥密码体制对这两方面的问题都给出了出色的解答,并正在继续产生许多新的思想和方案。

  当然以上的内容只是涉及非对称密钥加密算法的基础知识,实际应用起来会复杂很多,有兴趣的朋友可以私下研究。有更多实用精彩的IT教程尽在课课家教育,大家可以搜索公众号【课课家IT精品课程】关注我们!

赞(11)
踩(0)
分享到:
上一篇:密钥管理介绍
推荐查看
华为认证网络工程师 HCIE直播课视频教程