首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >RSA加密密钥条件

RSA加密密钥条件
EN

Cryptography用户
提问于 2021-06-05 11:51:37
回答 1查看 107关注 0票数 0

我最近读了RSA密码体制,但现在我在密钥生成阶段感到困惑。根据欧拉定理,我们只有一个条件:

e.d = k.ϕ(N) +1

其中:

  • "e“是加密密钥。
  • "d“是解密密钥。
  • "N“是一个p*q形式的数,其中p和q都是素数。
  • "ϕ(N)“等于(p-1)(q-1)。

但有些文件规定了新的条件如下:

  1. E应该很小。
  2. (φ(N),e)=1。
  3. E应该是一个奇数

现在,我的问题是,为什么我应该满足这三个条件?

我认为第二个和第三个条件是为了确保"d"也是一个整数,因为d = (k.φ(N) + 1)/e的存在。我说的对吗?

最后,我认为第一个条件是确保"d"足够大。我说的对吗?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2021-06-05 12:25:21

我为什么要满足这些?

  1. e应该是小的。

有三个原因

  • 这是为了提高公钥操作(加密和签名验证)的速度,在RSA中,这些操作所需的时间与\log e大致成正比。
  • 它确保了与某些实现的兼容性,这些实现将e限制为32位(或31位)。
  • 这样就不可能使用小型d,这会破坏安全性。问题的最后一段是对的。

注意,由于大多数历史原因,您还会发现e不太小的建议。当然,e\le1是个糟糕的主意。说到底,最常见和最不受反对的是e=F_4=2^{(2^4)}+1=65537,其中F_4是已知的最大的费马素数

  1. \gcd(\varphi(N),e)=1

在这一点上,\varphi(N)只在表示法上不同于\phi(N),或者在问题的"\phi(N)等于(p-1)(q-1)“中是\Phi(N)。那是欧拉系数\varphi(N)=(p-1)(q-1)N=p\cdot q具有pq不同素数的情况下仍然有效,当pq足够随机地选择素数时,这种情况非常可能发生。

\gcd(\varphi(N),e)=1是(整数) kd存在的必要条件,例如e\cdot d=k\cdot\varphi(N)+1

e应该是一个奇数。

除非pq2,这将是个坏主意,这是从e\cdot d = k\cdot(p-1)(q-1)+1那里得到的。

我认为第二和第三个条件是为了确保d也是一个整数,因为d=(k\cdot\varphi(N)+1)/e的存在。

呃,没有。整数和位字符串是密码学中唯一的数据表示形式,在RSA中,它们通常在每个大端会议中被同化,所以一切都是整数。

ke\cdot d=k\cdot\varphi(N)+1或(等效地) d=(k\cdot\varphi(N)+1)/e存在时,可以注意到d\equiv e^{-1}\pmod{\varphi(N)},这意味着d模整数的乘法群\varphi(N)#qcStackCode#e的逆(表示C64的整数)。

票数 2
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/91414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档