混合密碼系統(tǒng)用對稱密碼來加密明文,用公鑰密碼來加密對稱密碼中所使用的密鑰弟疆。通過使用混合密碼系統(tǒng)戚长,就能夠在通信中將對稱密碼和公鑰密碼的優(yōu)勢結(jié)合起來。
對稱密碼與公鑰密碼
公鑰密碼的兩大問題
- 公鑰密碼的處理速度遠(yuǎn)遠(yuǎn)低于對稱密碼
- 公鑰密碼難以抵御中間人攻擊
混合密碼系統(tǒng)能夠解決上述處理速度慢的怠苔,但是如果要解決中間人攻擊的問題同廉,則需要對公鑰進(jìn)行認(rèn)證(后面的文章會陸續(xù)更新)
混合密碼系統(tǒng)
將消息通過對稱密碼來加密,將加密消息使用的密鑰通過公鑰密碼來加密柑司,這樣的兩步密碼機制就是混合密碼系統(tǒng)的本質(zhì)迫肖。
注意:用公鑰密碼對加密消息時使用的對稱密碼的密鑰進(jìn)行加密,由于對稱密碼的密鑰一般比消息本身要短攒驰,因此公鑰密碼速度慢的問題就可以忽略了蟆湖。
混合密碼的組成機制
- 用對稱密碼加密消息
- 通過偽隨機數(shù)生成器生成對稱密碼加密中使用的會話密鑰
- 用公鑰密碼加密會話密鑰
- 從混合密碼系統(tǒng)外部賦予公鑰密碼加密時使用的密鑰
注意:混合密碼系統(tǒng)運用了偽隨機數(shù)生成器、對稱密碼和公鑰密碼這三種密碼技術(shù)玻粪。正是通過這三種密碼技術(shù)的結(jié)合隅津,才創(chuàng)造出一種兼具對稱密碼和公鑰密碼優(yōu)點的密碼方式。
加密
加密消息
此圖中劲室,右半部分是加密消息的部分(對稱密碼)伦仍,左半部分是加密會話密鑰的部分(公鑰密碼)
消息的加密方法和對稱密碼的一般加密方法相同,當(dāng)消息很長時很洋,則需要使用分組密碼的模式(后續(xù)文章更新會講到)充蓝,即便非常長的消息,也可以通過對稱密碼快速完成加密蹲缠,這就是右半部分所進(jìn)行的處理棺克。
加密會話密鑰
左半部分進(jìn)行的是會話密鑰的生成和加密操作。
會話密鑰是指為本次通信而生成的臨時密鑰线定,它一般是通過偽隨機數(shù)生成器產(chǎn)生的,偽隨機數(shù)生成器所產(chǎn)生的會話密鑰同時也會被傳遞給右半部分确买,作為對稱密碼的密鑰使用斤讥。
會話密鑰是對稱密碼的密鑰,同時也是公鑰密碼的明文
解密
混合密碼系統(tǒng)的密文是由“用公鑰密碼加密的會話密鑰”和“用對稱密碼加密的消息”組合而成的湾趾,因此首先需要將兩者分離(發(fā)送者和接收事先約定好密文的結(jié)構(gòu))
密鑰長度的平衡
混合密碼系統(tǒng)中運用了對稱密碼和公鑰密碼兩種密碼方式芭商,無論其中任何一方的密鑰過短,都可能遭到集中攻擊搀缠,因此對稱密碼和公鑰密碼的密鑰長度必須具備同等的強度铛楣。
然而,考慮到長期運用的情況艺普,公鑰密碼的強度應(yīng)該高于對稱密碼簸州,因為對稱密碼的會話密鑰被破譯只會影響本次通信的內(nèi)容鉴竭,而公鑰密碼一旦被破譯,從過去到未來的(用相同的公鑰加密的)所有通信內(nèi)容就都能夠被破譯了岸浑。