密码大体上分为三类,涉及的知识点主要是信息论和数论
第一类:公开密钥算法:RSA
第二类:对称算法:AES,DES。Hitag2
第三类:单项序列算法:MD5
而对称算法又可以分为分组加密和序列加密两种
分组加密:AES,DES
序列加密:Hitag2,Keeloq
序列加密通常是硬件实现,因为每次加密1bit,对于硬件来说用移位寄存器来实现是很容易的,但对于最小存储单位是1Byte(8bit)的上位机来说,频繁的位操作并不方便。
加密算法的理论基础基本上来自于数论,数论主要是讨论整形,基本上就是关于素数的研究,RSA的加密难度依据就是,两个大素数的因式分解,但目前无法证明是否有方法能快速的因式分解两个超大素数,所以也无法证明此算法绝对安全,但同理无法证明它不安全。目前2048位的RSA公认是安全的。
信息论在本质上基本和密码学等价,信息熵也影响一组加密数据其安全性,和其被攻破的难度。所以如何降低冗余,隐藏明文也是密码学必须考虑的问题。
首先题主提到的小说里说Enigma采用回旋加密能够做到永远无法暴力破解,这是严重错误的,因为从密码学理论上说,不会存在一个绝对安全无法破解的加密算法。一个真正理想的安全加密方案是一次一密(one-time pad),也就是使用随机的和明文等长的密钥进行抑或操作生成密文,密钥使用一次之后即作废。这个方案虽然很安全,但是因为在密钥的生成和分发上存在较大的困难,所以在实际应用中并不是很广泛。这也就催生了研究密码学算法的必要性。现在密码算法的设计都遵从了Kerckhoff加密原则,即加密系统的保密性不依赖于对加密体制或算法的保密,而依赖于密钥,这一原则现也被普遍承认为传统密码与现代密码的分界线。依据密码体制的不同原理,分成对称(单钥)密码体制和非对称(公钥)密码体制两大类。DES(Data Encryption Standard)的产生,是现代密码的第一个标志,它在1977年被美国政府正式采纳为数据加密的标准,密钥长度为64位,但在1997年的一次破译挑战中被人用96天(以1999年超级计算机的计算能力,破解只用22小时)破解之后,逐渐开始被废弃。代替DES的是AES(Advanced Encryption Standard),其密钥长度可选择128位、192位、256位,该标准依旧是对称密钥加密中最流行的算法。非对称加密的思想非常有趣,它主要依赖了单向函数的计算特性,也就是正向求解很容易而逆向求解却会非常困难。生活中的例子,比如覆水难收、破镜难圆都可以看做单向函数,你把镜子打碎很容易,但是把碎片重新恢复成圆镜却不现实;在数学中这样的函数也有很多,比如大数因子分解(RSA算法的原理基础)、椭圆曲线离散对数问题(ECC算法原理基础)。相比较对称加密体制,非对称加密的主要优点是密钥的分发比较方便。单钥密码体制在进行加密前,要求通信双方必须拥有相同的密钥,并且这个密钥不能被第三方知晓,这就常常需要借助不可信的网络环境以外的其它方式(如人工方式)进行密钥传递,代价比较大。而非对称加密体制却不存在这个问题,通信的接收方可以将其公钥(PK)在网络上公开,任何一个想和他通信的发送方都可以用他的公钥将信息加密后发送给他,而不必担心被他人截获之后破解,因为只有接收方的私钥(SK)才能将其解密(其中公钥和私钥的选择是可以对换的,也就是两个密钥任何一个做公钥或私钥都可以)。既然非对称密钥如此方便,是否意味着使用非对称体制完全代替对称体制就好了?答案肯定不是,非对称体制也有自身的缺点,最大的缺点比如加解密的效率非常低,以至于可能会影响正常通信的体验。所以在加密通信的实践中,经常使用数字信封技术将二者的优点结合使用,即用非对称加密传递对称加密的密钥,然后再在实际的通信过程中使用对称加密的密钥加密真正要发送的信息。除此之外,非对称加密的另一大类应用是数字签名,所谓签名,就是要让人确信这个消息真的是你产生的,而不是别人伪造的,具体操作和加密传递会话信息的过程恰好相反,首先消息的产生者用自己的私钥对要签名的信息进行加密,然后发送给接收者,接收者用消息产生者的公钥进行解密,若得到正确的信息,则证明是真实的,因为只有消息产生者私钥加密的信息才能唯一被消息产生者的公钥解密。
密码分为核心密码、普通密码和商用密码。
《中华人民共和国密码法》
第七条 核心密码、普通密码用于保护国家秘密信息,核心密码保护信息的最高密级为绝密级,普通密码保护信息的最高密级为机密级。
核心密码、普通密码属于国家秘密。密码管理部门依照本法和有关法律、行政法规、国家有关规定对核心密码、普通密码实行严格统一管理。
第八条 商用密码用于保护不属于国家秘密的信息。公民、法人和其他组织可以依法使用商用密码保护网络与信息安全。
《中华人民共和国密码法》
第十三条 国家加强核心密码、普通密码的科学规划、管理和使用,加强制度建设,完善管理措施,增强密码安全保障能力。
第十四条 在有线、无线通信中传递的国家秘密信息,以及存储、处理国家秘密信息的信息系统,应当依照法律、行政法规和国家有关规定使用核心密码、普通密码进行加密保护、安全认证。
以上内容参考:百度百科——中华人民共和国密码法
加密技术分为:
1、对称加密
对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法,对称加密算法使用起来简单快捷,密钥较短,且破译困难
2、非对称
1976年,美国学者Dime和Henman为解决信息公开传送和密钥管理问题,提出一种新的密钥交换协议,允许在不安全的媒体上的通讯双方交换信息,安全地达成一致的密钥,这就是“公开密钥系统”。
加密技术的功能:
原有的单密钥加密技术采用特定加密密钥加密数据,而解密时用于解密的密钥与加密密钥相同,这称之为对称型加密算法。采用此加密技术的理论基础的加密方法如果用于网络传输数据加密,则不可避免地出现安全漏洞。
区别于原有的单密钥加密技术,PKI采用非对称的加密算法,即由原文加密成密文的密钥不同于由密文解密为原文的密钥,以避免第三方获取密钥后将密文解密。
以上内容参考:百度百科—加密技术
1 数据加密原理
1.1数据加密
在计算机上实现的数据加密,其加密或解密变换是由密钥控制实现的。密钥(Keyword)是用户按照一种密码体制随机选取,它通常是一随机字符串,是控制明文和密文变换的唯一参数。
例:明文为字符串:
AS KINGFISHERS CATCH FIRE
(为简便起见,假定所处理的数据字符仅为大写字母和空格符)。
假定密钥为字符串: ELIOT
加密算法为:
(1)将明文划分成多个密钥字符串长度大小的块(空格符以″+″表示)
AS+KI NGFIS HERS+ CATCH +FIRE
(2)用00~26范围的整数取代明文的每个字符,空格符=00,A=01,...,Z=26:
0119001109 1407060919 0805181900 0301200308 0006091805
(3) 与步骤2一样对密钥的每个字符进行取代:
0512091520
(4) 对明文的每个块,将其每个字符用对应的整数编码与密钥中相应位置的字符的整数编码的和模27后的值取代:
(5) 将步骤4的结果中的整数编码再用其等价字符替换:
FDIZB SSOXL MQ+GT HMBRA ERRFY
理想的情况是采用的加密模式使得攻击者为了破解所付出的代价应远远超过其所获得的利益。实际上,该目的适用于所有的安全性措施。这种加密模式的可接受的最终目标是:即使是该模式的发明者也无法通过相匹配的明文和密文获得密钥,从而也无法破解密文。
1.2数字签名
密码技术除了提供信息的加密解密外,还提供对信息来源的鉴别、保证信息的完整和不可否认等功能,而这三种功能都是通过数字签名实现。
数字签名是涉及签名信息和签名人私匙的计算结果。首先,签名人的软件对发送信息进行散列函数运算后,生成信息摘要(message digest)--这段信息所特有的长度固定的信息表示,然后,软件使用签名人的私匙对摘要进行解密,将结果连同信息和签名人的数字证书一同传送给预定的接收者。而接收者的软件会对收到的信息生成信息摘要(使用同样的散列函数),并使用签名人的公匙对签名人生成的摘要进行解密。接收者的软件也可以加以配置,验证签名人证书的真伪,确保证书是由可信赖的CA颁发,而且没有被CA吊销。如两个摘要一样,就表明接收者成功核实了数字签名。
2 加密体制及比较
根据密钥类型不同将现代密码技术分为两类:一类是对称加密(秘密钥匙加密)系统,另一类是公开密钥加密(非对称加密)系统。
2.1对称密码加密系统
对称钥匙加密系统是加密和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,保持钥匙的秘密。
对称密码系统的安全性依赖于以下两个因素。第一,加密算法必须是足够强的,仅仅基于密文本身去解密信息在实践上是不可能的;第二,加密方法的安全性依赖于密钥的秘密性,而不是算法的秘密性。因为算法不需要保密,所以制造商可以开发出低成本的芯片以实现数据加密。这些芯片有着广泛的应用,适合于大规模生产。
对称加密系统最大的问题是密钥的分发和管理非常复杂、代价高昂。比如对于具有n个用户的网络,需要n(n-1)/2个密钥,在用户群不是很大的情况下,对称加密系统是有效的。但是对于大型网络,当用户群很大,分布很广时,密钥的分配和保存就成了大问题。对称加密算法另一个缺点是不能实现数字签名。
对称加密系统最著名的是美国数据加密标准DES、AES(高级加密标准)和欧洲数据加密标准IDEA。1977年美国国家标准局正式公布实施了美国的数据加密标准DES,公开它的加密算法,并批准用于非机密单位和商业上的保密通信。DES成为全世界使用最广泛的加密标准。
但是,经过20多年的使用,已经发现DES很多不足之处,对DES的破解方法也日趋有效。AES将会替代DES成为新一代加密标准。DES具有这样的特性,其解密算法与加密算法相同,除了密钥Key的施加顺序相反以外。
2.2 公钥密码加密系统
公开密钥加密系统采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。由于加密钥匙是公开的,密钥的分配和管理就很简单,比如对于具有n个用户的网络,仅需要2n个密钥。公开密钥加密系统还能够很容易地实现数字签名。因此,最适合于电子商务应用需要。在实际应用中,公开密钥加密系统并没有完全取代对称密钥加密系统,这是因为公开密钥加密系统是基于尖端的数学难题,计算非常复杂,它的安全性更高,但它实现速度却远赶不上对称密钥加密系统。在实际应用中可利用二者的各自优点,采用对称加密系统加密文件,采用公开密钥加密系统加密″加密文件″的密钥(会话密钥),这就是混合加密系统,它较好地解决了运算速度问题和密钥分配管理问题。
根据所基于的数学难题来分类,有以下三类系统目前被认为是安全和有效的:大整数因子分解系统(代表性的有RSA)、椭圆曲线离散对数系统(ECC)和离散对数系统(代表性的有DSA)。
当前最著名、应用最广泛的公钥系统RSA是由Rivet、Shamir、Adelman提出的(简称为RSA系统),它加密算法使用了两个非常大的素数来产生公钥和私钥。现实中加密算法都基于RSA加密算法。pgp算法(以及大多数基于RSA算法的加密方法)使用公钥来加密一个对称加密算法的密钥,然后再利用一个快速的对称加密算法来加密数据。这个对称算法的密钥是随机产生的,是保密的,因此,得到这个密钥的唯一方法就是使用私钥来解密。
RSA方法的优点主要在于原理简单,易于使用。随着分解大整数方法的进步及完善、计算机速度的提高以及计算机网络的发展(可以使用成千上万台机器同时进行大整数分解),作为RSA加解密安全保障的大整数要求越来越大。为了保证RSA使用的安全性,其密钥的位数一直在增加,比如,目前一般认为RSA需要1024位以上的字长才有安全保障。但是,密钥长度的增加导致了其加解密的速度大为降低,硬件实现也变得越来越难以忍受,这对使用RSA的应用带来了很重的负担,对进行大量安全交易的电子商务更是如此,从而使得其应用范围越来越受到制约。
DSA(Data Signature Algorithm)是基于离散对数问题的数字签名标准,它仅提供数字签名,不提供数据加密功能。它也是一个″非确定性的″数字签名算法,对于一个报文M,它的签名依赖于随机数r ?熏 这样,相同的报文就可能会具有不同的签名。另外,在使用相同的模数时,DSA比RSA更慢(两者产生签名的速度相同,但验证签名时DSA比RSA慢10到40倍)。
2.3 椭圆曲线加密算法ECC技术优势
安全性更高、算法实现性能更好的公钥系统椭圆曲线加密算法ECC(Elliptic Curve Cryptography)基于离散对数的计算困难性。
一、对称密码
1、定义:采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。
2、特点:算法公开、计算量小、加密速度快、加密效率高。
3、应用领域:由于其速度快,对称性加密通常在消息发送方需要加密大量数据时使用。
二、非对密码
1、定义:非对称密码指的是非对称密码体制中使用的密码。
2、特点:
(1)是加密密钥和解密密钥不同 ,并且难以互推 。
(2)是有一个密钥是公开的 ,即公钥 ,而另一个密钥是保密的 ,即私钥。
3、应用领域:很好的解决了密钥的分发和管理的问题 ,并且它还能够实现数字签名。
扩展资料
对称加密算法特征
1、加密方和解密方使用同一个密钥;
2、加密解密的速度比较快,适合数据比较长时的使用;
3、密钥传输的过程不安全,且容易被破解,密钥管理也比较麻烦
参考资料来源:百度百科——非对称密码
参考资料来源:百度百科——对称加密