❶ 1.已知,仿射密碼的計算公式為f(a)=(5a+k) mod n,其中k=7,n=26,明文a=helpme,求密文
26個字母,A是0,B是1,C是2...........Z是25
helpme:7,4,11,15,12,4
(5*7+7)mod26=16
(5*4+7)mod26=1
(5*11+7)mod26=10
........
(5*4+7)mod26=1
得16,1,10,4,15,1
對應密文:QBKEPB
❷ 仿射密碼的加密舉例
設密鑰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。
❸ 用仿射密碼解謎下列密文
碼和乘法密碼聯合起來,就得到了所謂的仿射密碼(affine cipher)—— 兩種密碼與一對密鑰的組合。乘法密碼使用第一個密鑰,加法密碼使用第二個密鑰。如圖3-11所示,仿射密碼其實就是被先後使用的兩種密碼。我們本來可以提出一種有關加密和解密的復雜運算,如C = (P ′ k1 + k2) mod 26和P = ((C - k2) ′ k1-1) mod 26。然而,我們用臨時結果(T)表示兩種單獨的運算,以表明無論什麼時候使用密碼組合,均需確保在行的另一端要有一個逆,該逆在加密和解密過程中使用的順序是相反的。如果加法是加密過程中的最終運算,那麼減法就是解密過程中的初始運算。
在仿射密碼中,明文P和密文C的關系是
圖3-11 仿射密碼
例3.9
❹ 仿射密碼的解密舉例
本例是按照上例來解密的,也就是用仿射密碼解密密文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。
❺ 已知仿射密碼的加密變換是:c=11m+2mod26,求秘文VMWZ對應的秘文
摘要 @麗平 .已知仿射加密變換為c=11m+2(mod26),試對密文VMWZ解密。
❻ 仿射密碼的介紹
加法密碼和乘法密碼結合就構成仿射密碼,仿射密碼的加密和解密演算法是: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。
❼ 下面密文是用模26下的仿射密碼加密的gzyyf,明文以he開頭,試解密消息
hellk.仿射密碼公式是:密文=明文剩於密鑰1加密鑰2然後和與26取余,即e(x)=(ax+b)mod26. 從提示he開頭,代入即g=(ha+b)mon26,z=(ea+b)mod26,可求得a=11. b=7.,從而得出其它結果。註:公式中,a表示密鑰1,且與26互質,即取值是1.3.5.7...23.25共13個,b是密鑰2,取值范圍是0-25.0-25對應英文字母a-z. 所以h=7,e=4,其它類推。還有,結果不應該是hello? 算出來是hellk.
❽ 已知公鑰求私鑰
mod 是一種整數之間的相互運算,就是通常所說的取余數運算.例如:
2187mod20=7就表示2187除以20,余數是7.更常見的表示方法是2187=7(mod 20)
注意這里的等號通常都寫成恆等號(就是三橫,我這里打不出恆等號).相應地讀作2187與7關於模(即mod)20同餘.關於同餘有一套比較完整的理論,這是數論里的內容,本題只需要一些比較基礎的數論知識.
一般來講,公開密鑰系統的公鑰都是取兩個大素數.對這兩個大素數進行一系列的運算,詳細的內容可以參考網路.本題里由於d與n,e與n互素,所以也可算.
本題就是對消息m=3的加密.利用公鑰以及加密方法即得 密文=m^e對n=20取模.
結果就是3^7=2187=7(mod20).反過來,現在得到了密文7,那麼利用解密密鑰
d=3就知道 原文m=(密文)^3=7^3=343=3(mod 20),也就是原文是3.
❾ 若已知某仿射密碼加密明文字元為e、h的對應密文字元為f、w,試求仿射密碼的密鑰K
1、密鑰是K=bp,設密鑰k1,k2.f=(e+k1)mod26,w=(h+k2)mod26, e=4,f=5,h=7,w=22,代入後可以解。按字母順序,a-z相當於0-25。
2、密鑰為xr。計算公式f=(e*k1+k2)mod26,w=(e*k1+k2)mod,k1取值范圍是0-25,且與26互質的數(即1,3,5,7,9...25,共13個,k2取值范圍0-25。
❿ 仿射密碼求解密
統計密文頻率依次是R,DHKVE,FSABLMSV,XNOPY,CGIJQTWZ
英語字母頻率分布是E,TAOINSHR,DL,CUMWFGYPB,VKJXQZ
取密文R對應明文E,密文D對應明文I(隨機取測試用本題剛好是這兩個)
解出密鑰 j=i×3+5 mod 26
對應密文明文對:
密文:ABCDEFGHIJKLMNOPQRSTUVWXYZ
明文:HQZIRAJSBKTCLUDMVENWFOXGPY
密文翻譯得到 Algorithms are quite general definitions of arithmetic processes.
演算法是算術過程相當一般定義