PRADOSA算法是首先个既可以用于数据加密也能用来数字签字的算法,若它们除以正整数

能够先看看这些录制:
RSA_Encryption_Algorithm

非对称加密(2)非对称加密算法

大旨流程相当粗略,那么公钥加密,私钥解密的算法原理到底是如何啊?本节简要演讲ENVISIONSA算法、DSA算法、ECC算法、Diffie-Hellman算法的基本原理,当中涉嫌诸大多论、离散数学以及分析几何方面的数学知识,感兴趣的读者能够借此加强相关答辩功底。

1、同余(合同式)

七个整数ab,若它们除以正整数m所得的余数相等,则称ab对于模m同余

记作710官方网站 1

比方说1≡13
(mod 12),能够清楚为时钟上1点和13点的指针地方一样

根特性质

vcmFsbCBuIFxpbiBcbWF0aGJie1p9IFxcIGFebiBcZXF1aXYgYl5uIFxwbW9ke219LCBcZm9yYWxsIG4gXGluIFxtYXRoYmJ7Tn1eMFxlbmR7Y2FzZXN9″
class=”tex” src=”http://up.2cto.com/2011/1128/20111128043101835.png
style=”border-top-style: none; border-right-style: none;
border-left-style: none; border-bottom-style: none” />

例如1^5=1,13
^5=371293=30941*12+1

即1^5≡1≡13
^5(mod 12)

公开密钥

Perwork:
私钥:Sender和Receiver预先约定加密和平化解密方案,向别的中国人民保险公司密。
以此完成比较难:向其余中国人民保险公司密。假若你是个公司,很几个人要和你联系,发送者可能和您或多或少关乎也一直不,怎么保密。
需求:Sender面生,发送音讯需求保密,加密方案必须当众。【就和邮箱同样,全数人都足以向你公开的的信箱里投信件,可是唯有你才有钥匙(私有的)取信件】
公钥:加密方案向全体人公开,解密方案唯有Receiver知道,对其它全体人(包罗Sender),Sender和除Receiver外全体人都是大同小异的,【Sender把信件放入Receive信箱了,Sender就不能够再来看信件内容啦】

那就要求加密很轻巧,不过解密很难的算法!从跳板里跳入水里轻松,想跳回去就不是那么轻易啊。

先用一下示范讲下流程:


  1. 概念一个音信会集

    Zset={0,1,2,3,…90}.

本条正是一对一于贰十四个英文字母,只要精通那27个字母,你就能够拼出任何想要的新闻,只是大家把二十柒个扩张为了玖拾肆个。

  1. Sender 要发送的音信为

    %%现实生活中:
    Msg = ”晚上一块用餐”;
    %%等价为新闻集合里是:只要Reciver获得的原委最后为{1,2,3,4,5,6}就可以清楚是有血有肉的“早上一齐进餐”
    Msg ={1,2,3,4,5,6};

这边的Msg便是二个当着。

  1. Sender 把新闻编码为明文后,还要开始展览加密!

把公开的每二个因素都映射为另一个唯一的值(密文:能够公开的值)

 

%%明文
Msg = {1,2,3,4,5,6};
%%使用加密:C = A^5(mod 91)
%%A^5 -->
NewMsg = {1,32,243,1024,3125,7776}
%%mod 91  对91取余得到密文
NewMsg = {1,32,61,23,32,41};

轻巧易行来讲:加密进程为:

%%  明文             公式:5次方后对91取余         密文
     A -------------> A

5

 mod 91 -------------->C

末尾的承接保险:A和C相对是一对一映射关乎。

Question1: 那么那些密文怎么保障不被破解呢?

大家试下从那公开的加密公式和密文反推之

710官方网站 2

能够看来,通过穷举,大家依然得以获得结果的,但那几个总结次数也是指数增进的,且计量开根号得整数操作很要耗费时间,

三个算法最终逼得人只可以用穷举来解密,那么正是水到渠成啦,

思考:只要公式里面不是5次方,而是二人数,四个人数的次方,那总计量就越来越大。

3 . sender把这密文发给Receiver 加密事业变成

  1. 解密:Receive知道消息比Sender多的正是其一91是怎么来的,那个是器重。

4.1 91 = 7*13
(完结选择中,会设定为2个比十分的大的素数相乘,让Sender看不出是哪2个素数来,大家为了演示轻巧,假定Sender不会赢得91=7*13那一个结果,唯有Receiver知道)

其一算法便是利用了这或多或少:2个素数乘积的结果很轻易,不过想转头把结果反推为哪2个素数相乘很难。全体公开密钥都以正着做轻松,反过来就是很难

4.2
根据费马小定理:和折腾相除法能够获取:

5d = 1+(13-1)*(7-1)*k

从上述方可“轻巧穷举出一个”k=2时 :5*29 = 1+(13-1)*(7-1)*2

4.3 接着大家对密文C再乘34遍方后对91取余就足以平昔拿走明文啦

710官方网站 3

你一旦知道极其29,就能够拿走破解啦!!!!!

是或不是很巧妙!!!!!!当然大家依旧有过多糊弄的,譬如:

为啥选5,91,那些数字有哪些供给?接下去,大家先理一下地点的步骤:

 

步骤 示例
取2个大质数:p,q p=7,q=13
密钥:n=p*q,h 是一个与(p-1)(q-1)互质的数, 公开n 和 h ,p,q不公开 n =91,h = 5(与72互质)
加密(公开)C = Ah (mod n) A = 明文,h=5,n=91,C= 密文
解密(保密)hd = 1+(p-1)(q-1)k—->A = C d mod 91 5d = 1+72*k, 当k=2时,d=29成立
解密完成 密文乘方29 再对91取模 得到明文

 

规律表明 :

  1. 取2个不小的不对等的质数p,q ;

  2. m = p*q

3.
根据欧拉函数:比m小的质数个数r
= φ(N) = φ(p)*φ(q) = (p-1)*(q-1)

  1. 挑选两个与景逸SUV互质的数e

5.
根据欧几Reade(辗转相除)定理:2个互质的数一定满意:e*x
– r*y =1;

  1. 上式等价为: e*d – r*k = 1;

7.密文c ,明文a , 加密 a e = c (mod m);

  1. 解密: c d = a (mod m),这些结论是
    大家要表明的,

  2. cd = ae\*d = a 1+r\*k =a*a
    r\*k

故此即使表明: a*a r\*k = a(mod m) —->a
r\*k = 1
(mod m)

10
.根据费马小定理:

710官方网站 4:

a r\*k = (a k)r = 1 (mod m).


数学真有趣…….

RSA算法

翼虎SA算法是当前最盛名、应用最广大的公钥系统,一九七七年由United States北大高校的罗恩 Rivest、 Adi Shamir
和伦Nader Adleman在杂谈《获得数字签字和公开钥密码系统的章程》中提议的。这是贰个基于数论的非对称(公开钥)密码体制,采纳分组加密方法。其名目来自于八个发明者的全名首字母。它的安全性是依据大整数素因子分解的困难性,而大整数因子分解难题是数学上的著名难题,现今尚未管用的方法予以消除,因而得以确认保障中华VSA算法的安全性。君越SA系统是公钥系统的最具备独立意义的办法,大多数选择公钥密码实行加密和数字具名的制品和专门的学业使用的都以OdysseySA算法。

奥迪Q7SA算法是率先个不仅可以用于数据加密也能用于数字具名的算法,由此它为公用互联网上新闻的加密和辨识提供了一种基本的秘籍。它一般是读书人成一对中华VSA 密钥,叁个是保密密钥,由用户保存;另二个为公开密钥,可对伯公开,以至可在互连网服务器中注册,大家用公钥加密文件发送给个人,个人就能够用私钥解密接收。为增高保密强度,智跑SA密钥一般为1024依然20肆拾七个人。

陆风X8SA算法的行事规律如下:

步骤 1  随意选取七个例外的大质数p和q,总结乘积r=p*q。

步骤 2   放肆选拔多个大整数e,e与(p-1)*(q-1)互质,整数e用做加密密钥。注意:e的选料是很容易的,全部大于p和q的质数都可用。

步骤 3  规定解密密钥d: d * e = 1 mod(p –
1)*(q – 1)依照e、p和q能够轻巧地质衡量算出d。

步骤 4  当面整数r和e,可是不公开d。

步骤 5  将明文P(P是贰个小于r的整数)加密为密文C,总结格局为C =
P^e  mod r 。

步骤 6  将密文C解密为明文P,总括方式为: P = C^d modulo r 。

只是只遵照r和e(不是p和q)要计算出d是不恐怕的。因此,任什么人都可对公开进行加密,但只有授权用户(知道d)才可对密文解密。

一经你对LX570SA算法的数学注解感兴趣的话,可以看扩张阅读。

扩充阅读   奥迪Q5SA算法的数学注明

定理  若 p, q 是相异质数, rm == 1 mod (p-1)(q-1); a 是私自叁个正整数,b == a^m mod pq, c == b^r mod pq, 则 c == a mod pq 。

费马小定理    m 是任一质数, n 是任一整数, 则 n^m = = n mod m 。(恐怕一旦 n 和 m 互质, 则 n^(m-1) = = 1 mod m) 。
证明
因为 rm = = 1 mod (p-1)(q-1), 所以 rm = k(p-1)(q-1) + 1, 其中 k 是整数 。
因为在 modulo 中是 preserve 乘法的 

x = = y mod z  and  u = = v mod z  =>  xu =
= yv mod z

 所以 

c = = b^r = = (a^m)^r =
= a^(rm) = = a^(k(p-1)(q-1)+1) mod pq 
1. 一旦 a 不是 p 的翻番, 也不是 q 的翻番时,    则

 a^(p-1) =
= 1 mod p (费马小定理)  =>  a^(k(p-1)(q-1)) =
= 1 mod p 
       a^(q-1) =
= 1 mod q (费马小定理)  =>  a^(k(p-1)(q-1)) =
= 1 mod q 
   所以 p, q 均能整除

 a^(k(p-1)(q-1)) – 1  =>  pq | a^(k(p-1)(q-1)) – 1 
   即 

a^(k(p-1)(q-1)) == 1 mod pq    =>  c = = a^(k(p-1)(q-1)+1) =
= a mod pq 
2. 万一 a 是 p 的翻番, 但不是 q 的倍数时,    则 

a^(q-1) == 1 mod q (费马小定理) 
   =>  a^(k(p-1)(q-1)) =
= 1 mod q 
   =>  c = = a^(k(p-1)(q-1)+1) = = a mod q 
   =>  q | c – a 
   因 p | a 
   =>  c = = a^(k(p-1)(q-1)+1) = = 0 mod p 
   =>  p | c – a 
   所以

 pq | c – a  =>  c = = a mod pq 
3. 如果 a 是 q 的翻番, 但不是 p 的倍数时, 注明同上 。
4. 一旦 a 同期是 p 和 q 的翻番时, 则

 pq | a 
   =>  c = = a^(k(p-1)(q-1)+1) == 0 mod pq 
   =>  pq | c – a =>  c = = a mod pq 

在做编码解码时, 限制 0 <= a < n, 0 <= c < n, 那正是说 a =
=c, 所以那一个进程真的能成功编码解码的作用。

为了求证该算法的干活经过,上面给出二个简练例子。分明,这里不得不取一点都不大的数字,然而如上所述,为了确定保障卫安全全,在实际上利用上所用的数字要大得多。

选取p=3,
q=5,则r=15,(p-1)*(q-1)=8。选取e=11(大于p和q的质数),通过d *
11 = 1 modulo 8,计算出d
=3。

要是明文为整数13。则密文C为 :

 C = P^e mod r

 = 1311 mod 15

 = 1,792,160,394,037 mod 15

 = 7

复原明文P为:

 P = C^d mod r

= 73 mod 15

= 343 mod 15

= 13

因为e和d互逆,公开密钥加密方法也允许行使那样的秘技对加密音信进行”签字”,以便接收方能分明签字不是改头换面的。

ENVISIONSA算法化解了多量互连网用户密钥管理的难点,这是公钥密码系统相对于对称密码系统最出色的亮点。不过它同一时候也存在必然的症结:

1)产生密钥很麻烦,受到素数产生才具的范围,由此难以形成三遍一密。

2)安全性。TiguanSA的安全性正视于大运的因数分解,但并不曾从理论上表达破译福特ExplorerSA的难度与运气分解难度特别。这几天,大家已能表达140三个十进制位的大素数,这将在求使用更加长的密钥,速度更加慢;其它,近些日子大家正在积极索求攻击奥迪Q5SA的情势,如选取密文攻击,一般攻击者是将某新闻伪装(Blind),让具有私钥的实业签署。然后,经过测算就可收获它所想要的音讯。实际上,攻击利用的都以同三个重疾,即存在这么三个事实:乘幂保留了输入的乘法结构:
( XM
)d =
Xd *Md mod n。前边已经提到,这几个本来的主题材料根源于公钥密码系统的最有效的特征:各个人都能应用公钥。但从算法上不大概缓慢解决这一主题素材,首要方法有两条:一条是利用好的公钥协议,保障专门的学业历程中实体不对别的实体放肆爆发的信息解密,不对友好一窍不通的消息签字;另一条是永不对路人送来的随便文书档案具名,签字时首先采纳One-Way Hash Function对文书档案作HASH管理,或同时使用差别的签订契约算法。除了利用集人体模型数,大家还尝试一些应用解密指数或φ(n)等攻击。

3)速度慢。由于RubiconSA
的分老董度太大,使运算代价相当高,尤其是速度相当慢,较对称密码算法慢多少个数据级;且随着大数分解技艺的向上,那个尺寸还在增多,不便利数据格式的标准。最近,SET(Secure Electronic Transaction)协议供给CA选择2048比特的密钥,其余实体使用1024比特的密钥。为了速度难题,近些日子大家布满运用单、公钥密码组合使用的诀要,优缺点互补:单钥密码加密速度快,大家用它来加密较长的文件,然后用XC90SA给文件密钥加密,极好地化解了单钥密码的密钥分发难点。

2、欧拉函数(Euler’s totient function)

 

欧拉函数 φ(n)是少数或等于n的数中与n互质的数的数额,比方φ(9) = 6,因为比9小的数中与9互质的有1,
2, 4, 5, 7,8七个数,所以9的欧拉函数为6。

计量情势:

将n分解为质数相乘的花样

710官方网站 5,每个p*i*都以质数

则欧拉函数

 

 

710官方网站 6

710官方网站 7

例如

710官方网站 8

两条结论

若n为质数,则φ(n)=n-1

若m与n互质,则 φ(mn) = φ(m)φ(n)

DSA算法

DSA(Digital Signature
Algorithm,数字签字算法)是Schnorr和ElGamal具名算法的变种,被美利坚合众国NIST作为DSS(DigitalSignature Standard,数字时限信号标准)。DSA算法是依附整数有限域离散对数难题的,其安全性与EnclaveSA相似。DSA的叁个关键特色是八个素数公开,这样,当使用旁人的p和q时,固然不清楚私钥,也能肯定它们是还是不是是随机发生的,依旧作了手脚。KugaSA算法却做不到。

(1) 
DSA算法参数

p:L
bits长的素数。L是64的翻番,范围是512到1024;

q:p – 1的160bits的素因子;

g:g = h^((p-1)/q) mod
p,h满足h < p – 1, h^((p-1)/q) mod
p > 1;

x:x < q,x为私钥;

y:y = g^x mod p ,(
p, q, g, y )为公钥;

H( x ):One-Way Hash函数。DSS中选用SHA( Secure Hash Algorithm
)。

里头,p、 q、g可由一组用户分享,但在实际应用中,使用国有模数大概会带动一定的威吓。

(2) 
签名及表明协议

1)        p发生随机数k,k < q。

2)        p计算:

r = ( g^k mod p ) mod
q

s = ( k^(-1)(H(m) + xr))
mod q

签名结果是( m, r, s )。

3)        注明时计算:

w = s^(-1)mod
q

u1 = ( H( m
) * w ) mod q

u2 = ( r * w ) mod
q

v = (( g^u1 * y^u2 ) mod
p ) mod q

若v =
r,则认为签字有效。

(3) 
安全性

DSA首要借助于整数有限域离散对数难点。素数 P 必须丰裕大,且p-1至少含有多少个大素数因子以对抗Pohlig & Hellman算法的口诛笔伐。M一般都应选择音信的HASH值(官方推荐为SHA算法)。DSA的安全性关键依赖于p和g,若选取不当则签字轻易伪造,应保障g对于p-1的大素数因子不可约。个人感到:DSA的安全性要次于ECC, 与LX570SA齐足并驱。然而,在DSA算法的注明进程中,
奥德赛和S
是以公开方式现身的,这一点很轻便被恶意攻击者利用。

DSA算法在破解时重要的参数正是X,遵照 Y = G^X mod P ,只要知道
P,G,Y,Q 且能分解出 X
,就能够伪造ENCORE、S,从而写出KeyGen了。

3、费马小定理与欧拉定理

 

费马小定理

若a为整数,p为质数则

710官方网站 9

如果a不是p的倍数,可写为

 

710官方网站 10

 

推广:欧拉定理

对任何两互质正整数am710官方网站 11,有

ECC**算法**

ECC(Elliptic Curve
Cryptosystem,椭圆曲线密码体制)算法中,椭圆曲线指的是由Wells特Russ(Weierstrass)方程所规定的平面曲线。如下:

 y2+a1xy+a3y=x3+a2x2+a4x+a6
(1)                                               
    

若F是一个域(ai
∈F,i=1,2,…,6),且餍足式(1)的数偶(x,y)称为F域上的椭圆曲线E的点。F域能够是言之成理数域,还是能够是有限域GF(Pr)。椭圆曲线经常用E表示。除了曲线E包蕴的点,还应该有贰个无穷远点O。

在ECC中,利用了概念在有限域上的椭圆曲线。其方程如下:

y2=x3+ax+b(mod p)(4a3+27b2(mod p)≠0 其中,x,y,a,b
∈Fp)(2)                  

此处p是素数,a和b为三个小于p的非负整数。知足式(2)的点(x,y)和多个无穷点O就构成了椭圆曲线E。

椭圆曲线离散对数难题ECDLP定义如下:

给定素数p和椭圆曲线E,对 Q=kP,在已知P,Q的意况下求出小于p的正整数k。

可以证实,已知k和P计算Q比较易于,而由Q和P总结k则相比较坚苦,至今未曾一蹴而就的主意来消除这几个难点,那正是ECC原理之四海。

ECC与卡宴SA比较,有以下的亮点:

q  安全质量更加高。如1陆16个人ECC与10二十四位哈弗SA、DSA有同等的平安强度。

q  总括量小,管理速度快。在私钥的管理速度上(解密和签字),ECC远 比陆风X8SA、DSA快得多。

q  存款和储蓄空间攻克小。ECC的密钥尺寸和类别参数与ENCORESA、DSA比较要小得多, 所以占用的存款和储蓄空间小得多。

q  带宽供给低。

4、模反

710官方网站 12

710官方网站 13

或写成

 

710官方网站 14

例如

 

 

710官方网站 15

710官方网站 16

当x=4时上式创立,所以4是3的模反,

注意:4并不是唯一的解,在4的基础上助长模(11)的倍数依旧知足上式,举个例子15,26,37,48等

不过寻觅这样的x并不是吃透,能够用上面包车型地铁恢弘欧几里得算法。

 
 
5、扩充欧几里得算法
用作欧几里得算法的扩张,搜索的是满意ax + by = gcd(a,b)的x和y。

 

当a,b互质时,能够看出x是a在b模下的反(ax=1(mod y))
;能够看出y是b在a模下的反(by=1(mod x))

自己用python写了八个递归完结
 

 

def extended_gcd(a, b): 
    if (b == 0): 
        return (1, 0) 
    else: 
        q, r = a/b,a%b 
        s, t = extended_gcd(b, r) 
        return (t, s – q * t) 
         

运维实例,依然拿地点的例子,求3在模11下的反

 

 

 

print extended_gcd(3,11) 

获得结果:

(4, -1) 

 

意即4*3+(-1)*11=1

由此可得的解为4

 

 

 

 

 

6、密钥生成
选料三个素数p和q

计算n=pq

总括φ(n) = (p – 1)(q – 1)  (可由第22中学的八个结论推出)

采取e使得 1 < e < φ(n)且e与φ(n)互质,e和n作为公钥

算算 d = e–1 mod φ(n); d和n作为密钥

 

7、加密
将公钥(n,e)传送给对方,自个儿童卫生保健留密钥。对方对公开举办加密。

明文m,密文c,由密钥(n,e)可得

c = me (mod n).

8、解密
采取对方传过来的密文c后得以用密钥(d,n)举行解密,得到明文m

m = cd (mod n).

 

9、实现
用python把流程走三次

 

 

 

>>> from Euclid_Ex import extended_gcd 
#导入上边定义的强大欧几里得算法 
>>> p,q=61,53 
#定义p,q,并求得n和phi 
>>> n=p*q 
>>> n 
3233 
>>> phi=(p-1)*(q-1) 
>>> phi 
3120 
#选料17用作公钥 
>>> e=17 
#算算密钥 
>>> extended_gcd(e,phi) 
(-367, 2) 
#计量获得的是负数,不是大家所想要的,根据事先提过的,只要增多模就足以了 
>>> -367+phi 
2753 
#获得了密钥为2753 
>>> d=2753 
#在此已经获取了加密和平消除密所急需的密钥(d,n)和公钥(e,n)了,下边临明文m进行加解密 
>>> m=65 
>>> c=m**e%n 
>>> c 
2790L 
#当面由公钥加密后获取密文2790 
>>> m=c**d%n 
>>> m 
65L 
#密文由密钥解密后拿走明文65,与事先的音讯一致 

摘自 boksic的专栏

Diffie-Hellman算法

由于该算法本人限于密钥调换的用途,好多商用产品用做密钥交流本领,由此该算法常常称为Diffie-Hellman密钥沟通算法。这种密钥调换技艺的意在使得五个用户安全地沟通三个暧昧密钥以便用于现在的报文加密。

Diffie-Hellman密钥沟通算法的管用正视于总计离散对数的难度。离散对数的定义如下:

率先定义一个素数p的原根,为其各次幂发生从1
到p-1的具有整数根,也等于说,假使a是素数p的八个原根,那么数值

                 
a mod p, a2 mod p, …, ap-1 mod p

是各不相同样的整数,并且以某种排列格局组成了从1到p-1的兼具整数。

对于多个整数b和素数p的贰个原根a,能够找到惟一的指数i,使得

                 
b = ai mod p     其中0
≤ i ≤(p-1)

710官方网站,指数i称为b的以a为基数的模p的离散对数或许指数。该值被记为inda ,p(b)。

基于此背景知识,可以定义Diffie-Hellman密钥交流算法。该算法描述如下:

1)有三个全局公开的参数,二个素数q和叁个整数aaq的一个原根。

2)假如用户A和B希望交流三个密钥,用户A选择八个看成个体密钥的自由数XA<q,并企图公开密钥YA=aXA
mod q。A对XA的值保密存放而使YA能被B公开获得。类似地,用户B采取叁个民用的大肆数XB<q,并总结公开密钥YB=aXB
mod q。B对XB的值保密存放而使YB能被A公开得到。

3)用户A发生分享秘密密钥的测算办法是K = (YBXA mod q。一样,用户B产生共享秘密密钥的臆想是K = (YAXB mod q。那四个总计发生同样的结果:

              K = (YBXA mod q

                =
aXB mod qXA mod q

                = (aXBXA mod q

                = aXBXA mod q

                = (aXAXB mod q

                = (aXA mod qXB mod q

                = (YAXB mod q

据此一定于双边业已沟通了三个师心自用的暧昧密钥。

4)  因为XA和XB是保密的,一个敌对方能够应用的参数唯有qa、YA和YB。由此敌对方被迫取离散对数来规定密钥。比方,要获取用户B的神秘密钥,敌对方必须先总括

               XB = inda\ ,q(YB

然后再接纳用户B选取的毫发不爽办法总括其地下密钥K。

Diffie-Hellman密钥沟通算法的安全性信赖于那般一个事实:尽管总括以三个素数为模的指数相对轻松,但总计离散对数却很不方便。对于大的素数,总括出离散对数差不离是不恐怕的。上边以二个回顾的事例来验证。

密钥交换基于素数q = 97和97的二个原根a =
5。A和B分别选用个人密钥XA = 36和XB =
58。每人计算其公开密钥:

                YA = 536 = 50 mod 97

                YB = 558 = 44 mod 97

它们相互获取了公开密钥之后,各自通过测算获得两岸分享的潜在密钥如下:

                    K =
(YBXA mod 97 = 4436
= 75 mod 97

                    K = (YAXB mod 97 = 5058
= 75 mod 97

从|50,44|出发,攻击者要计算出75很不便于。实际应用境遇类似上面包车型客车内容。

到现在一旦有一组用户(举例二个局域英特网的享有用户),每个人都发出三个遥远的个人密钥XA,并总括三个公开密钥YA。那一个公开密钥数值连同全局公开数值qa都存款和储蓄在密钥管理基本。在任什么时候刻,用户B都能够访问用户A
的当众数值,总计多少个私人民居房密钥,并运用这一个密钥发送三个加密报文给A。因为唯有A和B能够明确那些密钥,其余用户都爱莫能助解读报文。接收方A知道唯有用户B本领利用此密钥生成这么些报文。鉴于此,ECC加密算法既可保障加密风味又可实现鉴定分别作用。

———————–注:本文部分剧情改编自《.NET 安全揭秘》