密碼技術(shù)
[TOC]
常用術(shù)語(yǔ)
- 明文 pain text
- 密文 cipher text
- 加密 encrypt
- 密鑰 key
- 公鑰 public key 公鑰加密
- 私鑰 private key 私鑰解密
- 算法 algorithm 用于解決復(fù)雜為題的步驟。
幾種常用的重要密碼技術(shù)
信息安全四個(gè)特性:機(jī)密性
、完整性integrity
导狡、認(rèn)證 authentication
病苗、不可否認(rèn)性
敞嗡。
-
機(jī)密性
是指防止秘密泄露丧枪。 -
完整性
是指防止信息被篡改冗锁。 -
認(rèn)證
是指防止他人偽裝潘悼。 -
不可以否認(rèn)性
是指防止事后否認(rèn)律秃。
為了保證這四個(gè)特性,下面分別講解與之對(duì)應(yīng)的幾種密碼技術(shù)治唤。
1.加密技術(shù) 對(duì)稱密碼與公鑰密碼
根據(jù)密鑰的使用方法棒动,可以將密碼分為對(duì)稱密碼 symmetric cryptography
和 公鑰密碼 public-key cryptography
又稱非對(duì)稱密碼。
公鑰加密的性能只有對(duì)稱加密的幾百分之一宾添。因此常將兩種技術(shù)混合使用船惨,稱之為:混合密碼系統(tǒng) hybrid crypto system
。
加密技術(shù)可以保證信息的機(jī)密性
缕陕。
2. 哈希 hash 常見(jiàn)的幾種成熟算法:MD5粱锐、SHA-1、SHA-2
又稱向散列函數(shù)扛邑、指紋怜浅、消息摘要。是用單向散列函數(shù)計(jì)算出的數(shù)值蔬崩。
hash可以保證信息的完整性
恶座。
Hash算法的破解,說(shuō)的是Hash算法的強(qiáng)抗碰撞性
舱殿。
2.1 MD5
Message-Digest Algorithm 信息摘要算法
- MD4奥裸,90年麻省理工學(xué)院教授Ronald Rivest設(shè)計(jì)的信息摘要算法,摘要長(zhǎng)度128位沪袭。
- MD5湾宙,91年由Ronald Rivest設(shè)計(jì)的樟氢,用以取代MD4。09年中科院的謝濤和馮登國(guó)僅用了2^20.96的碰撞算法復(fù)雜度侠鳄,破解了MD5的
碰撞抵抗
埠啃,即普通計(jì)算機(jī)幾秒的時(shí)間。 王小云亦在破解md5的過(guò)程中提供過(guò)一些有效的算法伟恶。
2.2 安全哈希算法 SHA 家族算法:Secure Hash Algorithm
Secure Hash Algorithm 安全哈希算法
是一個(gè)由NSA(美國(guó)國(guó)家安全局)設(shè)計(jì)的密碼散列函數(shù)家族碴开。
- SHA-0,1993年發(fā)布很快被撤回博秫,是SHA-1的前身潦牛。
- SHA-1,1995年發(fā)布挡育,曾被視為MD5的繼任巴碗,2017年荷蘭密碼學(xué)研究小組CWI和Google正式宣布攻破了SHA-1。
- SHA-2即寒,第二代安全算列算法橡淆,2001年發(fā)布包括SHA-224、SHA-256母赵、SHA-384逸爵、SHA-512、SHA-512/224凹嘲、SHA-512/256师倔,雖然暫未出現(xiàn)有效攻擊,但是算法類(lèi)似于SHA-1施绎。
- SHA-3溯革,2015年正式發(fā)布,詣在提供一個(gè)與之前算法不同的可替換的加密散列算法谷醉。
例如下載軟件時(shí),軟件發(fā)布方會(huì)下載軟件的哈希值(hash)就是這個(gè)目的冈闭。
3. 消息認(rèn)證碼 MAC:message authentication code
保證完整性
俱尼、提供認(rèn)證
。
輸入包含1.消息 2.共享密鑰萎攒,輸出固定長(zhǎng)度的MAC值遇八。
與Hash的區(qū)別是:增加了對(duì)稱密鑰。
4. 數(shù)字簽名 digital signature
保證完整性
耍休、提供認(rèn)證
并防止否認(rèn)
的密碼技術(shù)刃永。
與Hash的區(qū)別是:增加了反著用的公鑰和私鑰對(duì)。
常用數(shù)字簽名算法:RSA羊精、ElGamal斯够、DSA、Rabin
5. 偽隨機(jī)數(shù)生成器 Pseudo Random Number Generator PRNG
能夠模擬產(chǎn)生隨機(jī)數(shù)的算法。承擔(dān)生成密鑰的角色读规。SSL/TLS通信時(shí)會(huì)生成一個(gè)僅用于當(dāng)前通信的臨時(shí)密鑰(會(huì)話密碼)就是基于偽隨機(jī)數(shù)生成器生成的抓督。
其他密碼技術(shù):隱寫(xiě)術(shù)
隱寫(xiě)術(shù)隱藏的是消息本身,不能替代密碼束亏,密碼隱藏的是內(nèi)容铃在,兩者結(jié)合可同時(shí)產(chǎn)生兩者所具備的效果。
- 藏頭詩(shī)就是一種隱寫(xiě)術(shù)碍遍。
- 數(shù)字水印技術(shù)是一種將著作權(quán)擁有者及購(gòu)買(mǎi)者信息信息嵌入文件中的技術(shù)定铜。其中就用到了隱寫(xiě)術(shù)。
密碼學(xué)安全常識(shí)
- 不要使用保密的密碼算法
主要因?yàn)椋?- 密碼算法早晚會(huì)公開(kāi)怕敬。
- 開(kāi)發(fā)高強(qiáng)度密碼算法非常困難
- 使用低強(qiáng)度密碼算法比不加密更危險(xiǎn)
主要因?yàn)椋?- 錯(cuò)誤的安全感揣炕,令用戶處理機(jī)密信息時(shí)候麻痹大意。
- 任何密碼早晚會(huì)被破解
主要因?yàn)椋?- 除了
一次性密碼本
這種非現(xiàn)實(shí)可用的算法外赖捌,任何密碼算法生成的密文只要將所有可能的密鑰全部嘗試一遍祝沸,總會(huì)被破解,強(qiáng)度更高加密算法只是延長(zhǎng)了破解的時(shí)間越庇。 - 量子密碼被認(rèn)為可能造就完美的密碼技術(shù)罩锐。目前只是一種設(shè)想。
- 除了
- 密碼只是信息安全的一部分卤唉。通過(guò)社會(huì)工程學(xué)等手段直接獲取可能的密碼可以繞過(guò)高強(qiáng)度的密碼算法涩惑。