早教吧作业答案频道 -->数学-->
离散对数加密算法首先,A、B两人要共同公开约定一个素数q和有限域Fq中的一个生成元g;A选定一个随机数a∈{1,2,…,q-1}(a可以认为是A之私钥),并将ga(modq)传送给B;B选定一个随机
题目详情
离散对数加密算法
首先,A、B两人要共同公开约定一个素数q和有限域Fq中的一个生成元g; A选定一个随机数a∈{1,2,…,q-1}(a可以认为是A之私钥),并将g a(modq)传送给B; B选定一个随机数b∈{1,2,…,q-1}(b可以认为是B之私钥),并将gb(modq)传送给A; 此时A可以算出(g b)a(modq),B也可以算出(g a)b(modq),由于(gb)a(modq) = (g a)b(modq) = g ab(modq),因此,A和B就形成了一个公共的密钥g ab(modq),日后便可以此钥来进行传统的加密解密计算,
1 我想问的是此时有明文M如何用g^ab加密和解密,以及算法的数学基础.
2 还是说只能用公钥g^a和g^b分别加密,那这种情况的数学基础是什么,数学基础要具体的运算式子,谁都知道是离散对数!
首先,A、B两人要共同公开约定一个素数q和有限域Fq中的一个生成元g; A选定一个随机数a∈{1,2,…,q-1}(a可以认为是A之私钥),并将g a(modq)传送给B; B选定一个随机数b∈{1,2,…,q-1}(b可以认为是B之私钥),并将gb(modq)传送给A; 此时A可以算出(g b)a(modq),B也可以算出(g a)b(modq),由于(gb)a(modq) = (g a)b(modq) = g ab(modq),因此,A和B就形成了一个公共的密钥g ab(modq),日后便可以此钥来进行传统的加密解密计算,
1 我想问的是此时有明文M如何用g^ab加密和解密,以及算法的数学基础.
2 还是说只能用公钥g^a和g^b分别加密,那这种情况的数学基础是什么,数学基础要具体的运算式子,谁都知道是离散对数!
▼优质解答
答案和解析
加密的时候直接用X=M*g^{ab}来实现,mod q就不写了,反正你知道域的概念.
至于解密,就是要知道g^{-ab}.以A为例,A已经掌握的信息是g,a,q,g^b,那么
g^{-ab}=g^{-ab+b(q-1)}=g^{b(q-1-a)}=(g^b)^{q-1-a}
这里唯一需要的条件就是g^{q-1}=1,注意{1,2,…,q-1}的乘法构成群,所以由Lagrange定理可得到g^{q-1}=1.
原理就是这样,这种方法叫Diffie–Hellman交换.
至于解密,就是要知道g^{-ab}.以A为例,A已经掌握的信息是g,a,q,g^b,那么
g^{-ab}=g^{-ab+b(q-1)}=g^{b(q-1-a)}=(g^b)^{q-1-a}
这里唯一需要的条件就是g^{q-1}=1,注意{1,2,…,q-1}的乘法构成群,所以由Lagrange定理可得到g^{q-1}=1.
原理就是这样,这种方法叫Diffie–Hellman交换.
看了 离散对数加密算法首先,A、B...的网友还看了以下:
有3个人住店,一共30元,每人掏了10元,店家便宜了5元,贪了2元,一人退了一元.3×9=27(元 2020-04-07 …
我有一天借了爸妈各五十元,共一百元,去买东西花了九十七元,还剩三元,然后我各还爸妈一元,还剩一元是 2020-04-26 …
一道超幼稚的数学题一个人花8元买了一只鸡,又用9元卖了出去,之后觉的不合算,又用10元买了回来,又 2020-05-20 …
怎么少了一元钱?这里用甲乙丙丁了.甲乙丙三人一人出10元,给丁,丁花了25元丢了2元然后剩下3元分 2020-06-07 …
一元钱哪里去三个人住店,每人10元,一共30元,老板优惠了5元,让伙计退回去,伙计偷偷留了2元,退 2020-06-16 …
买葱的急转弯10斤葱,一元一斤,买了10元.把葱切开来买,葱白8斤,0.7元一斤,葱叶2斤,0.3 2020-06-27 …
一张十元可以换几张二元和几张一元?下面是解法:一张十元可以换四张二元和二张一张十元可以换几张二元和 2020-07-20 …
有一元,两元,五元,十元,五十元和一百元人民币各一张,由这六张人民币可组成多少种不同的币值?(要. 2020-07-25 …
逻辑题小明借了甲50元钱,借了乙50元钱,买东西用了97元,剩下3元,还了甲一元,还了乙一元,自己还 2020-11-11 …
一元3次方程化成一元2次方程的方法比如:X^3-3X+2=(X-1)^2(X+2)1.如何把一个一元 2020-11-30 …