RSA算法详解与练习 您所在的位置:网站首页 rsa算法泄露参数n的欧拉函数值 RSA算法详解与练习

RSA算法详解与练习

#RSA算法详解与练习| 来源: 网络整理| 查看: 265

1. 什么是RSA2. RSA算法描述2.1 产生公私密钥对2.2 RSA加密2.3 RSA解密2.4 RSA相关值 3. 安装gmpy24. 实战练习4.1 已知p、q、e,求d4.2.1 已知p、q、e、密文c,求明文m4.2.2 已知c、q、n、e,求明文m4.3 已知n、e、密文c,求明文m4.4 已知public key、密文c,求明文m4.5 已知p、q、dp、dq、c求明文m4.6已知n、e、dp、c,求m4.7共模攻击4.8已知p+q、(p+1)(q+1)、e、d、以及密文C,求明文m4.9已知e、p+q、p-q、c,求明文

1. 什么是RSA

1977年,麻省理工学院的 Ron Rivest、Adi Shamir 和 Leonard Adleman 共同提出了一种非对称加密算法,用他们三人的姓氏缩写命名为 RSA。RSA 既不是惟一,也不是最早的非对称加密算法。但它是使用最广泛,因而也是最重要的非对称加密算法。

2. RSA算法描述 2.1 产生公私密钥对

1.随机选择两个不相等的质数p和q。 2.计算p和q的乘积n(n=p*q),n的长度就是密钥长度。 3.计算n的欧拉函数φ(n): φ(n) = (p-1)(q-1) 4.随机选择一个整数e,也就是公钥当中用来加密的那个数字 条件是1< e < φ(n),且e与φ(n) 互质。 5.取e的模反数d,计算方法为:e * d ≡ 1 (mod φ) 6.将n和e封装成公钥,n和d封装成私钥,(n,e),(n,d)就是密钥对。

补充说明: 1.下面代码中使用phi代替欧拉函数φ(n) 2.如果两个正整数e和n互质,那么一定可以找到整数d,使得 e * d - 1 被n整除,或者说e * d被n除的余数是1。这时,d就叫做e的“模反元素”。

2.2 RSA加密

首先对明文进行比特串分组,使得每个分组对应的十进制数小于n,然后依次对每个分组m做一次加密,所有分组的密文构成的序列就是原始消息的加密结果,即m满足0



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有