adigitalcomputerisamachinethatcansolveproblemsforpeoplebycarryingoutinstructions
giventoitx
以上這一段是RSA換位密碼中的解密過(guò)程,是加密過(guò)程的逆過(guò)程,如果你還沒(méi)有看懂加密,那么當(dāng)然更加看不懂解密。在加密的時(shí)候注意一個(gè)細(xì)節(jié)哦,當(dāng)明文按密鑰長(zhǎng)度分解后,最后一行沒(méi)有滿的話,需要用abcdef字符填充哦。這一點(diǎn)往往被我們忽略了。書本雖然沒(méi)有明確的提出來(lái),但事實(shí)上是如此填充的。
RSA
在RSA算法中,為什么7e=1(mod360) e=103
書中沒(méi)有給出m( mod n)的具體定義,我是這么認(rèn)為的:
對(duì)于式子1(mod360)應(yīng)該是對(duì)360取模后余數(shù)為1的數(shù),如:361,721……
而由等式7e=1(mod360)得出的e是取滿足e為整數(shù)且為最小的值,于是7e=721,e=103
34.(1)RSA算法的原理是什么?
(2)RSA算法的優(yōu)缺點(diǎn)是什么?
(1)在公共密鑰密碼體制中,最有名的一種是RSA算法。RSA算法的砂理是:
用戶選擇兩個(gè)足夠大的秘密電碼素?cái)?shù)p和q;
計(jì)算 n = p * q和 z = (p-1) * (q-1);
選擇一個(gè)與z互質(zhì)的數(shù),令其為d;
找到一個(gè)e使?jié)M足 e * d = 1 (mod z);
若將明文劃分成一個(gè)長(zhǎng)度為P的數(shù)據(jù)塊,且有 0≤P n .用P,C分別表示明文,密文,則以下兩式可用于加密和解密:
對(duì)于這種體制,只有(e,n)是出現(xiàn)在公開手冊(cè)上的公開密鑰(即PK)。(d,n)則是需要用戶保密的私人密鑰(即SK)。RSA算法的保密性在于難以對(duì)大數(shù)提取因子,因此當(dāng)n足夠大時(shí),目前情況下對(duì)n進(jìn)行因數(shù)分解是無(wú)法實(shí)現(xiàn)的。
(2)雖然RSA算法具有安全方便的特點(diǎn),但它的運(yùn)行速度太慢,因而通常只有來(lái)進(jìn)行用戶認(rèn)證,數(shù)字簽名或發(fā)送一次性的密鑰,數(shù)據(jù)的加密仍使用秘密密鑰算法。
33.已知RSA公開密鑰密碼體制公共密鑰為(3,33)
(1)若明文為M=10,求密文C;
(2)若截獲的密文C=9,求明文M.
8、試破譯下面的換位密碼。明文可能選自一本計(jì)算機(jī)科學(xué)普作,因?yàn)槲闹谐霈F(xiàn)了computer一詞。明文中無(wú)空白、無(wú)標(biāo)點(diǎn)符號(hào),全部由字母組成。密文是連續(xù)的字符串,為了閱讀方便,我們將它寫成五個(gè)字母一組。
密文:aauan cvlre rurnn dltme aeepb ytust iceat npmey iicgo gorch srsoc nntii imiha oofpa gsivt tpsit lbolr otoex
明文為:a digital computer is a machine that can solve problems for people by carrying out instructions given to it x
密匙長(zhǎng)度為:6
11、已知RSA公開密匙體制的公開密匙e=7,n=55,明文M=10.試求其密文C.通過(guò)求解p、q和d可破譯這種密碼體制。若截獲的密文C=35,試求經(jīng)破譯得到的明文M.
C=Me(mod n)=107(mod 55)=10
n=p*q,且p和q是素?cái)?shù),則p=5,q=11,z=(p-1)*(q-1)=40
e*d=1(mod z) 即7d=1(mod 40),且d與z互質(zhì),則d=23
若C=35,則M=Cd(mod n)=3523(mod 55)=30
12、在公開密匙密碼體制中,利用RSA算法作下列運(yùn)算:
1)如果p=7,q=11.試列出可選用的5個(gè)d值;
2)如果p=13,q=31,d=7,試求e值;
3)已知p=5,q=11,d=27,試求e值;并對(duì)明文abcdefghijk加密。設(shè)a=01,b=02,c=03,……,z=26.
1) z=(p-1)*(q-1)=60,且d與z互質(zhì),則d可以是7,11,13,17,19.
2)z=(p-1)*(q-1)=360,且e*d=1(mod z),即 e*7=1(mod 360),則e=103.
3)z=(p-1)*(q-1)=40,且e*d=1(mod z),即 e*27=1(mod 40),則e=3.
n=p*q=55,則公開密匙為(3,55)。
明文a,即a=01,密文C=P^e (mod n) =1^3 (mod 55)=1;
明文b,即b=02,密文C=P^e (mod n) =2^3 (mod 55)=8;
明文c,即c=03,密文C=P^e (mod n) =3^3 (mod 55)=27;
明文d,即d=04,密文C=P^e (mod n) =4^3 (mod 55)=9;
明文e,即e=05,密文C=P^e (mod n)=5^3 (mod 55)=15;
明文f,即f=06,密文C=P^e (mod n)=6^3 (mod 55)=51;
明文g,即g=07,密文C=P^e (mod n)=7^3 (mod 55)=13;
明文h,即h=08,密文C=P^e (mod n)=8^3 (mod 55)=17;
明文i,即i=09,密文C=P^e (mod n)=9^3 (mod 55)=14;
明文j,即j=10,密文C=P^e (mod n)=10^3 (mod 55)=10;
明文k,即k=11,密文C=P^e (mod n)=11^3 (mod 55)=11;
所以明文abcdefghijk加密后的密文是1827915511317141011
更多計(jì)算題,請(qǐng)看課后題及試卷專欄里面的計(jì)算。