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

非对称加密怎么解密

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

本文目录一览

入门密码学④非对称加密

公钥密码(Public-key cryptography) 也称非对称式密码(Asymmetric cryptography)是密码学的一种算法,它需要两个密钥,一个是公开密钥,另一个是私有密钥; 公钥用作加密,私钥则用作解密 。使用公钥把明文加密后所得的密文,只能用相对应的私钥才能解密并得到原本的明文,最初用来加密的公钥不能用作解密。由于加密和解密需要两个不同的密钥,故被称为非对称加密;不同于加密和解密都使用同一个密钥的对称加密。公钥可以公开,可任意向外发布;私钥不可以公开。

1976年以前,所有的加密方法都是同一种模式:加密和解密使用同样的规则。

1976年,由惠特菲尔德·迪菲(Bailey Whitfield Diffie)和马丁·赫尔曼(Martin Edward Hellman)在1976年首次发表 迪菲-赫尔曼密钥交换 。

1977年,Ralph Merkle和Martin Hellman 共同设计了一种具体的公钥密码算法-- Knapsack 。

1978年,罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)共同发表了一种公钥密码算法-- RSA 。

RSA 可以说是现在公钥密码的事实标准 。

在对称密码中,由于加密和解密的密钥是相同的,因此必须向接收者配送密钥。由于解密的密钥必须被配送给接收者,在传输中的过程中存在着被窃听的问题,这一问题称为 密钥配送问题 。

解决密钥配送问题的方法有以下几种:

RSA 是世界第一个广泛使用的公钥算法,可以被用于公钥密码和数字签名。RSA公开密钥密码体制的原理是:根据数论,寻求两个大素数比较简单,而将它们的乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。它的强度被认为与分解一个非常大的数字的难度有关。以现代数字计算机的当前和可预见的速度,在生成 RSA 密钥时选择足够长的素数应该使该算法无限期地安全。但是,这种信念尚未在数学上得到证明,并且可能有一种快速分解算法或一种完全不同的破解 RSA 加密的方法。

ab = 1

然而只根据 N 和 E(注意:不是p和q)要计算出 d 是不可能的。因此,任何人都可对明文进行加密,但只有授权用户(知道D)才可对密文解密。

RSA 是现在最为普及的一种公钥密码算法,但是除了 RSA之外还有其他的公钥密码,基于与 RSA 等效复杂度的不同数学,包括 ElGamal 加密 、 Rabin 方式 和 椭圆曲线加密 。

在密码学中, ElGamal 加密算法 是一个基于迪菲-赫尔曼密钥交换的非对称加密算法。它在1985年由塔希尔·盖莫尔(Taher ElGamal)提出。ElGamal加密算法利用了 求离散对数的困难数。

Rabin 利用了 下平方根的困难度

椭圆曲线密码 是通过将椭圆曲线上的特定点进行特殊的乘法运算实现,它利用了这种乘法运算的逆运算非常困难这一特性。它的特点是所需的密钥长度比 RSA 短。

密码学基础(三):非对称加密(RSA算法原理)

加密和解密使用的是两个不同的秘钥,这种算法叫做非对称加密。非对称加密又称为公钥加密,RSA只是公钥加密的一种。

现实生活中有签名,互联网中也存在签名。签名的作用有两个,一个是身份验证,一个是数据完整性验证。数字签名通过摘要算法来确保接收到的数据没有被篡改,再通过签名者的私钥加密,只能使用对应的公钥解密,以此来保证身份的一致性。

数字证书是将个人信息和数字签名放到一起,经由CA机构的私钥加密之后生成。当然,不经过CA机构,由自己完成签名的证书称为自签名证书。CA机构作为互联网密码体系中的基础机构,拥有相当高级的安全防范能力,所有的证书体系中的基本假设或者前提就是CA机构的私钥不被窃取,一旦 CA J机构出事,整个信息链将不再安全。

CA证书的生成过程如下:

证书参与信息传递完成加密和解密的过程如下:

互质关系:互质是公约数只有1的两个整数,1和1互质,13和13就不互质了。

欧拉函数:表示任意给定正整数 n,在小于等于n的正整数之中,有多少个与 n 构成互质关系,其表达式为:

其中,若P为质数,则其表达式可以简写为:

情况一:φ(1)=1

1和任何数都互质,所以φ(1)=1;

情况二:n 是质数, φ(n)=n-1

因为 n 是质数,所以和小于自己的所有数都是互质关系,所以φ(n)=n-1;

情况三:如果 n 是质数的某一个次方,即 n = p^k ( p 为质数,k 为大于等于1的整数),则φ(n)=(p-1)p^(k-1)

因为 p 为质数,所以除了 p 的倍数之外,小于 n 的所有数都是 n 的质数;

情况四:如果 n 可以分解成两个互质的整数之积,n = p1 × p2,则φ(n) = φ(p1p2) = φ(p1)φ(p2)

情况五:基于情况四,如果 p1 和 p2 都是质数,且 n=p1 × p2,则φ(n) = φ(p1p2) = φ(p1)φ(p2)=(p1-1)(p2-1)

而 RSA 算法的基本原理就是欧拉函数中的第五种情况,即: φ(n)=(p1-1)(p2-1);

如果两个正整数 a 和 n 互质,那么一定可以找到整数 b,使得 ab-1 被 n 整除,或者说ab被n除的余数是1。这时,b就叫做a的“模反元素”。欧拉定理可以用来证明模反元素必然存在。

可以看到,a的 φ(n)-1 次方,就是a对模数n的模反元素。

n=p x q = 3233,3233写成二进制是110010100001,一共有12位,所以这个密钥就是12位。

在实际使用中,一般场景下选择1024位长度的数字,更高安全要求的场景下,选择2048位的数字,这里作为演示,选取p=61和q=53;

因为n、p、q都为质数,所以φ(n) = (p-1)(q-1)=60×52= 3120

注意,这里是和φ(n) 互互质而不是n!假设选择的值是17,即 e=17;

模反元素就是指有一个整数 d,可以使得 ed 被 φ(n) 除的余数为1。表示为:(ed-1)=φ(n) y -- 17d=3120y+1,算出一组解为(2753,15),即 d=2753,y=-15,也就是(17 2753-1)/3120=15。

注意,这里不能选择3119,否则公私钥相同??

公钥:(n,e)=(3233,2753)

私钥:(n,d)=(3233,17)

公钥是公开的,也就是说m=p*q=3233是公开的,那么怎么求e被?e是通过模反函数求得,17d=3120y+1,e是公开的等于17,这时候想要求d就要知道3120,也就是φ(n),也就是φ(3233),说白了,3233是公开的,你能对3233进行因数分解,你就能知道d,也就能破解私钥。

正常情况下,3233我们可以因数分解为61*53,但是对于很大的数字,人类只能通过枚举的方法来因数分解,所以RSA安全性的本质就是:对极大整数做因数分解的难度决定了RSA算法的可靠性。换言之,对一极大整数做因数分解愈困难,RSA算法愈可靠。

人类已经分解的最大整数是:

这个人类已经分解的最大整数为232个十进制位,768个二进制位,比它更大的因数分解,还没有被报道过,因此目前被破解的最长RSA密钥就是768位。所以实际使用中的1024位秘钥基本安全,2048位秘钥绝对安全。

网上有个段子:

已经得出公私钥的组成:

公钥:(n,e)=(3233,2753)

私钥:(n,d)=(3233,17)

加密的过程就是

解密过程如下:

其中 m 是要被加密的数字,c 是加密之后输出的结果,且 m n ,其中解密过程一定成立可以证明的,这里省略证明过程。

总而言之,RSA的加密就是使用模反函数对数字进行加密和求解过程,在实际使用中因为 m n必须成立,所以就有两种加密方法:

对称加密存在虽然快速,但是存在致命的缺点就是秘钥需要传递。非对称加密虽然不需要传递秘钥就可以完成加密和解密,但是其致命缺点是速度不够快,不能用于高频率,高容量的加密场景。所以才有了两者的互补关系,在传递对称加密的秘钥时采用非对称加密,完成秘钥传送之后采用对称加密,如此就可以完美互补。

非对称加密中,公钥在什么情况下用于加密,什么情况用于解密?

如果只是单方面采用非对称性加密算法,其实有两种方式,用于不同用处.第一种是签名,使用私钥加密,公钥解密,用于让所有公钥所有者验证私钥所有者的身份并且用来防止私钥所有者发布的内容被篡改.但是不用来保证内容不被他人获得.第二种是加密,用公钥加密,私钥解密,用于向公钥所有者发布信息,这个信息可能被他人篡改,但是无法被他人获得.如果甲想给乙发一个安全的保密的数据,那么应该甲乙各自有一个私钥,甲先用乙的公钥加密这段数据,再用自己的私钥加密这段加密后的数据.最后再发给乙,这样确保了内容即不会被读取,也不会被篡改.

随着社会的发展,产品的更新速度也是越来越快,算法是方案的核心,保护开发者和消费者的权益刻不容缓,那么加密芯片在其中就扮演了重要的角色,如何选择加密芯片呢?
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序列号,支持定制化免烧录,加密行业首选。关于非对称加密怎么解密的介绍到此就结束了,感谢大家耐心阅读。

本文标签:非对称加密怎么解密

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