School:李煌數學研究院/非對稱公鑰加密算法

来自testwiki
跳转到导航 跳转到搜索

李煌算法(m<q)

  • 任取2個任意大的隨機正整數q,s,滿足(q,s)=1,q<s;
  • 通過p=sq1計算出p;
  • 隨機産生k1,k2,k3使三者滿足(k1,q)=1,(k2,q)=1,(k3,q)=1,並且通過方程x1q1(modsk1p),x2q1(modsk1k2p),x3q1(modsk1k2k3p)依次算出x1,x2,x3;
  • 公開s,x1,x2,x3,保密p,q,丟棄k1,k2,k3;
  • 每次加密都隨機産生4個大正整數t,w,h,u,4個數兩兩互素,且與s,x1,x2,x3,全部都互素,通過加密公式c=ts+wx1+hx2+ux3+m計算出密文c,隨機産生密文v,滿足t+w+h+uv<m,加密完後丟棄t,w,h,u,傳送密文c,v給解密方;
  • 解密方通過私鑰p,q和解密公式m=((cqv)modp)(((cqv)modp)modq)q恢複出明文m

來源

  • 《計算機算法基礎》.李煌 著


<<School:李煌數學研究院