离散对数加密算法首先,A、B两人要共同公开约定一个素数q和有限域Fq中的一个生成元g; A选定一个随机数a∈{1,2
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:数学作业 时间:2024/05/15 10:05:21
离散对数加密算法
首先,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^{q-1}=1这个是费玛小定理 问题已经想明白了 都没人回答 费了我一晚上时间
至于解密,就是要知道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^{q-1}=1这个是费玛小定理 问题已经想明白了 都没人回答 费了我一晚上时间
c语言:一个100-200之间的随机数a,然后生成a个2-1000的随机数,然后将其中的素数8个一行输出
EXCEL a列乘以一个区间内的随机数 然后结果生成在b列
如果a^n -1是一个素数,证明a=2且n是素数
java随机数我生成了一个-100到100之间的随机数 A 然后又定义了一个变量B B的值是A+100 我想在生成一个随
用matlab产生(a,b)上均匀分布的随机数(离散)
用matlab的rand函数生成一个在【-a,a】内均匀分布的随机数.
一个电荷量为+2q的点电荷A和两个电荷量都为-q的点电荷B和C共同组成一个系统,且三个点电荷都在半径为r的同一圆周上,如
已知a是一个大于10的素数,那么“a+1”肯定是一个( )数,“a+2” 肯定
把下面的字母拼组成一个成语.q i s a x h a n a i g b
甲乙丙三人拟共同设立一个有限合伙企业,下列哪些表述是错误的?() A.该有限合伙企业至少应当有
A是一个素数,而且A+6,A+8,A+12,A+14都是素数,则A最小是多少?
离散推理与证明习题公安人员审问了一起盗窃案,查明了以下事实:(1) 罪犯就是A,B,C三人中的一个或一伙;(2) 不伙同