导航:首页 > 文档加密 > 现代加密算法是公开的吗

现代加密算法是公开的吗

发布时间:2024-12-08 23:43:28

㈠ 现代的信息加密方式是怎样的

首先题主提到的小说里说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 数据加密原理

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(DataSignatureAlgorithm)是基于离散对数问题的数字签名标准,它仅提供数字签名,不提供数据加密功能。它也是一个″非确定性的″数字签名算法,对于一个报文M,它的签名依赖于随机数r ?熏 这样,相同的报文就可能会具有不同的签名。另外,在使用相同的模数时,DSA比RSA更慢(两者产生签名的速度相同,但验证签名时DSA比RSA慢10到40倍)。
2.3 椭圆曲线加密算法ECC技术优势

安全性更高、算法实现性能更好的公钥系统椭圆曲线加密算法ECC(EllipticCurveCryptography)基于离散对数的计算困难性。

㈢ SSL常见加密算法

一、加密算法常见分类

根据密钥类型不同将现代密码技术分为两类:对称加密算法(秘密钥匙加密)和非对称加密算法(公开密钥加密)。

对称钥匙加密系统是加密和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密。

非对称密钥加密系统采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。

1)对称加密算法

DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。

3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。

AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高;

2)非对称加密算法

RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;

DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准);

ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。

3)单向加密算法

BASE64 严格地说,属于编码格式,而非加密算法

MD5(Message Digest algorithm 5,信息摘要算法)

SHA(Secure Hash Algorithm,安全散列算法)

HMAC(Hash Message Authentication Code,散列消息鉴别码)

二 .特点

DES,3DES,AES 加密数据,只有一个密码,密钥长度不同。

PBE Password-based encryption 对称加密中基于密码加密,口令用户掌管不借助任何物理媒介,采用随机数杂凑多重加密保证数据安全。

RSA 即能用户数据加密也能用于数字签名,同时有公钥和私钥。数字签名的意义在于,对传输过来的数据进行校验确保传输过程中不被修改。

单向加密中MD5,SHA,HMAC为非可逆加密,单向散列一般用于产生信息摘要。通常作为加密的基础。单向加密主要用途为校验传输过程中是否被修改过。

三.算法比较

在管理方面:公钥密码算法只需要较少的资源就可以实现目的,在密钥的分配上,两者之间相差一个指数级别(一个是n一个是n2)。所以私钥密码算法不适应广域网的使用,而且更重要的一点是它不支持数字签名。

在安全方面:由于公钥密码算法基于未解决的数学难题,在破解上几乎不可能。对于私钥密码算法,到了AES虽说从理论来说是不可能破解的,但从计算机的发展角度来看。公钥更具有优越性。

-从速度上:AES的软件实现速度已经达到了每秒数兆或数十兆比特。是公钥的100倍,如果用硬件来实现的话这个比值将扩大到1000倍。

四、参考

http://www.willrey.com/support/ssl_DES.html

阅读全文

与现代加密算法是公开的吗相关的资料

热点内容
精品php源码 浏览:959
自己编写云服务器抢红包 浏览:202
java解压缩文件加密 浏览:887
dlink打印服务器默认地址 浏览:352
php休眠函数 浏览:372
金蝶如何打开服务器 浏览:765
e4a手游辅助源码 浏览:777
什么app可以实时直播 浏览:106
苹果13的app闪退什么原因 浏览:775
尾盘选股源码公式 浏览:450
php日期运算 浏览:931
天龙八部长歌服务器什么时候开的 浏览:199
鬼泣4模型在那个文件夹 浏览:229
单片机的串行口 浏览:58
phpjson转化为数组 浏览:268
pdf导入excel 浏览:428
苹果xsmax信任app在哪里设置 浏览:53
自动外链php源码 浏览:245
我的世界新手奖励箱命令 浏览:146
linux更新vim 浏览:998