数据加密rsa算法实验报告.doc
约4页DOC格式手机打开展开
数据加密rsa算法实验报告,数据加密rsa算法实验报告一、rsa算法简介:rsa算法,由美国mit的ron rivest, adishamir 和leonard adleman于1977年提出并于1978年公布,算法的名字rsa就是这三位发明者的名字的缩写。它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。rsa是被研...
内容介绍
此文档由会员 superjunior 发布
数据加密RSA算法实验报告
一、RSA算法简介:
RSA算法,由美国MIT的Ron Rivest, AdiShamir 和Leonard Adleman于1977年提出并于1978年公布,算法的名字RSA就是这三位发明者的名字的缩写。它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。RSA是被研究得最广泛的公钥算法,从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。但RSA的安全性一直未能得到理论上的证明。
二、RSA算法流程:
RSA的安全性依赖于大数分解。公钥和私钥都是两个大素数(大于100个十进制位)的函数。据猜测,从一个密钥和密文推断出明文的难度等同于分解两个大素数的积。其算法如下:选择两个大素数,p 和q 。计算:n = p * q 然后随机选择加密密钥e,要求 e 和 (p-1)*(q-1)互质。最后,利用Euclid 算法计算解密密钥d, 满足e * d = 1 (mod(p-1)*(q-1)),其中n和d也要互质。数e和n是公钥,d是私钥。两个素数p和q不再需要,应该丢弃,不要让任何人知道。数据加密 :取 ,将明文分成长度为K的组块,因为 ,所以将组块看做K位的二进制整数,其值M在0到(n-1)之间。对每个明文分组,对应的密文是: (a)。数据解密时作如下计算: (b)。
RSA 可用于数字签名,方案是用 ( a ) 式签名, ( b )式验证。具体操作时考虑到安全性和 m信息量较大等因素,一般是先作HASH 运算。
三、RSA 的安全性。
RSA的安全性依赖于大数分解,但是否等同于大数分解一直未能得到理论上的证明,因
一、RSA算法简介:
RSA算法,由美国MIT的Ron Rivest, AdiShamir 和Leonard Adleman于1977年提出并于1978年公布,算法的名字RSA就是这三位发明者的名字的缩写。它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。RSA是被研究得最广泛的公钥算法,从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。但RSA的安全性一直未能得到理论上的证明。
二、RSA算法流程:
RSA的安全性依赖于大数分解。公钥和私钥都是两个大素数(大于100个十进制位)的函数。据猜测,从一个密钥和密文推断出明文的难度等同于分解两个大素数的积。其算法如下:选择两个大素数,p 和q 。计算:n = p * q 然后随机选择加密密钥e,要求 e 和 (p-1)*(q-1)互质。最后,利用Euclid 算法计算解密密钥d, 满足e * d = 1 (mod(p-1)*(q-1)),其中n和d也要互质。数e和n是公钥,d是私钥。两个素数p和q不再需要,应该丢弃,不要让任何人知道。数据加密 :取 ,将明文分成长度为K的组块,因为 ,所以将组块看做K位的二进制整数,其值M在0到(n-1)之间。对每个明文分组,对应的密文是: (a)。数据解密时作如下计算: (b)。
RSA 可用于数字签名,方案是用 ( a ) 式签名, ( b )式验证。具体操作时考虑到安全性和 m信息量较大等因素,一般是先作HASH 运算。
三、RSA 的安全性。
RSA的安全性依赖于大数分解,但是否等同于大数分解一直未能得到理论上的证明,因