1.1 非對稱加密基礎(chǔ)知識(shí)
對稱加密:加密和解密使用一樣的算法,只要解密時(shí)提供與加密時(shí)一致的密碼就可以完成解密。例如QQ登錄密碼,銀行卡密碼,只要保證密碼正確就可以。
非對稱加密:通過公鑰(public key)和私鑰(private key)來加密、解密。公鑰加密的內(nèi)容可以使用私鑰解密,私鑰加密的內(nèi)容可以使用公鑰解密。一般使用公鑰加密,私鑰解密,但并非絕對如此,例如CA簽署證書時(shí)就是使用自己的私鑰加密。在接下來介紹的SSH服務(wù)中,雖然一直建議分發(fā)公鑰,但也可以分發(fā)私鑰。
所以,如果A生成了(私鑰A,公鑰A),B生成了(私鑰B,公鑰B),那么A和B之間的非對稱加密會(huì)話情形包括:
(1).A將自己的公鑰A分發(fā)給B,B拿著公鑰A將數(shù)據(jù)進(jìn)行加密,并將加密的數(shù)據(jù)發(fā)送給A,A將使用自己的私鑰A解密數(shù)據(jù)。
(2).A將自己的公鑰A分發(fā)給B,并使用自己的私鑰A加密數(shù)據(jù),然后B使用公鑰A解密數(shù)據(jù)。
(3).B將自己的公鑰B分發(fā)給A,A拿著公鑰B將數(shù)據(jù)進(jìn)行加密,并將加密的數(shù)據(jù)發(fā)送給B,B將使用自己的私鑰B解密數(shù)據(jù)。
(4).B將自己的公鑰B分發(fā)給A,并使用自己的私鑰B加密數(shù)據(jù),然后A使用公鑰B解密數(shù)據(jù)。
雖然理論上支持4種情形,但在SSH的