密碼學演算法

2022-08-03 11:27:12 字數 1524 閱讀 3604

密碼學概述

公開相對安全

攻擊方法多樣

應用標準

不比具備很強數學知識

解決特定問題

目標機密性

完整性不可抵賴性

身份驗證

常用密碼庫

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 ...