当前位置 - 股票行情交易網 - 股票行情 - 仿射密碼的解密舉例

仿射密碼的解密舉例

本例是按照上例來解密的,也就是用仿射密碼解密密文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:

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;

( 用計算器求 (-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。