RSA加密

場(chǎng)景

人物:臥底余罪绿聘、警長(zhǎng)老許、毒梟老傅
事件:老許安排余罪潛伏到老傅的身邊

RSA是什么徙缴?

RSA是一種非對(duì)稱加密算法,是目前最好的加密方法嘁信。非對(duì)稱加密又叫公鑰加密娜搂,也就是說(shuō)成對(duì)的密鑰,其中一個(gè)是對(duì)外公開的吱抚,所有人都可以獲得百宇,稱為公鑰,而與之相對(duì)應(yīng)的稱為私鑰秘豹,只有這對(duì)密鑰的生成者才能擁有携御。這是警局成立初期一直在延用的一個(gè)加密算法。

RSA能干啥

余罪發(fā)現(xiàn)老傅近期有一次毒品販賣活動(dòng)既绕,需要將信息匯報(bào)給老許啄刹,讓其安排抓捕行動(dòng)。為了防止信息被竊聽凄贩,需要使用RSA對(duì)信息進(jìn)行加密誓军。

RSA加密規(guī)則

在臥底行動(dòng)以前,警局需要制作本次行動(dòng)的RSA秘鑰疲扎,一個(gè)公鑰昵时,一個(gè)私鑰。根據(jù)RSA的規(guī)范椒丧,分以下幾步進(jìn)行生成

  1. 隨機(jī)選擇兩個(gè)不相等的質(zhì)數(shù)p和q壹甥。 老許選了 17 和 11,既p=17, q=11壶熏;
  2. 計(jì)算兩個(gè)數(shù)的乘積n句柠。既n = 17x11 = 187;
  3. 計(jì)算n的歐拉函數(shù)φ(n)棒假。φ(n) = (p-1)x(q-1) = (17-1)x(11-1) = 160溯职;
  4. 選擇一個(gè)整數(shù)e,條件是1< e < φ(n)帽哑,且e與φ(n) 互質(zhì)谜酒。老許就在1到160之間選擇了37;
  5. 到此公鑰已經(jīng)生成祝拯,既(n, e) = (187, 37)甚带。下面生成私鑰;
  6. 計(jì)算e對(duì)于φ(n)的模反元素d(模反元素存在佳头,當(dāng)且僅當(dāng)e與φ(n)互質(zhì))鹰贵。根據(jù)模反元素的計(jì)算公式,既解下面的二元一次方程康嘉,ed+φ(n) n=1碉输,既。
    37d+160n = 1;
我是通過(guò)下面的python腳步計(jì)算出的亭珍,方法比較局限敷钾。如果有更好的解二元一次方程的方法歡迎留言。
大概思路:
第一步:37d+160n = 1肄梨,既37d-1=-160n阻荒。
第二步:假設(shè)d為正整數(shù),d落在[0, 100]區(qū)間內(nèi)众羡。
第三步:將區(qū)間內(nèi)的每一個(gè)整數(shù)依次賦予d侨赡,判斷37乘d 加1 或 減1 余160 是否為0。如果余0粱侣,根據(jù)當(dāng)前d就可以求出一組[d, n]的整數(shù)解羊壹。
第四步:如果[0, 100]區(qū)間內(nèi)沒(méi)有找到結(jié)果,可以擴(kuò)大區(qū)間齐婴,重復(fù)第三步油猫。
def jisuan(a, b):
    d=0
    while(d<100):
       d+=1
        if((a*i-1)%b==0 or (a*i+1)%b==0):
            print d
  1. 二元一次方程可能會(huì)有很多個(gè)整數(shù)解,這里選擇了求出的第一組整數(shù)解(d, n) = (13, -3)
  2. 至此公鑰和私鑰都已生成柠偶。公鑰(n, e)= (187, 37)情妖。私鑰(n, d) = (187,13)
  3. 私鑰會(huì)留在老許的手里诱担,其他人誰(shuí)又不知道鲫售。公鑰會(huì)給到余罪用于發(fā)送情報(bào)

RSA怎么用

余罪要向老許發(fā)送情報(bào)k,首先要用公鑰對(duì)k進(jìn)行加密该肴。這里需要注意情竹,k必須是整數(shù)(字符串可以取ascii值、unicode值)匀哄,且k必須小于n秦效。

所謂"加密",也就是根據(jù)以下公式計(jì)算出密文
密文= k 的 e次方 模 n

根據(jù)計(jì)算公式涎嚼,這是python的實(shí)現(xiàn)

miwen=pow(k, e, n)

最后將密文發(fā)送給老許阱州,老許收到后使用私鑰進(jìn)行解密,操作和加密類似
明文= miwen 的 e次方 模 n

根據(jù)計(jì)算公式法梯,這是python的實(shí)現(xiàn)

k=pow(miwen, d, n)

可以看出如果沒(méi)有私鑰d 苔货,即使得到了miwen犀概,也是無(wú)法解析的。

公鑰(n,e) 只能加密小于n的整數(shù)m夜惭,那么如果要加密大于n的整數(shù)姻灶,該怎么辦?有兩種解決方法:一種是把長(zhǎng)信息分割成若干段短消息诈茧,每段分別加密产喉;另一種是先選擇一種"對(duì)稱性加密算法"(比如DES),用這種算法的密鑰加密信息敢会,再用RSA公鑰加密DES密鑰曾沈, 這里推薦第二種,網(wǎng)易云音樂(lè)也是使用的第二種方案鸥昏。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末塞俱,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子吏垮,更是在濱河造成了極大的恐慌敛腌,老刑警劉巖强窖,帶你破解...
    沈念sama閱讀 217,084評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件奕枢,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡予颤,警方通過(guò)查閱死者的電腦和手機(jī)旅敷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門生棍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人媳谁,你說(shuō)我怎么就攤上這事涂滴。” “怎么了晴音?”我有些...
    開封第一講書人閱讀 163,450評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵柔纵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我锤躁,道長(zhǎng)搁料,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,322評(píng)論 1 293
  • 正文 為了忘掉前任系羞,我火速辦了婚禮郭计,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘椒振。我一直安慰自己昭伸,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,370評(píng)論 6 390
  • 文/花漫 我一把揭開白布澎迎。 她就那樣靜靜地躺著庐杨,像睡著了一般选调。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上灵份,一...
    開封第一講書人閱讀 51,274評(píng)論 1 300
  • 那天仁堪,我揣著相機(jī)與錄音,去河邊找鬼各吨。 笑死,一個(gè)胖子當(dāng)著我的面吹牛袁铐,可吹牛的內(nèi)容都是我干的揭蜒。 我是一名探鬼主播,決...
    沈念sama閱讀 40,126評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼剔桨,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼屉更!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起洒缀,我...
    開封第一講書人閱讀 38,980評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤瑰谜,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后树绩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體萨脑,經(jīng)...
    沈念sama閱讀 45,414評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,599評(píng)論 3 334
  • 正文 我和宋清朗相戀三年饺饭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了渤早。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,773評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡瘫俊,死狀恐怖鹊杖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情扛芽,我是刑警寧澤骂蓖,帶...
    沈念sama閱讀 35,470評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站川尖,受9級(jí)特大地震影響登下,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜叮喳,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,080評(píng)論 3 327
  • 文/蒙蒙 一庐船、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧嘲更,春花似錦筐钟、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)李破。三九已至,卻和暖如春壹将,著一層夾襖步出監(jiān)牢的瞬間嗤攻,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工诽俯, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留妇菱,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,865評(píng)論 2 370
  • 正文 我出身青樓暴区,卻偏偏與公主長(zhǎng)得像闯团,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子仙粱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,689評(píng)論 2 354

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

  • 這是去年12月在CSDN寫的一篇加密算法文章 現(xiàn)在決定在簡(jiǎn)書寫博客 移植過(guò)來(lái)方便復(fù)習(xí)再理解房交。 最近算法課老師要求小...
    icecrea閱讀 1,298評(píng)論 1 1
  • 生成密鑰隨機(jī)選擇兩個(gè)不相等的質(zhì)數(shù)p和q。例:61和53伐割。(實(shí)際應(yīng)用中候味,這兩個(gè)質(zhì)數(shù)越大,就越難破解隔心。)計(jì)算p和q的乘...
    未知代碼閱讀 538評(píng)論 0 1
  • 原文 在此本來(lái)RSA跟區(qū)塊鏈并無(wú)聯(lián)系, 但是非對(duì)稱加密以及私鑰/公鑰的理解相似, 因此理解RSA對(duì)與理解ECC有相...
    mrzzcn閱讀 559評(píng)論 0 2
  • RSA是第一個(gè)比較完善的公開密鑰算法白群,它既能用于加密,也能用于數(shù)字簽名硬霍。RSA以它的三個(gè)發(fā)明者Ron Rivest...
    暗物質(zhì)閱讀 1,700評(píng)論 0 0
  • 秋風(fēng)清川抡,秋月明,落葉聚還散,寒鴉棲復(fù)驚。相親相見知何日须尚,此時(shí)此夜難為情崖堤;入我相思門,知我相思苦耐床,長(zhǎng)相思兮長(zhǎng)相憶密幔,短...
    穆筱北閱讀 123評(píng)論 0 1