一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

數(shù)字簽名算法介紹和區(qū)別

 旭日_追逐的心 2019-08-19

原文閱讀:https://www./fa...

數(shù)字簽名是一個帶有密鑰的消息摘要算法,這個密鑰包括了公鑰和私鑰,用于驗證數(shù)據(jù)完整性、認(rèn)證數(shù)據(jù)來源和抗否認(rèn),遵循OSI參考模型、私鑰簽名和公鑰驗證。也是非對稱加密算法和消息摘要算法的結(jié)合體,常見的數(shù)字簽名算法主要有RSA、DSA、ECDSA三種,本文對數(shù)字簽名算法進(jìn)行詳細(xì)介紹。

Hash又譯散列、摘要等名,本文統(tǒng)一稱Hash。

1. RSA數(shù)字簽名算法

RSA是目前計算機(jī)密碼學(xué)中最經(jīng)典算法,也是目前為止使用最廣泛的數(shù)字簽名算法,RSA數(shù)字簽名算法的密鑰實(shí)現(xiàn)與RSA的加密算法是一樣的,算法的名稱都叫RSA。密鑰的產(chǎn)生和轉(zhuǎn)換都是一樣的,包括在售的所有SSL數(shù)字證書、代碼簽名證書、文檔簽名以及郵件簽名大多都采用RSA算法進(jìn)行加密。

RSA數(shù)字簽名算法主要包括MD和SHA兩種算法,例如我們熟知的MD5和SHA-256即是這兩種算法中的一類,具體如下表格分布

算法 輸出Hash長度 中繼Hash長度 數(shù)據(jù)區(qū)塊長度 最大輸入長度 循環(huán)次數(shù) 碰撞攻擊 性能示例(MiB/s)
MD5 128 128 512 無限[4] 64 <64 (已碰撞) 335
SHA-0 160 160 512 264 ? 1 80 <80 (已碰撞) -
SHA-1 160 160 512 264 ? 1 80 <80 (已碰撞) 192
SHA-2 SHA-224
SHA-256
224
256
256 512 264 ? 1 64 112
128
139
SHA-384
SHA-512
SHA-512/224
SHA-512/256
384
512
224
256
512 1024 2128 ? 1 80 192
256
112
128
154
SHA-3 SHA3-224
SHA3-256
SHA3-384
SHA3-512
224
256
384
512
1600 1152
1088
832
576
無限
24
112
128
192
256
-
SHAKE128
SHAKE256
d (arbitrary)
d (arbitrary)
1344
1088
min(d/2, 128)
min(d/2, 256)
-

1.1. MD2、MD4、MD5算法

最常見的是我們熟知的MD5加密算法,MD5全稱Message-Digest Algorithm 5(信息-摘要算法 5),目前比較普遍的Hash算法,是散列算法的基礎(chǔ)原理,MD5的前身有MD2、MD3和MD4。MD5算法法是輸入任意長度字符,輸出固定長度128位的算法。經(jīng)過程序流程,生成四個32位數(shù)據(jù),最后聯(lián)合起來成為一個128位Hash值,主要方式是通過求余、取余、調(diào)整長度、與鏈接變量進(jìn)行循環(huán)運(yùn)算進(jìn)而得出結(jié)果。

1.2. SHA-1算法

SHA-1是由NIST NSA設(shè)計為同DSA一起使用的,SHA-1設(shè)計時基于和MD4相同原理,并且模仿了該算法,SHA-1抗窮舉(brute-force)性更好,它產(chǎn)出160位的Hash值,對于非線性運(yùn)算、移位和加法運(yùn)算也與MD5類似。SHA-1也應(yīng)用于包括TLS和SSL、PGP、SSH、S/MIME和IPsec等多種協(xié)議中,曾被視為是MD5的后繼者。SHA-1的如今已經(jīng)明確不具備安全性可言了。

在2016年1月1日后基于SHA-1簽發(fā)的SSL和代碼簽名的X.509證書已不具備安全性可言,多個操作系統(tǒng)、瀏覽器都建議將基于SHA-1而簽發(fā)的證書、代碼簽名替換至SHA-2的產(chǎn)品,但目前在Windows XP(官方已停更)操作系統(tǒng)上仍然只兼容基于SHA-1算法的SSL和代碼簽名產(chǎn)品。

就在2017年2月23日Google宣布實(shí)現(xiàn)了對SHA-1算法的碰撞破解,所以SHA-1算法已經(jīng)正式被宣布為不安全的算法,主流廠商對自身產(chǎn)品及安全要求都提升至了SHA-2算法。

1.3. SHA-2算法

SHA-224、SHA-256、SHA-384和SHA-512并稱為SHA-2,發(fā)布于2001年,目前比較廣泛應(yīng)用的SSL數(shù)字證書和代碼簽名證書簽名算法均采用SHA-256算法,相較于SHA-1算法而言,至今SHA-2算法還未被破解,從某種意義上SHA-2延用了SHA-1算法,所以至少發(fā)文時間起是安全的。目前頂級CA和Google、蘋果等公司都采用基于SHA-256算法作為SSL證書和代碼簽名證書的主流簽名算法。

1.4. SHA-3算法

SHA-3算法正式發(fā)布于2015年,SHA-3并不是要取代SHA-2,因為SHA-2目前并沒有出現(xiàn)明顯的弱點(diǎn)。由于對MD5、SHA-0和SHA-1出現(xiàn)成功的破解,NIST感覺需要一個與之前算法不同的,可替換的加密Hash算法,也就是現(xiàn)在的 SHA-3。

2. DSA數(shù)字簽名算法

DSA全稱Digital Signature Algorithm,DSA只是一種算法,和RSA不同之處在于它不能用作加密和解密,也不能進(jìn)行密鑰交換,只用于簽名,所以它比RSA要快很多,其安全性與RSA相比差不多。DSA的一個重要特點(diǎn)是兩個素數(shù)公開,這樣,當(dāng)使用別人的p和q時,即使不知道私鑰,你也能確認(rèn)它們是否是隨機(jī)產(chǎn)生的,還是作了手腳。RSA算法卻做不到。

dsa step info

DSA的整個簽名算法流程如下:

a. 發(fā)送方使用SHA-1和SHA-2編碼將發(fā)送內(nèi)容加密產(chǎn)生的數(shù)字摘要;
b. 發(fā)送方用自己的專用密鑰對摘要進(jìn)行再次加密得到數(shù)字簽名;
c. 發(fā)送方將原文和加密后的摘要傳給接收方;
d. 接收方使用發(fā)送方提供的密鑰對進(jìn)行解密 ,同時對收到的內(nèi)容用SHA-1/SHA-2編碼加密產(chǎn)生同樣的摘要;
e. 接收方再將解密后的摘要和d步驟中加密產(chǎn)生的摘要進(jìn)行比對,如果兩者一至,則說明傳輸過程的信息沒有被破壞和篡改,否則傳輸信息則不安全。

3. ECDSA橢圓曲線數(shù)字簽名算法

ECDSA是用于數(shù)字簽名,是ECC與DSA的結(jié)合,整個簽名過程與DSA類似,所不一樣的是簽名中采取的算法為ECC,最后簽名出來的值也是分為r,s。而ECC(全稱Elliptic Curves Cryptography)是一種橢圓曲線密碼編碼學(xué)。

ECDH每次用一個固定的DH key,導(dǎo)致不能向前保密(forward secrecy),所以一般都是用ECDHE(ephemeral)或其他版本的ECDH算法。ECDH則是基于ECC的DH( Diffie-Hellman)密鑰交換算法。

ECC與RSA 相比,有以下的優(yōu)點(diǎn):

a. 相同密鑰長度下,安全性能更高,如160位ECC已經(jīng)與1024位RSA、DSA有相同的安全強(qiáng)度。
b. 計算量小,處理速度快,在私鑰的處理速度上(解密和簽名),ECC遠(yuǎn) 比RSA、DSA快得多。
c. 存儲空間占用小 ECC的密鑰尺寸和系統(tǒng)參數(shù)與RSA、DSA相比要小得多, 所以占用的存儲空間小得多。
d. 帶寬要求低使得ECC具有廣泛得應(yīng)用前景。

下表是ECC和RSA安全性比較

攻破時間(MIPS年) RSA/DSA(密鑰長度) ECC密鑰長度 RSA/ECC密鑰長度比
104 512 106 5:1
108 768 132 6:1
1011 1024 160 7:1
1020 2048 210 10:1
1078 21000 600 35:1

下表是RSA和ECC速度比較

功能 Security Builder 1.2
163位ECC(ms)
BSAFE 3.0
1,023位RSA(ms)
密鑰對生成 3.8 4,708.3
簽名 2.1(ECNRA)
3.0(ECDSA)
228.4
認(rèn)證 9.9(ECNRA)
10.7(ECDSA)
12.7
Diffie—Hellman密鑰交換 7.3 1,654.0

在 ECDHE 密鑰交換中,服務(wù)端使用證書私鑰對相關(guān)信息進(jìn)行簽名,如果瀏覽器能用證書公鑰驗證簽名,就說明服務(wù)端確實(shí)擁有對應(yīng)私鑰,從而完成了服務(wù)端認(rèn)證。密鑰交換和服務(wù)端認(rèn)證是完全分開的。

可用于 ECDHE 數(shù)字簽名的算法主要有 RSA 和 ECDSA,也就是目前密鑰交換 + 簽名有三種主流選擇:

  • RSA 密鑰交換(無需簽名);
  • ECDHE 密鑰交換、RSA 簽名;
  • ECDHE 密鑰交換、ECDSA 簽名;

4. 總結(jié)

對于SSL數(shù)字證書和代碼簽名證書以及其它非對稱加密產(chǎn)品來說,RSA目前普及度最高,以SHA-256簽名算法最廣,對于更高級基于ECC簽名算法是需要對證書請求文件CSR和根證書都有相應(yīng)的要求。

SHA-2

自2016年1月1日起大多CA已停止簽發(fā)不安全的SHA-1簽名算法,所有CA目前簽發(fā)的證書都要求基于SHA-2簽名算法。

FULL SHA-2

與SHA-2選項類似,F(xiàn)ULL SHA-2選項將為您提供相同的SHA-2證書和中間證書,但根證書不再是基于SHA-1而是SHA-2。

ECC-FULL

和“FULL-SHA-2”選項類似,你將需要提供一個基于ECC算法的CSR,同時ECC-HYBRID ECC-HYBRID與ECC-FULL一樣,ECC的幾種算法都要求根證書是RSA。

參考文獻(xiàn)

非https網(wǎng)站將不再提供鏈接形式,請自行復(fù)制前往

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    在线观看免费午夜福利| 91国内视频一区二区三区| 中文字幕一区二区三区大片| 国产精品超碰在线观看| 亚洲欧美国产网爆精品| 粗暴蹂躏中文一区二区三区| 午夜福利国产精品不卡| 视频一区二区 国产精品| 欧美丰满大屁股一区二区三区| 日韩欧美一区二区不卡看片| 丝袜美女诱惑在线观看| 亚洲高清一区二区高清| 亚洲熟女一区二区三四区| 成人免费视频免费观看| 欧美日韩在线视频一区| 大尺度激情福利视频在线观看| 亚洲精品国产精品日韩| 精品久久av一二三区| 四十女人口红哪个色好看| 欧美av人人妻av人人爽蜜桃| 麻豆蜜桃星空传媒在线观看| 99免费人成看国产片| 国产精品十八禁亚洲黄污免费观看 | 一区二区三区国产日韩| 亚洲五月婷婷中文字幕| 亚洲人午夜精品射精日韩| 国产精品久久精品国产| 日本少妇中文字幕不卡视频| 日本特黄特色大片免费观看 | 国产又黄又爽又粗视频在线| 国产在线一区中文字幕| 国产精品午夜一区二区三区 | 99久久国产精品成人观看| 亚洲欧美精品伊人久久| 国产精品一区日韩欧美| 亚洲品质一区二区三区| 福利一区二区视频在线| 九九热精彩视频在线播放| 国产精品国三级国产专不卡| 中文字幕精品一区二区三| 亚洲最大福利在线观看|