RSA签名算法
文章目錄
- 前言
- 一、RSA是什么?
前言
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考
一、RSA是什么?
RSA數(shù)字簽名算法的過(guò)程為:A對(duì)明文m用解密變換作: (公鑰用來(lái)加密,私鑰用來(lái)解密,數(shù)字簽名是用私鑰完成的,所以稱為解密變換,這與onu sdk中一致)so Dk (m)=md mod n,其中d,n為A的私人密鑰,只有A才知道它;B收到A的簽名后,用A的公鑰和加密變換得到明文,因: Ek(s)= Ek(Dk (m))= (md)e mod n,又 deo1 mod j(n)即de=lj(n)+1,根據(jù)歐拉定理mj(n)=1 mod n,所以Ek(s)=mlj(n)+1=[mj(n)]em=m mod n。若明文m和簽名s一起送給用戶B,B可以確信信息確實(shí)是A發(fā)送的。同時(shí)A也不能否認(rèn)送給這個(gè)信息,因?yàn)槌薃本人外,其他任何人都無(wú)法由明文m產(chǎn)生s.因此RSA數(shù)字簽名方案是可行的。
但是RSA數(shù)字簽名算法存在著因計(jì)算方法本身同構(gòu)造成簽名易被偽造和計(jì)算時(shí)間長(zhǎng)的弱點(diǎn),因此實(shí)際對(duì)文件簽名前,需要對(duì)消息做MD5變換。
MD5函數(shù)是一種單向散列函數(shù),它將任意長(zhǎng)度的消息壓縮成128位的消息摘要。應(yīng)用MD5的單向性(即給定散列值,計(jì)算消息很難)和抗碰撞性(即給定消息M,要找到另一消息M’ 并滿足兩者的散列值很難),可以實(shí)現(xiàn)信息的完整性檢驗(yàn)。另外該函數(shù)的設(shè)計(jì)不基于任何假設(shè)和密碼體制而直接構(gòu)造,執(zhí)行的速度快,是一種被廣泛認(rèn)可的單向散列算法。T
總結(jié)
- 上一篇: 10停止nginx命令 win_Linu
- 下一篇: 1115 Counting Nodes