密碼學(xué)基礎(chǔ)

密碼學(xué)基礎(chǔ)

標(biāo)簽: Blockchain


Hash

Hash (哈?;蛏⒘校┦侵笇⑷我忾L度的二進(jìn)制值映射成為一個(gè)固定長度的二進(jìn)制值的算法。Hash算法的輸出在實(shí)際應(yīng)用中也被稱為數(shù)字摘要。

? ~ echo Alex |md5sum
94ece31088521b259c6dde987cee743a

一個(gè)好的hash算法通常有如下特性:

  • 正向快速:給定明文和 hash 算法,在有限時(shí)間和有限資源內(nèi)能計(jì)算出 hash 值。
  • 逆向困難:給定(若干) hash 值,在有限時(shí)間內(nèi)很難(基本不可能)逆推出明文。
  • 輸入敏感:原始輸入信息修改一點(diǎn)信息,產(chǎn)生的 hash 值看起來應(yīng)該都有很大不同。
  • 沖突避免:很難找到兩段內(nèi)容不同的明文,使得它們的 hash 值一致(發(fā)生沖突)。

沖突避免有時(shí)候又被稱為“抗碰撞性”。如果給定一個(gè)明文前提下,難以找到碰撞的另一個(gè)明文,稱為“弱抗碰撞性”;如果難以找到任意兩個(gè)明文,發(fā)生碰撞,則稱算法具有“強(qiáng)抗碰撞性”。

常見的HASH算法有 MD5,SHA1,SHA2等,其中前2者已被認(rèn)為不安全。

加密/解密

現(xiàn)代加密算法的典型組件包括:加解密算法、加密密鑰、解密密鑰。其中,加解密算法自身是固定不變的,一般是公開可見的;密鑰則往往每次不同,并且需要保護(hù)起來,一般來說,對(duì)同一種算法,密鑰長度越長,則加密強(qiáng)度越大。

根據(jù)加解密的密鑰是否相同,算法可以分為對(duì)稱加密(symmetric cryptography)和非對(duì)稱加密(asymmetric cryptography)。兩種算法的對(duì)比如下:

類型 特點(diǎn) 優(yōu)點(diǎn) 缺點(diǎn) 常見算法
對(duì)稱加密 加密和密鑰相同或可推算,通常用于大量數(shù)據(jù)加密的場景 速度快 需要提前提供密鑰 DES,3DES,AES
非兌成加密 加密/解密密鑰無關(guān),通常用于數(shù)字簽名以及密鑰協(xié)商過程 無需提前提供密鑰 計(jì)算效率低 RSA,ElGammal,橢圓曲線系列算法

數(shù)字簽名

數(shù)字簽名的用于確保消息 不可偽造 以及 不可抵賴,這寫特性是通過非對(duì)稱加密算法實(shí)現(xiàn)。數(shù)字簽名的基本流程如下圖:

數(shù)字簽名

消息驗(yàn)證碼(MAC)

MAC 是指在通信雙方已經(jīng)通過一定的密鑰交換算法共享了對(duì)稱加密密鑰后,發(fā)送方將消息的Hash值使用對(duì)稱密鑰加密計(jì)算得到的,用于確保消息 不可偽造 ,但是無法確保不可抵賴,基本流程如下圖:

MAC

PKI

Zero Knowledge Proof

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文主要介紹移動(dòng)端的加解密算法的分類、其優(yōu)缺點(diǎn)特性及應(yīng)用,幫助讀者由淺入深地了解和選擇加解密算法。文中會(huì)包含算法的...
    蘋果粉閱讀 11,673評(píng)論 5 29
  • 這篇文章主要講述在Mobile BI(移動(dòng)商務(wù)智能)開發(fā)過程中,在網(wǎng)絡(luò)通信、數(shù)據(jù)存儲(chǔ)、登錄驗(yàn)證這幾個(gè)方面涉及的加密...
    雨_樹閱讀 3,036評(píng)論 0 6
  • 文中首先解釋了加密解密的一些基礎(chǔ)知識(shí)和概念,然后通過一個(gè)加密通信過程的例子說明了加密算法的作用,以及數(shù)字證書的出現(xiàn)...
    納蘭三少閱讀 2,044評(píng)論 1 6
  • 區(qū)塊鏈?zhǔn)腔诩用芩惴ǎ沧R(shí)算法,p2p網(wǎng)絡(luò)和經(jīng)濟(jì)激勵(lì)的一個(gè)系統(tǒng),加密算法在里面起到了非常關(guān)鍵的作用,總結(jié)一下Neo...
    轉(zhuǎn)角遇見一直熊閱讀 1,915評(píng)論 0 1
  • 文中首先解釋了加密解密的一些基礎(chǔ)知識(shí)和概念,然后通過一個(gè)加密通信過程的例子說明了加密算法的作用,以及數(shù)字證書的出現(xiàn)...
    sunny沖哥閱讀 1,508評(píng)論 0 3

友情鏈接更多精彩內(nèi)容