java代碼加密 仿射密碼的介紹?
仿射密碼的介紹?仿射密碼的加解密算法為:C=EK(m)=(k1mk2)mod nm=DK(C)=K3(C-k2)mod n(其中(K3×K1)mod26=1)。仿射密碼可逆的條件是GCD(K1,n)=
仿射密碼的介紹?
仿射密碼的加解密算法為:C=EK(m)=(k1mk2)mod nm=DK(C)=K3(C-k2)mod n(其中(K3×K1)mod26=1)。仿射密碼可逆的條件是GCD(K1,n)=1。當K1=1時,仿射密碼變?yōu)榧臃艽a;當K2=0時,仿射密碼變?yōu)槌朔艽a。仿射密碼中密鑰空間的大小為nφ(n)。當n為26個字母且φ(n)=12時,仿射密碼的密鑰空間為12×26=312。
仿射密碼為何要求a與26互素?
單碼加密的另一種形式稱為仿射密碼。在仿射加密中,字母表中的字母被分配一個數(shù)字,如a=0,B=1,C=2,z=25。仿射加密的密鑰是0-25直接數(shù)字對。仿射加密和單碼加密沒有區(qū)別,因為每個明文字母只映射到一個密文字母。仿射密碼的加密算法是線性變換,即對任意明文字符x,對應的密文字符為,其中a,B∈z26,GCD(a,26)=1,函數(shù)E(x)稱為仿射加密函數(shù)。