最近被一組數(shù)據(jù)刷屏了,“182VS13”。 我們先不去討論13在許多人眼中的神學(xué)意義,就這兩個(gè)數(shù)字而言,我想到了素?cái)?shù)與合數(shù),一個(gè)小學(xué)就學(xué)過,到現(xiàn)在也不知道干嘛用的概念。 記得有一期《最強(qiáng)大腦》中,專門有關(guān)于質(zhì)數(shù)的挑戰(zhàn)。 100以內(nèi)素?cái)?shù)(標(biāo)黃) 我們知道,所謂素?cái)?shù),就是俗稱的質(zhì)數(shù),只能被1和它本身整除的自然數(shù);合數(shù),除了素?cái)?shù)和1的自然數(shù)都是合數(shù)。顯然,素?cái)?shù)與素?cái)?shù)的乘積一定是合數(shù)。 一直以來(lái),素?cái)?shù)的研究被認(rèn)為只有純數(shù)學(xué)上的意義,并沒有實(shí)際價(jià)值。直到上個(gè)世紀(jì)70年代,麻省理工學(xué)院(MIT)的三位數(shù)學(xué)家李維斯特、薩莫爾和阿德曼共同提出了一種公開密鑰加密算法,也就是后來(lái)被廣泛應(yīng)用于銀行加密的RSA算法(RSA就是他們?nèi)诵帐祥_頭字母拼在一起組成的),至此才揭開了素?cái)?shù)應(yīng)用的神秘面紗。 素?cái)?shù)是如何用于加密算法的? 這個(gè)問題就要涉及到大數(shù)的質(zhì)因數(shù)分解。如果把一個(gè)由較小的兩個(gè)質(zhì)數(shù)相乘得到一個(gè)合數(shù),將其分解成兩個(gè)質(zhì)數(shù)(除了1和自身的組合之外)很容易,例如,51的兩個(gè)質(zhì)因數(shù)為3和17。然而,如果兩個(gè)很大的質(zhì)數(shù)相乘之后得到一個(gè)非常大的合數(shù),想要逆過來(lái)把該數(shù)分解成兩個(gè)質(zhì)數(shù)非常困難。例如,511883,分解成兩個(gè)質(zhì)因數(shù)之后為557和919;2538952327(超過25億),分解成兩個(gè)質(zhì)因數(shù)之后為29179和87013,這個(gè)難度明顯要比上一個(gè)數(shù)大得多。 目前已知最大的質(zhì)數(shù)是,這個(gè)數(shù)擁有超過2486萬(wàn)位。即便是超級(jí)計(jì)算機(jī),也很難有效對(duì)兩個(gè)質(zhì)數(shù)相乘得到的合數(shù)進(jìn)行質(zhì)因數(shù)分解,所以這樣的原理可以用于加密算法。 RSA加密算法是如何工作的? RSA公開密鑰密碼體制是有兩把密鑰,一把是保密密鑰,由用戶保存;另一把為公開密鑰,可對(duì)外公開,甚至可在網(wǎng)絡(luò)服務(wù)器中注冊(cè)。為提高保密強(qiáng)度,RSA密鑰至少為500位長(zhǎng)。這就使加密的計(jì)算量很大。簡(jiǎn)單點(diǎn)說,RSA的原理是:根據(jù)數(shù)論,尋求兩個(gè)大素?cái)?shù)比較簡(jiǎn)單,而將它們的乘積進(jìn)行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰。 RSA是被研究得最廣泛的公鑰算法,從提出到現(xiàn)在已近三十年,經(jīng)歷了各種攻擊的考驗(yàn),逐漸為人們接受,普遍認(rèn)為是目前最優(yōu)秀的公鑰方案之一。1983年麻省理工學(xué)院在美國(guó)為RSA算法申請(qǐng)了專利。 很多時(shí)候,我們抱怨數(shù)學(xué)學(xué)習(xí)毫無(wú)“實(shí)戰(zhàn)意義”,殊不知正是因?yàn)閷?duì)這些基礎(chǔ)科學(xué)的深入研究,才讓我們享有今天的科技與狠活! |
|
來(lái)自: 茶香飄萬(wàn)里 > 《數(shù)學(xué)樂園》