• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-159  評論-223  文章-30  trackbacks-0
            算法描述
            【公開密鑰】    
               p是512到1024位的素數
               q是160位長,并與p-1互素的因子
               g = h^((p-1)/q) mod p,其中h<p-1且g>1
               y = g^x mod p
            【私有密鑰】
               x < q,長160位
            【簽名】
               k為小于q的隨機數,k^-1為k模q的逆元,m為消息,H為單向散列函數
               r = (g^k mod p) mod q
               s = (k^-1(H(m)+xr)) mod q
            【驗證】
               w = s^-1 mod q
               u1 = (H(m)w) mod q
               u2 = (rw) mod q
               v = ((g^u1 * y^u2) mod p) mod q
               若v = r,則簽名被驗證

            驗簽推導
               1. 先證明兩個中間結論
                  因(h,p)=1(p為素數且h<p,(a1,a1)是數論中的符號,記為a1與a2的最大公約數),故依費馬小定理有h^(p-1)=1 mod p,則對任意整數n,有
                  g^(nq) mod p = (h^((p-1)/q))^(nq) mod p
                                      = h^(n(p-1)) mod p
                                      = (h^(p-1) mod p)^n  mod p
                                      = (1^n) mod p = 1     (1)
                  對任意整數t、n,可表示為t=nq+z,其中z>0,則有
                  g^t mod p = g^(nq+z) mod p
                                  = (g^(nq) mod p * (g^z mod p)) mod p
                                  = g^z mod p
                                  = g^(t mod q) mod p    (2)

              2. 再假設簽名{r,s}和消息m均沒被修改,令H(m)=h,開始推導v
                  v = ((g^u1 * y^u2) mod p) mod q
                     = (g^(hw mod q) * ((g^x mod p)^(rw mod q) mod p)) mod q
                     = ((g^(hw mod q) mod p * ((g^x mod p)^(rw mod q) mod p)) mod p) mod q
                     = ((g^(hw mod q) mod p * (g^(x * (rw mod q)) mod p)) mod p) mod q
                     = ((g^(hw) mod p * ((g^(rw mod q) mod p)^x mod p)) mod p) mod q
                     = ((g^(hw) mod p * ((g^(rw) mod p)^x mod p)) mod p) mod q
                     = ((g^(hw) mod p * (g^(rwx) mod p)) mod p) mod q
                     = (g^(hw+rwx) mod p) mod q
                     = (g^((h+rx)w) mod p) mod q    (3)

                  又因w = s^-1 mod q
                     故(sw) mod q = 1
                       =>(((k^-1(h+xr)) mod q)w) mod q = 1
                       =>((k^-1(h+xr))w) mod q = 1
                       =>(h+xr)w = k mod q    (4)

                  將(4)式代入(3)式中得
                  v = (g^(k mod q) mod p) mod q
                     = (g^k mod p) mod q
                     = r

              3. 最后由(4)式知,若h、r和s任一個有變化(s變化導致w變化),則v ≠ r
            posted on 2016-11-24 19:39 春秋十二月 閱讀(5350) 評論(0)  編輯 收藏 引用 所屬分類: Algorithm
            久久亚洲中文字幕精品一区| 国产午夜电影久久| 看久久久久久a级毛片| 青青青青久久精品国产h| 久久精品一区二区三区中文字幕 | 91精品国产高清久久久久久io | 99久久精品国产高清一区二区 | 久久久久久国产精品无码下载 | 久久精品国产亚洲网站| 久久国产精品-国产精品| 久久亚洲国产中v天仙www| 国产成人久久精品一区二区三区 | 亚洲国产精品无码久久久久久曰| 亚洲欧美日韩精品久久| 久久精品国产一区二区三区不卡| 99久久久国产精品免费无卡顿 | 人妻无码精品久久亚瑟影视| 久久精品中文闷骚内射| 久久国产香蕉一区精品| 91亚洲国产成人久久精品网址| 国产福利电影一区二区三区久久老子无码午夜伦不 | 久久免费看黄a级毛片| 国产一区二区精品久久| 久久久久亚洲AV无码专区首JN | 久久九九久精品国产| 精品无码久久久久久尤物| 免费精品久久天干天干| 久久精品一区二区影院| 97久久精品人妻人人搡人人玩| 久久精品国产2020| 国产免费久久精品99re丫y| 久久九九久精品国产免费直播| a级毛片无码兔费真人久久| 国产一级做a爰片久久毛片| 狠狠88综合久久久久综合网| 亚洲精品乱码久久久久久按摩| 色天使久久综合网天天| 亚洲午夜精品久久久久久浪潮 | 久久国产精品久久| 99久久伊人精品综合观看| 亚洲国产精久久久久久久|