导航:首页 > 文档加密 > 如何非对称加密

如何非对称加密

发布时间:2025-06-06 17:37:03

① 密码学基础(三):非对称加密(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必须成立,所以就有两种加密方法:

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

② 非对称加密算法有哪些

非对称加密算法,也称公钥加密,通过公钥加密数据和私钥解密数据,实现数据的安全传输。其中,RSA加密是广泛应用的算法,它的安全基于大数分解的难度。

ElGamal加密也是非对称加密的一种,它通过公钥加密和私钥解密,其安全性基于离散对数问题的难度。与RSA相比,ElGamal在某些特定场景下可能具有优势。

ECC加密,即椭圆曲线密码,具有更高的安全性,同时密钥长度较短。它的安全性基于椭圆曲线上的离散对数问题,使得在相同安全性水平下,ECC相比RSA和ElGamal可以使用更短的密钥长度,节省计算资源。

Diffie-Hellman密钥交换则是用于在两个通信方之间协商一个共享密钥的非对称加密方式。它同样基于离散对数问题的难度,为安全地在双方间建立通信提供了可能。

以上这些非对称加密算法各有特点和适用场景,实际应用时需根据具体需求选择合适的加密方式。正确选择和使用非对称加密算法,对于保护数据安全至关重要。

③ 如何用通俗易懂的话来解释非对称加密

在采用对称密钥体系时,加密与解密采用相同的算法和密钥,这就说明收发双方需要保存有相同密钥。这就需要一个安全的通道来传递这个密钥,但实际上这样安全的通道是不方便的或者没有的。所以就有了非对称形式的(不同的密钥)。公钥是公开的,私钥则只有接受者才有,这样就不必传递私钥了,更安全了。基本的数学原理?

加解密过程由单向陷门函数实现。单向陷门函数是指由已知的y=f(x)和x求出y是简单的,但是已知y=f(x)和y求出x是困难的。当前工程应用大都基于大数分解,离散对数和椭圆曲线此类数学难题。

④ 使用非对称加密及解密的过程详解

前面我们知道对称加密是对一份文件进行加密,且对应的只有一个密码?例如:A有一份文件,她使用对称加密算法加密后希望发给B,那么密码肯定也要一起交给B!这中间就会出现安全隐患,如果密码被第三方L嗅探到并截取,那么加密的文件就赤裸裸的出现在L的面前。

如果A有很多文件需要加密并发送给很多人!那么就会生成很多的密钥,这么多的密钥保管就成了一个很棘手的问题,况且还要把密钥发给不同的人!这无疑增添了很多的风险!

如何能改善这种安全性不高的加密算法,数学家们发现了另一种加密方式。称之为《非对称加密》asymmetric encryption。非对称加密算法需要两个密钥【公开密钥】(publickey)和【私有密钥】(privatekey)。下面简称【公匙】、【私匙】

【公钥】与【私钥】是一对,如果使用公开密匙对数据进行加密,那么只有对应的私有密匙才能解密;相反,如果使用私有密匙对数据进行加密,那么只有对应的公开密匙进行解密。因加密解密使用的是两种不同的密匙,所以这种算法称之为【非对称加密算法】。

在使用非对称加密前,A和B先各自生成一对公匙和私匙,然后把各自的公匙交给对方,并把自己的私匙妥善保管!如图所示:

在A给B发送信息之前,首先使用B发给A的公匙对信息进行加密处理,然后发送给B,B在收到密文之后,使用自己的私匙解密;B在给A回复信息时,先使用A发来的公匙对回复信息加密,然后发出,A收到密文后使用自己的私匙解密即可!如图所示:

⑤ 非对称加密算法有哪些

非对称加密算法主要包括RSA、Elgamal、背包算法、Rabin、D-H、ECC(即椭圆曲线加密算法)等。

首先,我们来理解什么是非对称加密算法。非对称加密算法是一种使用两个不同密钥进行加密和解密的算法,这两个密钥分别是公钥和私钥。公钥是公开的,任何人都可以用其进行加密操作,但解密则必须使用与之配对的私钥,而私钥是保密的,只有密钥对的所有者才知晓。这种算法的安全性主要依赖于从公钥推导出私钥的困难性。

RSA是非对称加密算法中最着名且应用最广泛的一种。RSA算法基于大数分解问题的困难性,其安全性随着密钥长度的增加而增强。在RSA加密过程中,发送方使用接收方的公钥对信息进行加密,接收方则使用自己的私钥进行解密,从而确保了信息的保密性。此外,RSA还可以用于数字签名,验证信息的完整性和发送者的身份。

除了RSA,ECC(椭圆曲线加密算法)也是近年来备受关注的非对称加密算法。ECC基于椭圆曲线离散对数问题的困难性,与RSA相比,其在达到相同安全级别时所需的密钥长度更短,因此更适合在资源有限的环境中使用,如移动设备或物联网设备。ECC的高效性和灵活性使其在现代密码学中占有重要地位。

总的来说,非对称加密算法以其独特的公私钥机制和强大的安全性,在数据安全领域发挥着不可替代的作用。无论是广泛应用于网络通信的RSA,还是高效灵活的ECC,都在保护我们的数据安全方面做出了巨大贡献。随着技术的不断发展,非对称加密算法将继续演化,为我们的生活带来更多便利和安全保障。

另外,值得注意的是,虽然非对称加密算法具有很高的安全性,但在实际应用中仍需结合其他安全措施,如定期更换密钥、使用强密码等,以构建一个多层次、全方位的安全防护体系。同时,随着量子计算的快速发展,传统的非对称加密算法可能面临新的挑战,因此密码学领域的研究者也在不断探索和研发新的抗量子密码算法,以应对未来可能出现的安全威胁。

⑥ 非对称加密算法包括哪些

以下是几种常见的非对称加密算法:

1、RSA算法:RSA算法是最早被广泛使用的非对称加密算法之一,它利用质数分解的困难性,通过生成公钥和私钥来实现加密和解密。

4、ElGamal算法:ElGamal算法是一种基于离散对兆竖数问题的加密算法,它被广泛应用于数字签名和加密通信等领域。

阅读全文

与如何非对称加密相关的资料

热点内容
优信二手车解压后过户 浏览:55
Windows常用c编译器 浏览:774
关于改善国家网络安全的行政命令 浏览:827
安卓如何下载网易荒野pc服 浏览:648
javainetaddress 浏览:97
苹果4s固件下载完了怎么解压 浏览:996
命令zpa 浏览:279
python编译器小程序 浏览:938
在app上看视频怎么光线调暗 浏览:534
可以中文解压的解压软件 浏览:586
安卓卸载组件应用怎么安装 浏览:906
使用面向对象编程的方式 浏览:333
程序员项目经理的年终总结范文 浏览:922
内衣的加密设计用来干嘛的 浏览:426
淮安数据加密 浏览:289
魔高一丈指标源码 浏览:977
松下php研究所 浏览:164
c回调java 浏览:394
梦幻端游长安地图互通源码 浏览:740
电脑本地文件如何上传服务器 浏览:307