青青草国产成人av片免费/香港三级日本韩国三级专线/国内自拍在钱/天堂国产女人av

回復

仿射碼

樓主: 165855 | 查看: 4351 | 回復: 15

查看: 4351|回復: 15

[密碼學習] 仿射碼

簡潔模式
發表于 2022-1-6 17:50:50 | 發自安卓客戶端
加法密碼和乘法密碼結合就構成仿射密碼,仿射密碼的加密和解密算法是:C=?Ek(m)=(k1m+k2) mod?nM=?Dk(c)=k3(c-?k2) mod?n(其中(k3 ×k1)mod26 = 1)
      仿射密碼具有可逆性的條件是gcd(k1,?n)=1。當k1=1時,仿射密碼變為加法密碼,當k2=0時,仿射密碼變為乘法密碼。
    仿射密碼中的密鑰空間的大小為nφ(n),當n為26字母,φ(n)=12,因此仿射密碼的密鑰空間為12×26 = 312。
     中文名  仿射密碼
     外文名  Affine?cipher
      組????成  加法密碼和乘法密碼結合                            舉例三個字母對應的數值是0、23、6
       利用???
加密舉例
       設密鑰K= (7, 3), 用仿射密碼加密明文hot。
      三個字母對應的數值是7、14和19。分別加密如下:
      (7×7 + 3) mod 26 = 52 mod 26 =0
      (7×14 + 3) mod 26 = 101 mod 26 =23
      (7×19 + 3) mod 26 =136 mod 26 =6
      三個密文數值為0、23和6,對應的密文是AXG。
解密舉例
       本例是按照上例來解密的,也就是用仿射密碼解密密文AXG,密鑰k=(7,3)。         三個字母對應的數值是0、23、6。
       解密如下:由解密Dk(c)=k3(c-?k2) mod?n(其中(k3 ×k1)mod26 = 1);
      可知k3×7=1(mod 26)(其實,就是1/mod26),也就是存在整數t,使7×k3+26t=1。(1)
     利用輾轉相除法求解k3:[1]
    ? 26 = 7 * 3 + 5;(2)(對26作形如:a * b + c,其中 c 就是余數)
     7 = 5 * 1 + 2;(3)(作形如: a = c * m + n ,其中 a ,c 是上一步的, m 是乘數 ,n 是余數)
      5 = 2 * 2 + 1;(一直循環上一步,直到余數 n = 1)
進行回代:
      1 = 5 - 2 * 2= 5 - (7 - 5 * 1) * 2(第一個2用(3)式來代替,也就是2 = 7 - 5 * 1)
      = 3 * 5 - 2 * 7
      = 3 * (26 - 7 * 3) - 2 * 7(5用(2)式來代替,也就是5 = 26 - 7 * 3)
      = -11 * 7 + 3 * 26(直到不用進行代替,也就是得到只有7和26的表達式)
      對比(1)式可知:t = 3 ,k3 = -11;
      所以:Dk(c)=k3(c-?k2) mod?n            <=>?Dk(c)=-11(c-?3) mod?26 .
       對于第一位 A :-11 ( 0 - 3 ) mod 26 = ( -11 * -3 )mod 26 = 7;
        對于第二位 X :
        -11 ( 23 - 3 ) mod 26 = ( -11 * 20 ) mod 26 = ( -220 ) mod 26 = ( 26 * -9 ) + 14 = 14;
        ([2]??用計算器求 (-220) mod 26 ,不同的計算器會有不同的結果,百度的計算器求得就是 14 ,直接百度搜索:(-220) mod 26 就可以了,不能直接在計算器上輸入 -220mod26 ,那樣會得出負數。其實,可以這樣算,算出(-11)mod 26 =15,再計算 (15 * 20)mod26 = 14)
         對于第三位 G :
        -11 ( 6 - 3 ) mod 26 = ( -11 * 3 )mod 26 = ( -33 )mod 26 = 19;(計算方法如上)
        三個明文值為 7,14,19,對應的明文是HOT,也就是hot。

12

12

分享

| 發表于 2022-1-8 18:35:23 | 發自安卓客戶端
感謝分享
1 | 發表于 2022-1-8 18:39:05 | 發自安卓客戶端
看起來不錯,用起來……
| 發表于 2022-1-8 18:55:08 | 發自安卓客戶端 發帖際遇
感謝分享
1 | 發表于 2022-1-9 13:24:27 | 發自安卓客戶端 發帖際遇
啊,這……有點小復雜
| 發表于 2022-1-14 11:16:57 | 發自安卓客戶端 發帖際遇
超復雜
| 發表于 2022-1-17 03:19:18 | 發自安卓客戶端 發帖際遇
好棒!!!想學這個好久了
| 發表于 2022-1-24 21:06:04 | 發自安卓客戶端 發帖際遇
感謝分享
| 發表于 2022-2-17 02:43:33 | 發自安卓客戶端
感謝分享
| 發表于 2022-2-17 12:06:55 | 發自安卓客戶端 發帖際遇
感謝分享
返回版塊
12
尚未登錄
您需要登錄后才可以回帖 登錄 | 加入學院