【密碼學(xué)】
1秽五、對(duì)稱加密 ? ? ? ? ??
2孽查、非對(duì)稱加密
3、DES ? ? ? ? ? ? ? ?
4坦喘、分組密碼
5盲再、公鑰密碼學(xué)
6、Hash
7瓣铣、MD5
8答朋、RSA ? ? 密碼體制
9、橢圓曲線簽名算法
10棠笑、SHA256
11梦碗、數(shù)字簽名
12、零知識(shí)證明
13蓖救、PKI體系
我們談?wù)劰€密碼學(xué)洪规。
這關(guān)系到兩件事情:
?1.如何秘密地發(fā)送信息給某人?
2.如何驗(yàn)證這信息的發(fā)送者是誰(shuí)循捺?
算法:
哈希算法
對(duì)稱加密
非對(duì)稱加密=公鑰密碼學(xué)=》橢圓曲線算法
基本數(shù)學(xué)原理
? ? ? ?比特幣的數(shù)學(xué)原理斩例,主要涉及到兩個(gè)方面,一是數(shù)字簽名及不對(duì)稱加密技術(shù)巨柒,二是數(shù)字指紋技術(shù)
1樱拴,數(shù)字簽名機(jī)制
數(shù)字簽名是現(xiàn)代計(jì)算機(jī)密碼學(xué)的一個(gè)重要概念柠衍,比特幣的數(shù)字簽名是基于不對(duì)稱加密算法來(lái)完成的,具體示例如下:假如小明想向小紅發(fā)送一條信息晶乔,但是這條信息可能被小張監(jiān)聽到珍坊,于是他倆想到一個(gè)好辦法,就是通過(guò)一套商量好的加密規(guī)則正罢,將信息加密随夸,這樣即使小張監(jiān)聽到內(nèi)容,由于他不知道加密規(guī)則甲雅,還是破譯不了這條信息內(nèi)容艇潭,這叫對(duì)稱加密。
【對(duì)稱加密場(chǎng)景】
? ? ? ?但是對(duì)稱加密有個(gè)明顯缺點(diǎn)是裆泳,小明需要把加密規(guī)則告知小紅叹洲,小張要是能截取到加密規(guī)則,那以后小明和小紅的信息交流就可以被破解工禾,并且小張也可以假冒小明向小紅發(fā)送假冒信息运提,因此我們需要另一套通訊規(guī)則來(lái)避免這種情況。
? ? ? ?非對(duì)稱加密可以有效解決上述問(wèn)題闻葵。首先民泵,小明需要一對(duì)公鑰和私鑰,公鑰和私鑰是成對(duì)存在的槽畔,公鑰由私鑰通過(guò)一個(gè)不可逆的數(shù)學(xué)公式生成栈妆,公鑰和私鑰遵循以下規(guī)則:
1,用公鑰加密的信息厢钧,可以用私鑰解密鳞尔,但反過(guò)來(lái)不可以;
2坏快,用私鑰簽名的信息铅檩,可以用公鑰驗(yàn)證,即驗(yàn)證簽名莽鸿;
? ? ? ?有了上述規(guī)則我們就可以設(shè)計(jì)如下的信息交互場(chǎng)景:
? ? ? 使用私鑰簽名昧旨、公鑰驗(yàn)證場(chǎng)景
? ? ? ?我們從上圖可以看出,在這種情況下祥得,整個(gè)系統(tǒng)沒(méi)有人可以假冒小明發(fā)信息兔沃,因?yàn)橹挥行∶髦雷约旱拿罔€,這種設(shè)計(jì)可以有效保證發(fā)信人的不被惡意偽冒级及。
? ? ? ? 當(dāng)然乒疏,這套機(jī)制也可以進(jìn)行加密的信息傳輸:
公鑰加密、私鑰解密示例
比特幣使用的是橢圓曲線數(shù)字簽名算法(SECP256K1)饮焦,該算法可以很大程度保證該交易過(guò)程不被破解怕吴,我們?cè)谄綍r(shí)使用時(shí)完全不必?fù)?dān)心窍侧。比特幣錢包地址的生成也是基于該算法,首先由隨機(jī)字符串產(chǎn)生一個(gè)秘鑰转绷,再通過(guò)秘鑰使用算法產(chǎn)生公鑰伟件,該公鑰經(jīng)過(guò)一定變換生成比特幣錢包地址,也就是說(shuō)议经,我們只要知道隨機(jī)種子或者秘鑰斧账,就可以推算出錢包的地址,但該過(guò)程不可逆煞肾,因此保護(hù)好自己的秘鑰非常重要咧织。