麻豆国内精品欧美在线-麻豆国内精品久久久久久-麻豆国产在线观看一区二区-麻豆国产在线观看免费-麻豆国产原创-麻豆国产一区二区在线观看

密碼學-比特幣的數學基礎區塊鏈

鏈向財經 2018-10-05 19:02
分享到:
導讀

我們要保證的是,即使數據被竊取了,竊取者也無法使用。而要做到這一點,只要雙方事先約定一套加密解密的方法,以密文的方式傳輸信息,就可以有效地防止信息泄露。

一、密碼學的本質
 

很顯然,之所以要有密碼,是想對信息保密,而之所以要保密,是出于政治、軍事、經濟以及個人的利益而著想。那么可想而知,一旦密碼被破譯,將產生極為嚴重的后果。
 

所以,密碼學的思考方向總結來說有兩點:一個是要有一套加密解密的規則(或者數學算法),二是研究如何在現有規則(算法)的基礎上確保所傳遞信息安全的策略。通俗點講,我們傳遞信息時主要是要防備信息的泄露。那么我們首先想到的是防止消息在傳輸過程中被第三方截獲,比如說話被偷聽、郵件被偷看、網絡數據被竊取。而事實上,在現代技術極大透明的情況下,不被竊取是很難做到的,所以,我們要保證的是,即使數據被竊取了,竊取者也無法使用。而要做到這一點,只要雙方事先約定一套加密解密的方法,以密文的方式傳輸信息,就可以有效地防止信息泄露。

二、什么是哈希算法
 

在早期,傳統加密方法是不能公開的,因為知道了加密方法,只需要反向計算就能解密。那么,有沒有一種加密方法,使得即使知道了加密方法,也不能恢復出原文呢?隨著技術的進步,尤其是數學理論的擴展,密碼學也得以發展,現在我們只需要在加密過程中加入一些不可逆的運算就可以達到這個目的。我們來舉個例子,Bob想向Alice遞一些小秘密,但為了防止Bob說謊,我們可以這樣做:
 

1.Bob先設想一個數,并加上123456。
 

2.把結果平方,取第3~10位,組成一個8位數。
 

3.再用這個數除以456789求余數,然后把這個結果告訴Alice。
 

4.Alice猜測Bob設想的是奇數還是偶數。
 

5.Bob告訴Alice原始數字,Alice按照上面的過程再計算一遍,看結果是否和Bob給的結果一致。
 

我們假設Bob設定的是1234,按照上面的過程依次得到:
 

1234 123456=124690
 

124690×124690=15547596100
 

54759610mod456789=401719(Mod表示除法求余數)
 

Alice拿到的結果是401719,這樣既可以驗證Bob有沒有撒謊,同時Alice又很難根據401719反向算出123456。這樣也不能絕對保證Bob不作弊,但如果Bob想作弊,他就必須事先找到一奇一偶兩個數,它們按照上面的運算能得到一樣的結果。這個難度取決于上面算法的難度。
 

而在密碼學中,這種會丟掉一部分信息的加密方式被稱為“單向加密”,也叫作哈希算法。
 

一個可靠的哈希算法至少需要滿足下面幾個條件:
 

1.對于給定的數據M,很容易算出哈希值X=F(M);
 

2.根據X很難算出M;
 

3.很難找到M和N令F(M)=F(N)。
 

目前在互聯網世界中,被認為安全且被廣泛使用的哈希算法包括MD5、SHA-256等。哈希算法的結果長度都是固定的,MD5的結果長度為32個字符,SHA-256則達到64個字符,所以SHA-256看起來更安全一些,更難找到能算出相同結果的M和N。比如“1234”使用MD5算法計算的結果是81DC9BDB52D04DC20036DBD8313ED055”,而用SHA-256算法計算出的結果是“03AC674216F3E15C761EE1A5E255F067953623C8B388B4459E13F978D7C846F4”。
 

然而,這種單向加密算法并不能用來進行普通的信息傳輸,更多是用來進行傳輸結果的準確性驗證。很多下載網站都提供了下載文件的原始MD5值供校驗,以防止文件被病毒修改。

三、非對稱加密
 

現在我們來看一下在真正要進行信息傳輸的情況下應該怎么辦。同樣假設Alice和Bob要通過互聯網傳輸一份絕密情報,那么,如何阻止第三方在網絡上截獲信息呢?對于我們普通大眾來說,一般是使用如WinRAR等工具對文件進行加密壓縮,然后通過電子郵件或者QQ把加密的文件發過去,同時,通過發短信或者打電話把解壓密碼告訴對方。但是,若是重大的商業情報或者國家的絕密情報,這種做法很顯然非常容易被竊取并破解。那么怎么辦呢?這里我們有兩種思路可以嘗試解決:
 

1.密碼學世界有一個柯克霍夫原則:即使密碼系統的任何細節已為人熟知,只要密鑰(key)未泄露,它也應是安全的。無論是在戰爭時期還是和平時期,都不能把保密的希望寄托于系統或算法的秘密性。機械可以拆解,軟件可以反編譯。密碼系統的所有細節總會被有心人一一拆解。這個時候,如果系統符合柯克霍夫原則,那么即使對手拆解了系統但不知道密鑰,他也沒有辦法破譯加密的信息。滿足這種嚴苛條件的密碼系統才是安全的。
 

2.要是有一種加密系統,加密和解密使用不同的密碼,假設有2個密碼A和B,使用A對數據M進行加密得到加密數據X=F(A,M)。但是,知道A和X無法解密出M,必須用另一個密碼B使得數據還原M=F(B,X)。Alice只需公布密碼A,Bob使用公開渠道拿到的A對情報進行加密,再通過任意方式發給Alice進行解密,這樣一來,即使所有的通信被監聽,對手也不可能拿到情報。
 

如果使用我們設想的這些神奇加密算法,似乎問題就可以迎刃而解了,但問題是,這樣的技術存在嗎?聽上去似乎并不可能,因為從直覺上判斷,知道了加密方法就一定知道解密方法,只需要反過來計算就可以了。加密方法和解密方法是否可能不對稱?有可能!

四、數學小魔術的秘密
 

我們來看一個小時候經常在《趣味數學》這類書里看到的數學小魔術:讓對方任意想一個三位數,并把這個數和91相乘,然后說出乘積的最后三位數,就可以猜出對方想的是什么數字。比如對方想的是123,那么對方就計算出123×91=11193,并把結果的末三位193告訴我。看起來,這么做似乎損失了不少信息,我可能沒法反推出原來的數。不過,我仍然有辦法:只需要把對方告訴我的結果乘以11,乘積的末三位就是對方剛開始想的數字了。可以驗證一下,193×11=2123,末三位正是對方所想的秘密數字!其實道理很簡單,91乘以11等于1001,而任何一個三位數乘以1001后,末三位顯然都不變(例如123乘以1001就等于123123)。先讓對方用他所想的數字乘以91,假設乘積為X;我再在X的基礎上乘以11,其結果相當于我倆合作把原數乘以了1001,末三位自然就變了回去。X乘以11后的末三位是什么只與X的末三位有關,因此,對方只需要告訴我X的末三位就行了,這并不會丟失信息。知道原理后,我們可以構造一個定義域和值域更大的加密解密系統。比如,任意一個數字乘以400000001后,末八位都不變,而400000001=19801×20201,于是你乘以19801,我乘以20201,一個加密解密不對稱的系統就構造好了。我們甚至還可以構造一個更大的系統:
4000000000000000000000000000001=1199481995446957×3334772856269093,這樣我們就成功構造了一個30位的加密系統。這是一件非常酷的事情,任何人都可以按照這個方法加密一個數字,但是只有自己才知道怎么把所得的密文變回去。
 

但如果僅僅按照上面的思路,如果對方知道原理,知道我要構造出帶很多0的數,根據19801和8位算法這兩個條件其實可以比較容易地窮舉出400000001這個目標值。要解決這個問題,我們來看看真實世界是怎么處理的。

五、RSA算法與橢圓曲線算法
 

直到1976年以前,所有的加密方法都是同一種模式:
 

1.甲方選擇某一種加密規則,對信息進行加密;
 

2.乙方使用同一種規則,對信息進行解密。
 

由于加密和解密使用同一種規則(簡稱“密鑰”),這被稱為“對稱加密算法”。這種加密模式有一個最大的弱點:甲方必須把加密規則告訴乙方,否則無法解密。這樣一來,保存和傳遞密鑰就成了最讓人頭疼的問題。尤其是人數多了之后,每兩個人都要互相商量一個密鑰,復雜性大大提高,而傳遞密鑰則帶來更高的安全風險。
 

直到1977年,李維斯特、沙米爾和艾德曼設計了一種算法,可以實現非對稱加密。這種算法用他們三個人的名字命名,叫作RSA算法。直到現在,RSA算法一直是應用最廣泛的非對稱加密算法。毫不夸張地說,只要有計算機網絡的地方,就有RSA算法,其非對稱加密模式的流程如下:
 

1.乙方生成兩把密鑰(公鑰和私鑰)。公鑰是公開的,任何人都可以獲得,私鑰則是保密的。
 

2.甲方獲取乙方的公鑰,然后用它對信息進行加密。
 

3.乙方得到加密的信息后,用私鑰解密。
 

由于公鑰加密的信息只有私鑰解得開,因此只要私鑰不泄露,通信過程就是安全的。
 

RSA算法為什么更加安全呢?在數學世界里,有一些公認的、需要消耗極大計算量才能得出結果的難題,比如大數因式分解問題、離散對數問題、橢圓曲線問題。RSA算法正是用到了大數分解這一相當犀利的不對稱難題。比如對于我們上面構造過的30位加密系統:
 

4000000000000000000000000000001=1199481995446957×3334772856269093
 

反過來算乘積非常容易,但是要把4000000000000000000000000000001分解成后面兩個乘數,在沒有計算機的時代幾乎不可能成功!而一旦數字長達數百位,即使是超級計算機也需要耗費海量的時間來計算才有可能。

橢圓曲線算法(ECC)則是另一種著名的非對稱算法,在比特幣體系里占據重要地位,是比特幣錢包安全性的密碼學基石,也是比特幣被稱為密碼學貨幣(Cryptography)的原因。

ECC各方面的性能和RSA比起來幾乎完勝:
 

1.安全性能更高。比如160位ECC與1024位RSA有相等的安全強度。
 

2.計算量小,處理速度比RSA快得多。
 

3.存儲空間占用小。密鑰尺寸和系統參數與RSA相比要小得多。
 

4.帶寬要求低。
 

ECC的這些特點使它逐漸取代RSA,成為通用的公鑰加密算法。

加密 算法 密碼 信息 RSA
分享到:

1.TMT觀察網遵循行業規范,任何轉載的稿件都會明確標注作者和來源;
2.TMT觀察網的原創文章,請轉載時務必注明文章作者和"來源:TMT觀察網",不尊重原創的行為TMT觀察網或將追究責任;
3.作者投稿可能會經TMT觀察網編輯修改或補充。


主站蜘蛛池模板: 国产高清在线播放刘婷91 | 四虎影院在线免费观看视频 | 性色AV一区二区三区V视界影院 | 特级淫片大乳女子高清视频 | 国产一区风间由美在线观看 | 成人女人天堂午夜视频 | 午夜想想爱午夜剧场 | 猫咪社区在线播放 | 日韩欧美推理片免费看完整版 | 我和寂寞孕妇的性事 | 亚洲精品第三页 | 亚洲日本久久一区二区va | 国产特级毛片aaaaaa | 和直男装修工在工地啪 | 日日干天天爽 | 久久99精品涩AV毛片观看 | jzjzjz日本在线观看 | 欧美日韩一区二区三区在线观看 | 大香人蕉免费视频75 | 成人黄色免费网站 | 日韩一本在线 | 国产精品一区二区在线观看完整版 | 娇小8一12xxxx第一次 | 果冻传媒九一制片厂 | 国产精品久久国产精品99盘 | 好吊操这里有精品 | freesex性欧美炮机喷潮 | 美女脱了内裤打开腿让男人图片 | 亚洲成人mv | 免费看60分钟大片视频播放 | 国产视频一二三区 | 国产福利在线观看第二区 | 精品久久久麻豆国产精品 | 97涩色| 亚洲网站在线 | xvideo日本| chinese老头和老太交hd | 精品欧美一区二区精品久久 | a男人的天堂久久a毛片 | 国产xxx在线 | 日韩在线一区 |