1.RSA密鑰生成算法
密鑰生成算法為用戶生成加解密算法中使用的公私密鑰對(duì),分為以下幾個(gè)步驟:
? ? ? ? (1)選取兩個(gè)安全大素?cái)?shù)p和q(“大”指其長(zhǎng)度要足夠,目前推薦長(zhǎng)度至少1024比特長(zhǎng));
? ? ? ? (2)計(jì)算乘積n=p*q,(n)=(p-1)(q-1),其中(n)為n的歐拉函數(shù);
? ? ? ? (3)隨機(jī)選取整數(shù)e(1<e<(n))作為公鑰,要求滿足gcd(e,(n))=1,即e與(n)互素;
? ? ? ? (4)用Euclid擴(kuò)展算法計(jì)算私鑰d,以滿足d*e≡1(mod(n)),即d≡?(mod(n)),則e和n是公鑰,d是私鑰;
? ? ? ? 注意,加解密算法中兩個(gè)素?cái)?shù)p和q不再需要,可銷毀但絕不能泄露。
例如:假設(shè)p=13,q=17;
計(jì)算? ? ? ? n=p*q=13*17=221,則(n)=(p-1)(q-1)=(13-1)*(17-1)=192.
? ? ? ? ? ? ? ? 選取公鑰e=11(一般為素?cái)?shù)),滿足1<e<(n),且滿足gcd(e,(n))=1.通過(guò)Euclid擴(kuò)展算法求得滿足公式d*e≡1(mod192)的d=35.
? ? ? ? ? ? ? ? 所以,得到公鑰(e,n)為(11,221),私鑰d為35.?
2.RSA加密算法
1)加密過(guò)程文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-449983.html
加密時(shí)首先將明文比特串分組,使得每一個(gè)分組對(duì)應(yīng)的十進(jìn)制數(shù)小于n,即分組長(zhǎng)度小于文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-449983.html
到了這里,關(guān)于RSA公鑰加密體制的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!