密碼學概述
公開相對安全
攻擊方法多樣
應用標準
不比具備很強數學知識
解決特定問題
目標機密性
完整性不可抵賴性
身份驗證
常用密碼庫
miracl
cryptoapi
openssl
密碼學演算法分類
隨機數偽隨機數生成器
密碼學偽隨機數生成器
工作原理
生成器內部維護乙個狀態(internal state),其數值**於外部,成為熵:動態時間、溫度、聲音變化等
偽隨機數內部狀態**模擬的數值,稱為種子(seed)
可生成密碼學隨機數的演算法
塊密碼演算法ctr模式:對稱加密演算法
摘要函式:單向性
流密碼演算法:對稱加密演算法
用途金鑰
初始化向量(iv)
nonce
salt
hash函式
sha-1
sha-2
sha-3
對稱加密演算法
訊息驗證碼
對稱演算法和mac演算法結合
公開金鑰演算法
秘鑰(安全性)
秘鑰協商演算法種類
rsa秘鑰協商演算法:
dh秘鑰協商演算法:
ecc為了保證dh的金鑰對不被破解,提公升安全性的主要手段就是增加金鑰對的長度,但是長度越長,效能越低.為了解決效能問題,就有了橢圓曲線密碼學(elliptic curv e cryptography),簡稱ecc.
ecc是新一代公開秘鑰演算法,主要優點就是安全性,極短的金鑰能夠提供很大的安全性,同時效能也很高.比如224位元的ecc金鑰和2048位元的rsa金鑰可以達到同樣的安全水平,由於ecc金鑰具有很短的長度,運算速度非常快.
在具體應用的時候,ecc可以結合其他公開金鑰演算法形成更快、更安全的公開金鑰演算法,比如結合dh金鑰協商演算法組成ecdh金鑰協商演算法,結合數學簽名dsa演算法組成ecdsa數字簽名演算法.
ecc本質上就是乙個數學公式,任何人基於公式都可以設計出橢圓曲線.[盡量選擇效能更高、安全係數更高的命名曲線]
數字簽名
公開金鑰演算法的另外一種用途就是數字簽名技術
解決方案:
數字簽名用途
數字簽名流程:
密碼學演算法應用場景
應用場景
對稱加密演算法
演算法:des、3des、aes、rc4
效能:機密性
應用場景:
公開秘鑰演算法
演算法:rsa、dsa、ecc
效能:機密性
應用場景:
訊息驗證碼(mac)
演算法:cbc-mac、hmac
效能:完整性
應用場景:
數字簽名演算法
演算法:rsa數字簽名演算法、dsa數字簽名演算法、ecdsa數字簽名演算法
效能:身份驗證、不可抵賴性
應用場景:
密碼學演算法安全性和效能
密碼學演算法效能
總結完整性
身份驗證
不可抵賴性
密碼學 密碼學基礎
密碼學是研究編制密碼和破譯密碼的技術科學。密碼學的安全目標至少包含三個方面 保密性 完整性 可用性。完整性 資源只有授權方以授權的方式進行修改,所有資源沒有授權則不能修改。可用性 資源只有在適當的時候被授權方訪問,並按需求使用。密碼系統由5部分組成 1 明文空間m 全體明文的集合 2 密文空間c 全...
密碼學演算法 RSA
rsa演算法安全瓶頸 rsa演算法的乘法同態特性 rsa第一次在r.l.rivest,a.shamir和l.adleman的1978年的 a method for obtaining digital signatures and public key cryptosystems 中,作為一種新的數字...
密碼學 雜湊演算法
在日常生活中,每個人去銀行 坐火車都需要身份證證明自己的身份。身份證存在的目的就是要證明我真的是我。同樣在網路中,乙個檔案是否被改過 更改之後就是新的檔案 需要乙個 身份證 證明,這裡就需要了 hash 演算法了。為了滿足上述要求,需要 hash 演算法滿足如下特點 1 md5,即 message ...