密碼學(cyptography)
science of hidding information
cipher 密鑰
encryption 加密
對稱加密
key string 密鑰(symmetric key 對稱密鑰)
非對稱加密:
public key, private key
伺服器可以freely的把這個鑰匙的分發給所有的人,用來加密, 這把鑰匙叫 public key
每個人單獨生成一個key,這個叫private key
這時如果中間人收到了這段用public key加密的資料,他是不能解密的,因為他不知道server中的private key,這個資料隻能用private key來解密
(這種過程的常見算法是rsa算法)
當鍵入一個https網址的時候:
首先
1.make a tcp connection on the http port 443
(因為443是https的預設監聽端口,除非是在url位址中給指定了,才會嘗試連接配接那個端口)
2.ssl handshake(過程涉及到證書等等,很複雜)
3.browser generate a symmetric secret key just for this ssl session
4.用伺服器給的公鑰加密這個key,生成private key 然後發給伺服器
5.伺服器和用戶端通信
其他版本:
對稱加密和非對稱加密