zoukankan      html  css  js  c++  java
  • 关于RSA算法

    关于RSA算法

                    ——记"永恒之蓝"事件

    RSA的加密解密都是在整数环$Z_n$​内完成的.

    设明文$x$和密文$y$​是$Z_n$​内的元素,使用公钥进行加密可表示为:

    • 给定公钥$(n,e)$和明文$x$,则密文$y=x^e(mod n)$,其中$x,y in Z_n$.

    使用私钥进行解密可表示为:

    • 给定私钥$(n,d)$和密文$y$,则明文$x=y^d(mod n)$,其中$x,y in Z_n$.

    通常,$x$,$y$,$n$和$d$都是非常大的数字.$e$有时被称为公开指数,$d$被称为保密指数.

    以下是RSA密码体制中计算公钥$(n,e)$和私钥$(n,d)$的步骤:

    1. 选择两个大整数$p$和$q$.
    2. 计算$n=p imes q$.
    3. 计算$varphi(n)=(p-1) imes (q-1)$.
    4. 随机选择满足$(e,varphi(n))=1$的公开指数$e in {1,2,...,varphi(n)-1}$.
    5. 计算满足$e imes d equiv 1(mod n)$的保密指数$d$.

    证明RSA方案的可行性:

    条件$(e,varphi(n))=1$保证了$Z_{varphi(n)}$中存在$e$的逆元,即保密指数$d$必存在.

    设$e imes d=k imes varphi(n)+1$,根据加密公式和解密公式及欧拉定理,

    有$x equiv y^d equiv (x^e)^d equiv x^{ed} equiv x^{kvarphi(n)+1} equiv x^{kvarphi(n)} imes x equiv x(mod n)$.证毕.

  • 相关阅读:
    第二周作业
    查找整数
    第八周作业
    第七周作业
    第六周作业
    第五周作业
    第四周作业
    第三周作业
    第二周作业
    7-2求最大值及其下标
  • 原文地址:https://www.cnblogs.com/barrier/p/6851028.html
Copyright © 2011-2022 走看看