初識(shí):RSA 算法(理解)

“對(duì)稱加密算法”模式:
甲方和乙方協(xié)商好一種規(guī)則,甲方用這套規(guī)則進(jìn)行加密俯萌。而乙方則用這套規(guī)則進(jìn)行解密果录。

這種算法模式很容易理解,例如電影咐熙、電視劇等可以常見的摩斯密碼弱恒,這種模式的缺點(diǎn)較為明顯的是只要懂這套規(guī)則的人都能輕松解密。

“RSA加密算法”模式就是為了解決這樣尷尬的局面而誕生的棋恼。

1976年返弹,美國(guó)計(jì)算機(jī)學(xué)家Whitfield Diffie 和 Martin Hellman提出了"Diffie-Hellman密鑰交換算法"锈玉,這種算法能在“不直接”傳遞秘鑰的情況下完成解密。

我們假設(shè)我們加密的內(nèi)容為 X义起;
原理舉例:

13 * 77 = 1001
1001 % 1000 = 1
1001 = 1 (mod 1000)
1001 * X = X (mod 1000)
(1001 * X) %1000 = X
[13 * X * 77] % 1000 = X
{[(13 * X) % 1000] * 77} % 1000 =X

這個(gè)時(shí)候拉背,我們?cè)偌僭O(shè)我們有一個(gè)數(shù)字 666 需要再“不直接”傳遞秘鑰的情況下完成加密和解密的動(dòng)作將會(huì)發(fā)生如下 <1> 過程:

甲方加密(秘鑰:13):
666 * 13 = 8 658;
8658 % 1000 = 658默终;

甲方傳遞(公鑰:658):
658

乙方解密(秘鑰:77):
658 * 77 = 50 666椅棺;
50666 % 1000 = 666;

RSA就是通過 類似 上述的方式齐蔽,在不直接傳遞秘鑰的情況下完成加密和解密的動(dòng)作两疚。

當(dāng)然臣嚣,這種算法在第一步是取的兩個(gè)數(shù)是有前提的擦盾,如果隨便取就會(huì)菩颖。枫夺。熄诡。

2 * 6 = 12
12 % 10 = 2
3 * X * 4 = 2 * X (mod 10);
{[(3 * X) % 10] * 4} % 10 =X

我們?nèi)?66試試:

3 * 666 = 1 998
1998 % 10 = 8
8 * 4 = 32
32 % 10 = 2
// WowI骜@逑摺奄毡!發(fā)生了什么

該算法的前提是中國(guó)剩余定理:
原理理解:

假設(shè)一個(gè)數(shù)X 鸦做,已知:
X % 7 = 6;
X % 5 = 3;

通過上面的條件我們能否知道X的值呢励烦?

X     ...     13     ...     20     ...     27     ...     34     ...     41     ...     48
%7            6               6              6              6              6              6     
%5            3               0              2              4              1              3

答案是否定的,
我們會(huì)發(fā)現(xiàn)13符合條件,48符合條件泼诱,后面是以 13+(5*7)n 為周期的循環(huán)坛掠,
也就是說對(duì)于上述的%操作并不能確定唯一的值與之對(duì)應(yīng)。

所以治筒,我們確定一個(gè)數(shù)還需要一個(gè)條件屉栓,那就是限定取值范圍。
我們可以發(fā)現(xiàn)(X%7 和 X%5)在 [0,57]的區(qū)間內(nèi)是不會(huì)重復(fù)的耸袜,
而上面的秘鑰2友多、6顯然不足以確定一個(gè)比 2
6 大的多的數(shù),
因此堤框,我們?cè)谶x擇加密的內(nèi)容時(shí)是需要限定內(nèi)容區(qū)間的域滥。

還要強(qiáng)調(diào)一點(diǎn)(中國(guó)剩余定理的前提條件),
這兩個(gè)數(shù)必須還是互質(zhì)關(guān)系(兩個(gè)正整數(shù)蜈抓,除了1以外启绰,沒有其他公因子)

比如說下面的情況是不成立的,

已知:
X % 4 = 1;
X % 2 = 1;
范圍:[ 0 , 8 ]
結(jié)果:1 和 5 均滿足條件沟使,不能確定唯一的數(shù)值

下面開始進(jìn)入正題

設(shè) :
P 和 Q 為兩個(gè)互不相同且差值較大的大素?cái)?shù)委可,
N = P * Q
D 和 E 為私鑰
T = ( P - 1)( Q - 1)
i : 是正整數(shù)變量 ( 1, 2, 3, 4, 5, ...)

先了解一下費(fèi)馬小定理的結(jié)論:
1、如果n是一個(gè)質(zhì)數(shù)腊嗡,對(duì)于任意的a有an - a = n的倍數(shù)
那么着倾,由
an - a = n的倍數(shù) ===>
an - a = 0 ( mod n ) =>
an % n = a % n
另一種說法是拾酝,對(duì)于任意的 a,隨著 i 的增加屈呕,ai % n 呈長(zhǎng)度為 n - 1 的周期性微宝;
2、給出兩個(gè)質(zhì)數(shù) P 和 Q虎眨,其乘積為 N蟋软,
那么隨著 i 的增加,Xi % N 呈現(xiàn)周期為 ( P - 1)( Q - 1) 的循環(huán)嗽桩。

由上述結(jié)論可得:
X % N = X iT+1 % N

接著我們用私鑰 D 和 E 等價(jià)于上式
X % N = XDE % N
( 即 DE % T = 1)

而且岳守,因?yàn)?X < N,則有:
X = XDE % N

那么我們可以得到加密和解密的公式如下:
X = ( XD % N )E % N

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市碌冶,隨后出現(xiàn)的幾起案子湿痢,更是在濱河造成了極大的恐慌,老刑警劉巖扑庞,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件譬重,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡罐氨,警方通過查閱死者的電腦和手機(jī)臀规,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來栅隐,“玉大人塔嬉,你說我怎么就攤上這事∽馇模” “怎么了谨究?”我有些...
    開封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)泣棋。 經(jīng)常有香客問我胶哲,道長(zhǎng),這世上最難降的妖魔是什么潭辈? 我笑而不...
    開封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任纪吮,我火速辦了婚禮,結(jié)果婚禮上萎胰,老公的妹妹穿的比我還像新娘。我一直安慰自己棚辽,他們只是感情好技竟,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著屈藐,像睡著了一般榔组。 火紅的嫁衣襯著肌膚如雪熙尉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天搓扯,我揣著相機(jī)與錄音检痰,去河邊找鬼。 笑死锨推,一個(gè)胖子當(dāng)著我的面吹牛铅歼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播换可,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼椎椰,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了沾鳄?” 一聲冷哼從身側(cè)響起慨飘,我...
    開封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎译荞,沒想到半個(gè)月后瓤的,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡吞歼,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年圈膏,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浆熔。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡本辐,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出医增,到底是詐尸還是另有隱情慎皱,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布叶骨,位于F島的核電站茫多,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏忽刽。R本人自食惡果不足惜天揖,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望跪帝。 院中可真熱鬧今膊,春花似錦、人聲如沸伞剑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至恕刘,卻和暖如春缤谎,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背褐着。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工坷澡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人含蓉。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓频敛,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親谴餐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子姻政,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 姓名:李浩然 學(xué)號(hào):16030410020 轉(zhuǎn)自:http://blog.csdn.net/Dreaming_My...
    洛花無閱讀 2,626評(píng)論 0 1
  • 姓名:于川皓 學(xué)號(hào):16140210089 轉(zhuǎn)載自:https://baike.baidu.com/item/RS...
    道無涯_cc76閱讀 2,547評(píng)論 0 1
  • 公鑰密碼系統(tǒng)及RSA公鑰算法 本文簡(jiǎn)單介紹了公開密鑰密碼系統(tǒng)的思想和特點(diǎn),并具體介紹了RSA算法的理論基礎(chǔ)岂嗓,工作原...
    火狼o閱讀 4,286評(píng)論 2 15
  • 終端之間信息傳遞安全性的保證始終是業(yè)務(wù)的剛性需求汁展。不同的加密算法針對(duì)不同的業(yè)務(wù)需求,因?yàn)楣臼墙鹑诠拘再|(zhì)厌殉,又不是...
    語歌閱讀 2,810評(píng)論 0 5
  • 少年自有少年狂公罕, 藐挫折器紧, 笑風(fēng)浪。 磨劍十載楼眷, 今朝亮鋒芒铲汪。 揮斥方遒斗志昂, 好兒郎罐柳, 當(dāng)自強(qiáng)掌腰。 披荊斬棘神飛...
    古曦閱讀 741評(píng)論 14 14