56星座屋
当前位置: 首页 星座百科

对称加密理论基础(现代密码学核心)

时间:2023-05-28 作者: 小编 阅读量: 1 栏目名: 星座百科

两位大神也因此贡献获得了2015年的图灵奖。WhitfieldDiffie和MartinHellmanDiffie-Hellman密钥交换协议提出的第二年,终于、终于、几乎是现代密码学代名词的RSA算法终于粉墨登场了。RSA问世以来的几十年内,经历了无数的攻击和挑战,实践证明它是优秀、可靠的,目前仍占据非对称加密算法的主要地位。此外,量子计算机一直被认为是最终破解RSA算法的大杀器。和RSA相比,ECC抗攻击性强、资源占用少、加密速度快。ECC的使用过程和RSA基本一致,上面两幅插图也完全同样适用。

一路狂奔的密码学,终于在上个世纪70年代中期迎来了它发展史上最重要的一刻:非对称加密的出现。所谓非对称,就是指加密和解密使用不同的密钥。非对称加密算法以及基于它构建的公钥基础设施体系(Public Key Infrastructure,简称PKI)已经是现代密码学的主体内容,也基本占据了信息安全学科的半壁江山。

之前已经讨论过,虽然对称加密算法已经很牛了,但如何在不安全的网络上传输对称密钥是个致命问题。这时候,又得数学家出来解决问题了(所以说,密码学家首先都是数学家)。一些聪明的数学家发现,根据某些数学原理,可以构造出加密和解密使用不同的密钥的数学模型。最早提出这个观点的是Whitfield Diffie和Martin Hellman,他们在1976年提出了Diffie-Hellman密钥交换协议,这个协议的创新之处在于密钥由加解密双方协商产生,而不用再通过网络传输。虽然这个协议实际上提出的是密钥协商的算法,不支持加密和数字签名,但由于它开创性的提出了使用不同密钥的解决思路,人类终于可以实现非对称加密了。两位大神也因此贡献获得了2015年的图灵奖。

Whitfield Diffie和Martin Hellman

Diffie-Hellman密钥交换协议提出的第二年,终于、终于、几乎是现代密码学代名词的RSA算法终于粉墨登场了。RSA过于出名,我想即使是不知道它的含义的IT工程师,都见过这个名字。相比Diffie-Hellman密钥交换协议,RSA算法是完备的,它不仅包含密钥产生,而且可加密、可签名。RSA的核心思想是产生一对密钥,这对密钥在数学上地位完全平等,它们的特点是用其中一个密钥加密生成的密文,只能用另一个密钥解密。RSA算法的安全性来源于质数(素数)的特质。质数大家都知道,就是只能分解成1和它本身乘积的自然数。我们把两个非常大的质数(想多大都可以)相乘,很容易就可以得到一个乘积结果,但根据这个结果分解出那两个质数,却是相当困难的。RSA的安全就是靠这种大质数乘积难以分解的数学原理(PS:质数真的很神奇)。RSA具体实现算法其实不是特别的难,有一些数论知识就可以理解,有兴趣的同学可以自行研究。RSA算法虽然是三个字母的大写,但它并不是像DES那样的算法单词首字母缩写,而是提出它的三位发明者的姓氏首字母缩写:Ron Rivest、Adi Shamir和Leonard Adleman.

RonRivest、AdiShamir和LeonardAdleman

有了RSA,非对称加密的过程也就水到渠成了。在非对称加解密的世界里,每个人都有一对属于自己的RSA密钥,其中一个密钥公开,叫公钥,另外一个密钥私藏,叫私钥。至于哪个公开哪个私藏都无所谓。然后你给某个人发送一条信息时,你先用他的公钥加密信息,再把加密后的密文传递过去。接收者拿到密文后,用他的私钥来解密密文,得到明文。如果有第三方窃取了传输的密文,由于他没有接收者的私钥,也无法解密密文。简洁既是美,这就是现代密码学理论的核心,非对称加密的整个过程。

非对称加解密

非对称加密解决了对称加密的密钥安全问题,但它的运算速度比对称加密慢很多,而且是解密比加密更慢。据计算,RSA最快的速度也只是DES运算速度的百分之一。因此非对称加密适用于被加密数据比较小的情况。所以在实际应用环境下,一般是将对称加密和非对称加密结合起来使用:首先随机产生一个密钥,使用这个密钥作为对称密钥加密消息明文,然后用接收者公钥加密上一步使用的对称密钥,把加密后的消息密文和对称密钥密文发送给接收者;接收者收到密文后,先用自己的私钥解密对称密钥密文,再用对称密钥解密消息密文,最后得到消息明文。在实践中,加密后的消息密文和对称密钥密文被称作数字信封,数字信封支持包含多个对称密钥密文,即可以一次完成对多个接收者的消息加密,而明文只用加密一次。

数字信封

和对称加密算法一样,非对称加密的接口在各个操作系统平台上也都是标配,数字信封什么的也都是妥妥的,开发者在编程时调用相关接口即可。

RSA问世以来的几十年内,经历了无数的攻击和挑战,实践证明它是优秀、可靠的,目前仍占据非对称加密算法的主要地位。不过没有绝对的信息安全,也没有完美的算法。RSA本身有以下几个缺点:

一是前面讲了RSA算法的安全性是基于大质数乘积难以分解的原理。但从数学理论上并没有证明RSA算法的破解难度就等同于大质数乘积难以分解的难度,这一点连RSA的发明者也承认。

二是RSA算法在实践中的时通过密钥体现大质数乘积,所以密钥越长,破解难度越大。我记得上学时就已经有报道说对1024位密钥长度的RSA加密,暴力破解需要当时最快的电脑计算几年,所以是足够安全的。但由于计算机算力的发展,并行计算、云计算的突起,1024位的RSA加密已经认为是不够安全了,很多场合已经推荐使用2048位密钥长度了。但由于RSA算法天生速度慢,资源消耗大,增加密钥长度只会使加解密速度进一步变慢,尤其在手机等移动端应用时,还会带来耗电增加,发热量等问题。

此外,量子计算机一直被认为是最终破解RSA算法的大杀器。相对于电子计算机的0和1两态,量子计算机可以拥有7到8个基本态,从原理上的计算能力就比电子计算机高几个数量级。据说理论上,量子计算机几个小时就可以破解1024位的RSA加密。

由于上述的 RSA 算法存在的缺点,另外一种非对称算法----椭圆加密算法逐渐发展起来。椭圆加密算法(Elliptic curve cryptography,缩写为ECC)最初由Koblitz和Miller两人于1985年提出,其数学基础是利用椭圆曲线上离散对数的计算困难性。和RSA相比,ECC抗攻击性强、资源占用少、加密速度快。实现相等安全强度,ECC使用的密钥长度比RSA小很多,适用的场景更广泛。ECC的使用过程和RSA基本一致,上面两幅插图也完全同样适用。ECC的国产版本是SM2算法,目前在国内已经广泛使用,各位工程师如果在开发中遇到加密功能需求,大概率是要使用这种算法。虽然SM2算法还没有包含Windows\IOS\Android等主流操作系统中,但它已经是国家标准,国内各大安全厂商都有底层产品库实现,在系统中集成也不困难。

总结,非对称加密提出了公私钥的概念,开创了公钥基础设施体系。

    推荐阅读
  • 桥梁桩基施工控制要点(一张图看懂桥梁桩基施工工艺)

    特别是水泥、外加剂和电焊条等做好防潮措施并注意有效使用日期。如与勘测设计资料不符,及时通知监理工程师及现场设计代表进行确认处理。如满足设计要求,立即对孔深、孔径、孔型进行检查。②清孔及检测清孔采用换浆法清孔,清孔时注意保持孔内水位。钢筋笼入孔时应对准孔径,保持垂直,轻放、慢放入孔,入孔后应徐徐放下,不宜左右旋转。若遇阻碍应停止下放,查明原因进行处理,严禁高提猛落和强制下放。

  • 小学数学怎样能提高口算能力(数学计算能力怎么练)

    数学计算能力怎么练还有一个月,又有一批孩子要进入小学了,不少爸爸妈妈开始了给宝贝的入学预热和冲刺准备前几天,龙龙妈妈吐槽,自己一个不大不小的烦恼:幼小衔接都上完了,但到现在数学加减法还总是出错,25=7,26竟然还等于。

  • 希兰花怎么做好吃 希兰花怎么做好吃?

    5、再加入咖喱酱1勺、清水1勺至咖喱酱完全化开,放入西兰花翻炒均匀,调入盐半勺拌匀即可。

  • 红酒储存温度25度可以放多久(红酒储存温度25度可以长期存放吗)

    红酒储存温度25度可以放多久室温25℃的话,想要储存红酒,最好放在冰箱里。红酒储存对温度的要求是比较高的,高温或低温都会破坏它的口感,让它变得不再醇厚。如果红酒放在温度高于21℃的环境中,它就会加速老化。红酒的理想储存温度是7-18℃,13℃通常被认为是最理想的温度。不过,如果你的红酒的储存环境稍微比理想温度高了几度,那也不用着急,只要不是长期储存,就一般不会有太大的影响。

  • 春山晚景(与春鸟一起邂逅最美的春景)

    鸟鸣啼春,春天已是悄然而至,微风吹拂着绿叶,白云追赶着蓝天,小草在雨露的滋润下更加碧绿,花儿竞相绽放,泥土散发着它特有的味道,鸟儿在林间大声歌唱,不经意间抬头,便与春鸟一起邂逅了最美的春景。如果说春鸟的飞舞似一幅幅美妙生动的画,那么春鸟的啼叫则似一首首悦耳灵动的歌曲。春鸟用它动听的歌声,唤醒了黎明和沉睡的大地。

  • 新鲜蘑菇可以冷冻保存吗(新鲜蘑菇能冷冻保存吗)

    新鲜蘑菇如果想要保存时间长一些的话,是可以放到冰箱里冷冻保存的,冷冻室的温度比室内和冷藏温度要低得多,能暂时抑制细菌繁殖保持蘑菇不变质。但是,由于新鲜蘑菇中含水量较多,其中的游离水在冷冻时会结合成冰晶,会破坏蘑菇中的生物组织,从而导致蘑菇中的营养流失,影响蘑菇的品质及口感,因此不建议新鲜蘑菇冷冻保存。蘑菇放冰箱可以储存几天3-7天不等。

  • 绕的组词(绕有什么意思)

    以下内容大家不妨参考一二希望能帮到您!

  • 如何做牛肉羹呢(牛肉羹的做法)

    接下来我们就一起去研究一下吧!如何做牛肉羹呢先将牛肉切成细条状,加入地瓜粉、生抽、老抽、陈醋,小苏打(很关键)。用力抓匀后在案板上摔打几分钟,使各种配料更好地渗入牛肉中。调好味的牛肉用手拉扯松散,可避免下锅时成肉团状,静置约十分钟。将牛肉汤下锅烧开后加入姜丝,一分钟后转入中小火,逐片放入牛肉后在锅内搅散,煮三至五分钟,转大火至汤烧开即关火。最后放入胡椒粉、葱花调味起锅。

  • 小学生名字笔划太多考试时哭泣(小学生因姓名笔画少走红)

    虽是玩笑话,但心中难免有些许忧伤,自己作为过来人,深知名字的痛苦,因此在给孩子取名字时,简单为主,同时也希望孩子在班级中成绩第一,因此取名为“乙一”。据杨老师透露,这位“乙一”同学,学习态度非常好,成绩也非常不错,由于有政策要求,小学一二年级不得组织考试,而且三年级后,也不能进行排名,这位“乙一”同学是否能考第一名,还不得而知。

  • 四月初八是什么节日(你知道吗)

    跟着小编一起来看一看吧!四月初八是什么节日四月初八对应节日:浴佛节。浴佛节,又称佛诞日、佛诞节等,为每年的农历四月初八,是佛祖释迦牟尼的诞辰。释迦牟尼佛出生于公元前565年,是古印度迦毗罗卫国王子。在古印度佛教中即为一种重要仪式,其源则在释迦降生的历史记载之中。传说释迦牟尼降生时一手指天、一手指地,大地为之震动,九龙吐水为之沐浴。现世界各国各民族的佛教徒常以浴佛等方式纪念佛祖诞辰。