⑴ 公开密钥基本原理
公开密钥加密技术基本原理
现代加密技术中的加密算法都是公开的,而密钥是私有的。我们首先要对数据用加密算法进行加密,让接受方使用密钥进行解密,这样实现数据的安全传输。
加密和解密都会用到密钥,如果没有密钥就无法对加密的文件进行解密,也就是说任何人只要持有了密钥就可以解密,所以如果密钥被攻击者获得加密就失去了意义。
共享密钥加密方式 :加密和解密用同一个密钥的方式称为 共享密钥加密 (Common Key crypto system), 也被叫做 对称密钥加密 。
采用对称密钥加密的方式,必须将密钥也发给对方,不然对方无法解密。可究竟怎样才能安全的将密钥转交给对方呢?在互联网上传播时,如果通讯被监听,密钥落入攻击者之手,那加密就失去了意义。另外还得要有个办法安全的保存收的密钥。
发送密钥就有被窃听的风险,但是不发送密钥,对方又无法解密。如果密钥能够可靠传递,那数据为什么不能可靠传递呢?
公开密钥加密方式 :公开密钥加密使用了两把 非对称 的密钥,一把叫做 私有密钥 (private key) ,另一把叫做 公开密钥 (public key).
在公开密钥加密方法中,发送方使用接受方发布的公开密钥进行加密处理,然后发送给接受方,接受方收到加密信息后,再使用自己的私有密钥进行解密。这种方式不需要发送用来解密的密钥,也就不用担心密钥被攻击者盗走的情况。
另外,要根据秘文和公开密钥把信息回复到原文是异常困难的。目前技术而言,不太现实。
⑵ 加密那些事--非对称加密详解
“非对称加密也叫公钥密码:使用公钥 加密 ,使用私钥解密”
在对称密码中,由于加密和解密的密钥是相同的,因此必须向接收者配送密钥。用于解密的密钥必须被配送给接收者,这一问题称为密钥配送问题。如果使用非对称加密,则无需向接收者配送用于解密的密钥,这样就解决了密钥配送的问题。
非对称加密中,密钥分为加密密钥和解密密钥两种。发送者用加密密钥对消息进行加密,接收者用解密密钥对密文进行解密。需理解公钥密码,清楚地分加密密钥和解密密钥是非常重要的。加密密钥是发送者加密时使用的,而解密密钥则是接收者解密时使用的。
加密密钥和解密密钥的区别:
a.发送者只需要加密密钥
b.接收者只需要解密密钥
c.解密密钥不可以被窃听者获取
d.加密密钥被窃听者获取也没关系
也就是说,解密密钥从一开始就是由接收者自己保管的,因此只要将加密密钥发给发送者就可以解决密钥配送问题了,而根本不需要配送解密密钥。
非对称加密中,加密密钥一般是公开的。真是由于加密密钥可以任意公开,因此该密钥被称为公钥(pulickey)。相对地解密密钥是绝对不能公开的,这个密钥只能由你自己来使用,因此称为私钥(privatekey)****。私钥不可以被别人知道,也不可以将它发送给别人。
公钥和私钥是"一一对应的",一对公钥和私钥统称为密钥对(keypair)。由公钥进行加密的密文,必须使用与该公钥配对的私钥才能解密。密钥对中的两个密钥之间具有非常密切的的关系(数学上的关系)。因此公钥和私钥不能分别单独生成。
非对称加密通讯流程
假设A要给B发一条信息,A是发送者,B是接收者,窃听者C可以窃听他们之间的通讯内容。
1.B生成一个包含公钥和私钥的密钥对
私钥由B自行妥善保管
2.B将自己的公钥发送给A
B的公钥被C截获也没关系。将公钥发给A,表示B请A用这个公钥对消息进行加密并发送给他。
3.A用B的公钥对消息进行加密
加密后的消息只有B的私钥才能够解密。
虽然A拥有B的公钥,但用B的公钥是无法对密文进行解密的。
4.A将密文发送给B
密文被C截获也没关系,C可能拥有B的公钥,但是B的公钥是无法进行解密的。
5.B用自己的私钥对密文进行解密。
参考下图
RSA是一种非对称加密算法,它的名字由三位开发者。即RonRivest、AdiShamir和LeonardAdleman 的姓氏的首字母组成的(Rivest-Shamir-Leonard)
RSA的加密工程可以用下来公式来表达,如下。
也就是说,RSA的密文是对代表明文的数字的E次方求modN的结果。换句话说,就是将明文自己做E次乘法,然后将其结果除以N求余数,这个余数就是密文。
RSA的加密是求明文的E次方modN,因此只要知道E和N这两个数,任何人都可以完成加密的运算。所以说E和N是RSA加密的密钥。也就是说E和N的组合就是公钥
有一个很容易引起误解的地方需要大家注意一一E和N这两个数并不是密钥对(公钥和私钥的密钥对)。E和N两个数才组成了一个公钥,因此我们一般会写成 “公钥是(E,N)” 或者 “公钥是{E, N}" 这样的形式,将E和N用括号括起来。
1.3.2 RSA解密
RSA的解密和加密一样简单,可以用下面的公式来表达:
也就是说,对表示密文的数字的D次方求modN就可以得到明文。换句话说,将密文自己做D次乘法,在对其结果除以N求余数,就可以得到明文 。
这里所使用的数字N和加密时使用的数字N是相同的。数D和数N组合起来就是RSA的解密密钥,因此D和N的组合就是私钥。只有知道D和N两个数的人才能够完成解密的运算。
大家应该已经注意到,在RSA中,加密和解密的形式是相同的。加密是求 "E次方的mod N”,而解密则是求 "D次方的modN”,这真是太美妙了。
当然,D也并不是随便什么数都可以的,作为解密密钥的D,和数字E有着相当紧密的联系。否则,用E加密的结果可以用D来解密这样的机制是无法实现的。
顺便说一句, D是解密〈Decryption)的首字母,N是数字(Number)的首字母 。
RSA加密和解密
声明该文章仅做个人学习使用,无任何商业用途。
原文链接:https://blog.csdn.net/atlansi/article/details/111144109
⑶ 公钥密码比传统密码更安全对吗
公钥密码比传统密码更安全对。
公钥密码中,加密密钥普通是公开的。正是由于加密密钥能够随意公开,因而该密钥被称为公钥。公钥能够通过邮件间接发送给接收者,也能够刊登在报纸的广告栏上,做成看板放在街上,或许做成网页公开给天下上任何人,而完全不必担忧被窃听者盗取。
公钥和私钥是一一关于应的,一对公钥和私钥统称为密钥对。由公钥进行加密的密文,必须运用与该公钥配对的私钥才可以解密。密钥对中的两个密钥之间具有十分密切的关系—数学上的关系—因而公钥和私钥是不可以分别独自生成的。
公钥密码的运用者需要生成一个包罗公钥和私钥的密钥对,此中公钥会被发送给别人,而私钥则仅供本人运用。
⑷ 加密密钥是公开的,脱密密钥是保密的是什么意思
公开密钥密码体制是现代密码学的最重要的发明和进展。一般理解密码学(Cryptography)就是保护信息传递的机密性。
但这仅仅是当今密码学主题的一个方面。对信息发送与接收人的真实身份的验证、对所发出/接收信息在事后的不可抵赖以及保障数据的完整性是现代密码学主题的另一方面。
公开密钥密码体制对这两方面的问题都给出了出色的解答,并正在继续产生许多新的思想和方案。在公钥体制中,加密密钥不同于解密密钥。人们将加密密钥公之于众,谁都可以使用;而解密密钥只有解密人自己知道。迄今为止的所有公钥密码体系中,RSA系统是最着名、使用最广泛的一种。
⑸ 当密钥被无意泄漏时怎么办
如果是个人的话,就没有关系了,因为这个密钥是不可能被破解的,如果是公司的话,就需要采取措施,防止这个密钥被泄漏了。一、加密的方法有多种,常见的方法有:1、数据加密法:对数据进行加密,以防止数据的外泄。如:对一些重要的数据进行加密,可以防止别人窃取,也可以防止别人在未经允许的情况下进行拷贝等。2、密码加密法:对一些不重要的数据进行加密,以防止数据外泄。3、混合加密法:对数据进行加密和密码进行加密,这种方法比较好,因为可以同时对数据和密码进行加密和保护。二、加密的原理:加密就是把要传递的数据用一个密钥进行加密,然后把这个密钥和数据放到一起,然后把要传递的数据和这个密钥一起发给对方,对方收到这个信息之后,用另外一个密钥才可以解开这个加密信息,这样对方就知道了这个数据的内容。
⑹ 为什么公开密钥密码体制中加密和解密算法都是公开的
在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然秘密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。
该技术采用两个不同的密钥来对信息加密和解密,它也称为"非对称式加密方法。每个用户有一个对外公开的加密算法E和对外保密的解密算法D。
它们须满足条件:
(1)D是E的逆,即D[E(X)]=X;
(2)E和D都容易计算。
(3)由E出发去求解D十分困难。
从上述条件可看出,公开密钥密码体制下,加密密钥不等于解密密钥。加密密钥可对外公开,使任何用户都可将传送给此用户的信息用公开密钥加密发送,而该用户唯一保存的私人密钥是保密的,也只有它能将密文复原、解密。虽然解密密钥理论上可由加密密钥推算出来,但这种算法设计在实际上是不可能的,或者虽然能够推算出,但要花费很长的时间而成为不可行的。所以将加密密钥公开也不会危害密钥的安全。
⑺ 什么是公钥加密
什么是公钥加密
公钥加密,也叫非对称(密钥)加密(public key encryption),属于通信科技下的网络安全二级学科,指的是由对应的一对唯一性密钥(即公开密钥和私有密钥)组成的加密方法。它解决了密钥的发布和管理问题,是目前商业密码的核心。在公钥加密体制中,没有公开的是明文,公开的是密文,公钥,算法。
常见算法
RSA、ElGamal、背包算法、Rabin(Rabin的加密法可以说是RSA方法的特例)、Diffie-Hellman (D-H) 密钥交换协议中的公钥加密算法、Elliptic Curve Cryptography(ECC,椭圆曲线加密算法)。使用最广泛的是RSA算法(由发明者Rivest、Shmir和Adleman姓氏首字母缩写而来)是着名的公开金钥加密算法,ElGamal是另一种常用的非对称加密算法。
缘起
该思想最早由雷夫·莫寇(Ralph C. Merkle)在1974年提出,之后在1976年。狄菲(Whitfield Diffie)与赫尔曼(Martin Hellman)两位学者以单向函数与单向暗门函数为基础,为发讯与收讯的两方创建金钥。
非对称
是指一对加密密钥与解密密钥,这两个密钥是数学相关,用某用户密钥加密后所得的信息,只能用该用户的解密密钥才能解密。如果知道了其中一个,并不能计算出另外一个。因此如果公开了一对密钥中的一个,并不会危害到另外一个的秘密性质。称公开的密钥为公钥;不公开的密钥为私钥。
如果加密密钥是公开的,这用于客户给私钥所有者上传加密的数据,这被称作为公开密钥加密(狭义)。例如,网络银行的客户发给银行网站的账户操作的加密数据。
如果解密密钥是公开的,用私钥加密的信息,可以用公钥对其解密,用于客户验证持有私钥一方发布的数据或文件是完整准确的,接收者由此可知这条信息确实来自于拥有私钥的某人,这被称作数字签名,公钥的形式就是数字证书。例如,从网上下载的安装程序,一般都带有程序制作者的数字签名,可以证明该程序的确是该作者(公司)发布的而不是第三方伪造的且未被篡改过(身份认证/验证)。
⑻ 公开密钥加密的公开密钥加密与对称密钥加密的区别
在对称密钥加密中,对一个信息的加密密码和解密密码都是相同的,所以发送者需要发送一条信息之前,必须先发送密钥给接收者,这样接收者才能解密这条信息。
对称密钥加密的过程是:
假设两个用户A,B进行通信,A先发送信息给B,然后B发送信息给A
1. A先用密钥k1加密一条信息,使之变成密文c1;
2. A把密钥k1发送给B;(此时如果密钥被截获,截获方就可以解密并读取密文)
3. A把密文c1发送给B;
4. B用密钥k1解密,并读取解密后的信息
5. B用密钥k2加密一条信息,使之变成密文c2;
6. B把密钥k2发送给A;
7. B把密文c2发送给A;
8. A用密钥k2解密,并读取解密后的信息
公开密钥加密的过程是:
假设两个用户A,B进行通信,A先发送信息给B,然后B发送信息给A
1. B先产生一对密钥k1a和k1b,前者用来加密,后者用来解密
2. B把密钥k1a发送给A;(因为k1a只能用来加密,截获方无法通过它来解密并读取密文)
3. A用密钥k1a加密一条信息,使之变成密文c1;
4. A把密文c1发送给B;
5. B用密钥k1b解密,并读取解密后的信息;
6. A产生一对密钥k2a和k2b,前者用来加密,后者用来解密
7. A把密钥k2a发送给B;
8. B用密钥k2a加密一条信息,使之变成密文c2;
9. B把密文c2发送给A;
10. A用密钥k2b解密,并读取解密后的信息;
⑼ 请教非对称加密里公开密匙既然是公开的,还为什么叫“密匙”
大致是这个样子的:
你有两个密匙,而不是一个:公开密匙和私有密匙,公开密匙被别人知道,私有密匙只有你自己知道,不能泄露给别人。
前提描述:当一个人A要给你发一个加密的文件,如果你不知道密码,你当然不能解开;如果他要用另外的渠道给你传送密码,当然又不能保证安全(如密码被别人截获),怎么办呢,加密系统能解决这个问题。
加密描述:A用你的公开密匙将文件加密,然后发送给你,你收到文件后,用私有密匙解密,就可以打开文档了;如果别人截获了该文件,但他没有你的私有密匙,所以还是解不了密。