2、不對(duì)稱密碼加密算法
不對(duì)稱密碼體制又稱 雙密鑰和公鑰密碼體質(zhì),1976年 由 Diffie 和 Hellman 提出的。
私鑰秘密保存。
不需要事先通過安全秘密管道交換密鑰。
RSA 的安全性依賴于大素?cái)?shù)分解。公鑰和私鑰 都是兩個(gè)大素?cái)?shù)(大于100個(gè)十進(jìn)制位的函數(shù))。
據(jù)猜測(cè),從一個(gè)密鑰和密文中,推斷出明文的難度等同于分解兩個(gè)大素?cái)?shù)的積。
具體操作時(shí) 考慮到 安全性 和 M信息量 較大等因素,一般是先做 HASH 運(yùn)算。
速度慢一直是 RSA 的缺陷,因此一般來說,RSA只用于少量數(shù)據(jù)加密。
11.1.2 散列函數(shù)與數(shù)字簽名
1、MD5 散列算法
散列函數(shù)是一種公開的數(shù)學(xué)函數(shù)。散列函數(shù)運(yùn)算的輸入信息叫做 報(bào)文,運(yùn)算后所得的結(jié)果叫做散列碼或消息摘要。
特點(diǎn):
1. 給定 M,要找到另一消息 M,使 H(M)= H(M)很難。
2. 散列函數(shù)都是單向的,反推M很難。
3. 對(duì)于任何一個(gè)報(bào)文,無法預(yù)知它的散列碼。
4. 散列碼具有固定的長度,不管原始報(bào)文長度如何。
常見的散列函數(shù)有:MD5、SHA、HMAC 等。
MD5(Message Digest 5)已成為國際標(biāo)準(zhǔn),產(chǎn)生128位(16字節(jié))長度的散列值(或稱 消息摘要)。
通過以下4個(gè)步驟:
1. 附加填充位,填充后數(shù)據(jù)長度 MOD 512 后 余 448。如果數(shù)據(jù)長度正好 MOD 512 余 448,增加 512 個(gè)填充位,填充個(gè)數(shù)也就是1~512。
填充位第一個(gè)為 1,其余全部是 0。
2. 補(bǔ)足長度。
3. 初始化MD緩存器。
4個(gè)32位寄存器,A、B、C、D,初始化為:
A: 01 23 45 67
B: 89 AB CD EF
C: FE DC BA 98
D: 76 54 32 10
4. 處理數(shù)據(jù)段。
2、數(shù)字簽名與數(shù)字水印
1. 數(shù)字簽名可以解決 否認(rèn)、偽造、篡改、冒充 等問題。
凡是需要對(duì)用戶身份進(jìn)行判斷的情況 都可以使用數(shù)字簽名。
三個(gè)過程:系統(tǒng)的初始化過程、簽名產(chǎn)生過程、簽名驗(yàn)證過程。
簽名者必須注意保護(hù)好私有密鑰,因?yàn)樗枪_密鑰體系安全的重要基礎(chǔ)。
如果密鑰丟失,應(yīng)該立即報(bào)告鑒定中心取消認(rèn)證,鑒定中心必須能夠迅速確定用戶的身份及其密鑰的關(guān)系。
RSA、ElGamal、Fiat-Shamir、美國的數(shù)字簽名標(biāo)準(zhǔn)/算法(DSS/DSA)、橢圓曲線 等多種。
相關(guān)推薦:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |