173 2438 5004
KEROS加密芯片——品牌直销 | 免费样品 | 技术支持
当前位置:网站首页 > 资讯中心 正文 资讯中心

非对称加密和对称加密的速度

keros@mark 2022-10-29 资讯中心

本篇文章给大家谈谈非对称加密和对称加密的速度以及对应的知识点,希望对各位有所帮助。

本文目录一览

对称加密和非对称加密的速度区别

对称加密加密速度比非对称加密快,对称加密密钥不能公开而非对称的私钥必须保密公钥可以公开,关于管理和发布对称加密比较复杂,关于算法对称加密通常用DES,aes,IDEA。非对称用RSA,呵呵

为什么非对称加密比对称加密慢?

这个问题是一个读者面试时遇到的一个问题,准备过面试的人应该都记得,非对称加密与对称加密的区别之一就是非对称加密的速度慢,但是我们做业务开发的时候通常都是直接调用算法,对其原因并没有过多深究,因此如果有面试官问到了这个问题,的确会让人措手不及。正好借着这篇文章来说一说。

首先我们先来说一下到底什么是对称加密,什么是非对称加密,这一节主要是用一些例子来介绍一下对称加密和非对称加密是什么,如果你已经了解了,可以跳过本节。

高中生小明和小红是一对“地下情侣”,可偏偏他们一个坐在教室前,一个坐在教室后,所以晚自习的时候也只能通过纸条传情。这时一个很尴尬的事情就出现了,由于无法直接将纸条交给对方,因此纸条必须要经过多个人的传递,可总有一两个八卦的人喜欢看纸条里写的什么。为了避免被班主任抓包以及被同学们窥视,他们两约定,用现代汉语词典当作“密码本”,以后传纸条时,纸条上的内容是要写的字在词典里的页码及顺序,这样即使纸条被别人看了,不知道密码本是什么的人也就不会得知纸条里的真正内容了。

在上述的例子中,纸条是承载信息的 载体 ,纸条里的内容是 信息 ,汉语词典是 密钥 ,将文字映射到汉语词典的页码和顺序是 加密方式(算法)。

类似于上面这种,在加密和解密时使用相同的密钥,或是使用两个可以简单地相互推算的密钥的加密方式就是 对称密钥加密 (Symmetric-key algorithm),简称对称加密。常见的对称加密算法有: aes、DES、3DES

所以你可以将对称加密简单理解为:一方通过密钥将信息加密后,把密文传给另一方,另一方通过这个相同的密钥将密文解密,转换成可以理解的明文。他们之间的关系如下图所示(这里借用一下@寒食君的图):

这种加密方式虽然简单,但是其弊端也是非常明显的。在上面的例子中,如果传递纸条的人知道了他们这种加密方式,那就同样可以通过查阅汉语词典解析出他们的纸条内容。如下图所示。这样为什么众多抗战片中会出现疯狂抢夺密码本这一情节也就很好理解了。

再举一个生活中非常常见的例子。小区里的小伙伴们经常可以在自家的邮箱里收到信件,比如你的录取通知书,当然更多可能是广告。不过,虽然说所有人都可以往里面扔邮件,但是只有你可以打开这个邮箱查看这个邮件。

上面这个过程就是一个很形象的非对称加密。

第一种用法:公钥加密,私钥解密。---用于 加解密

第二种用法:私钥签名,公钥验签。---用于 签名

其实很容易理解:

既然是加密,那肯定是不希望别人知道我的消息,所以只有我才能解密,所以可得出公钥负责加密,私钥负责解密;

既然是签名,那肯定是不希望有人冒充我发消息,只有我才能发布这个签名,所以可得出私钥负责签名,公钥负责验证。

介绍了这两种加密方式后,我们终于可以回到本篇文章的开头了,为什么非对称加密会比对称加密慢?

这是因为对称加密主要的运算是 位运算 ,速度非常快,如果使用硬件计算,速度会更快。以 aes 算法为例,如下图所示,其运算本质上来说就是位移和替换。

但是非对称加密计算一般都比较复杂,比如 RSA,它里面涉及到大数乘法、大数模等等运算。其加解密可以用下面的公式来表示:

我们知道,幂运算的本质是乘法,乘法的基础单位是加法,也就是我们最常见的整数加。学过数字逻辑电路的同学想必都知道,在电路上实现“加法”比异或(XOR)要麻烦的多,况且后面还有一个模运算。因此非对称加密的速度自然而然是比不过对称加密的。

当然,我想另外还有一个原因是,aes 中的许多中间计算过程是可以事先计算好的。加密数据时许多中间过程可以直接查表,而不需要实时地计算。

这里另外提一点,我们在学习算法的时候,一定听过时间复杂度和空间复杂度这两个名词。鱼和熊掌不可兼得,通常情况下,一个算法如果运行比较快,那么空间消耗相对来说就会高一些,反之亦然。因此才会有拿空间换时间的说法。

从上一节我们可以知道,非对称加密运行起来通常比对称加密慢,那么这时就有一个问题了,对于密钥的存储情况也是这样吗?非对称加密对于密钥的存储会比对称加密的密钥存储少吗?

答案是的确如此,在对称加密中,当信息量大的时候,要求密钥量也要足够大,需要每两个人之间都有一个密钥,也就是对于 n 个人来说,一共需要 n(n-1)/2 个密钥才能确保两两之间对话不被其他人知道。

而在非对称加密中,每个人都有公钥和私钥,对于 n 个人来说,一共要 2n 个密钥,就能保证两两之间对话不被其他人知道。

这么看,非对称加密虽然效率低下,但是存储成本低且相对安全,这也就解释了为什么非对称加密应用如此广泛了。

既然无法做到既安全又快速的加解密,那我们在实际使用时只能尽量达到一个动态的平衡。

因此我们在项目中通常会采用如下这种将两种加密算法结合在一起的使用方式:

之所以本节的标题是 HTTPS,是因为在 HTTPS 中就使用了上述这种加解密的方式。关于 HTTPS 的详解,可以参考我的好朋友寒食君的这篇 《谈恋爱也要懂 HTTPS》 。

现在如果有面试官问你,在 https 中采用了哪种加密方式,我想你应该知道答案了吧。

对称加密和非对称加密的区别?

对称加密的加密和解密密钥都是一样的。而非对称加密的加密和解密密钥是不一样的。它们的算法也是不同的。

l

对称加密算法

对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。不足之处是,交易双方都使用同样钥匙,安全性得不到保证。此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量成几何级数增长,密钥管理成为用户的负担。对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。在计算机专网系统中广泛使用的对称加密算法有des、idea和aes。

传统的des由于只有56位的密钥,因此已经不适应当今分布式开放网络对数据加密安全性的要求。1997年rsa数据安全公司发起了一项“des挑战赛”的活动,志愿者四次分别用四个月、41天、56个小时和22个小时破解了其用56位密钥des算法加密的密文。即des加密算法在计算机速度提升后的今天被认为是不安全的。

aes是美国联邦政府采用的商业及政府数据加密标准,预计将在未来几十年里代替des在各个领域中得到广泛应用。aes提供128位密钥,因此,128位aes的加密强度是56位des加密强度的1021倍还多。假设可以制造一部可以在1秒内破解des密码的机器,那么使用这台机器破解一个128位aes密码需要大约149亿万年的时间。(更深一步比较而言,宇宙一般被认为存在了还不到200亿年)因此可以预计,美国国家标准局倡导的aes即将作为新标准取代des。

l

不对称加密算法

不对称加密算法使用两把完全不同但又是完全匹配的一对钥匙—公钥和私钥。在使用不对称加密算法加密文件时,只有使用匹配的一对公钥和私钥,才能完成对明文的加密和解密过程。加密明文时采用公钥加密,解密密文时使用私钥才能完成,而且发信方(加密者)知道收信方的公钥,只有收信方(解密者)才是唯一知道自己私钥的人。不对称加密算法的基本原理是,如果发信方想发送只有收信方才能解读的加密信息,发信方必须首先知道收信方的公钥,然后利用收信方的公钥来加密原文;收信方收到加密密文后,使用自己的私钥才能解密密文。显然,采用不对称加密算法,收发信双方在通信之前,收信方必须将自己早已随机生成的公钥送给发信方,而自己保留私钥。由于不对称算法拥有两个密钥,因而特别适用于分布式系统中的数据加密。广泛应用的不对称加密算法有rsa算法和美国国家标准局提出的dsa。以不对称加密算法为基础的加密技术应用非常广泛。

随着社会的发展,产品的更新速度也是越来越快,算法是方案的核心,保护开发者和消费者的权益刻不容缓,那么加密芯片在其中就扮演了重要的角色,如何选择加密芯片呢?
1.市面上加密芯片种类繁多,算法多种,加密芯片强度参差不齐,加密性能与算法、秘钥密切相关。常见的加密算法有对称算法,非对称算法,国密算法,大部分都是基于I2C、SPI或1-wire协议进行通信。加密芯片还是需要项目实际需求选择,比如对称加密算法的特点是计算量小、加密速度快、加密效率高等。
2.因为单片机软加密性能较弱且非常容易被复制,所以有了加密芯片的产生,大大增加了破解难度和生产成本。目前加密芯片广泛应用于车载电子、消费电子、美容医疗、工业控制、AI智能等行业。
3.韩国KEROS加密芯片专注加密领域十多年,高安全性、低成本,在加密保护领域受到了众多客户的高度赞扬及认可。KEROS采用先进的内置aes256安全引擎和加密功能,通过真动态数据交互并为系统中敏感信息的存储提供了安全的场所,有了它的保护电路,即使受到攻击,这些信息也可以保持安全。其封装SOP8,SOT23-6,TDFN-6集成I2C与1-wire协议满足不同应用需求。CK02AT、CK22AT、CK02AP、CK22AP支持1.8V-3.6V,256bit位秘钥长度,5bytes SN序列号,支持定制化免烧录,加密行业首选。关于非对称加密和对称加密的速度的介绍到此就结束了,感谢大家耐心阅读。

本文标签:非对称加密和对称加密的速度

产品列表
产品封装
友情链接