理解SSL(https)中的對稱加密與非對稱加密

Code Talkers

密碼學最先能夠追溯到古希臘羅馬時代,那時的加密方法很簡單:替換字母。算法

早期的密碼學


\古希臘人用一種叫 Scytale 的工具加密。更快的工具是 transposition cipher—:只是把羊皮紙卷在一根圓木上,寫下信息,羊皮紙展開後,這些信息就加密完成了。瀏覽器

雖然很容易被解密,但它確實是第一個在現實中應用加密的例子安全

Julius Caesar 用了另一個相似的加密方法:把字母往右或往左移動幾位;此法稱爲Caesar’s cipher. 好比「GEEK」 加密後就是「JHHN」.服務器

Plain:  ABCDEFGHIJKLMNOPQRSTUVWXYZ
Cipher: DEFGHIJKLMNOPQRSTUVWXYZABC
網絡

由於只有信息接受者知道如何解密,對其餘人來講,那就是一段無心義的信息了。工具

還有像以下圖的加密方法:每一個字母放在座標系裏網站

\

這樣 「G」就是 「23」,  「GEEK」就是 「23 31 31 43」.加密

Enigma Machinespa




加密算法

  

加密算法有不少種,區別和衡量他們的方法就是看他們是否容易被破解的程度和加密的速度翻譯

以下圖可見AES 是最快的強加密算法

\

固然有更快或比較慢的算法了,他們都有用處。若是你只是加密一段信息,也不是常常須要,那你能夠用最強的加密算法,甚至也能夠用不一樣的算法加密兩次。若是想要加密速度快點,那就用AES.

加密類型

以前說過的加密算法絕大部分都屬於如下兩種加密類型之一:

  • 對稱加密:加密解密用的是一樣的「鑰匙」
  • 非對稱加密:加密解密用的是不一樣的「鑰匙」

對稱加密

用郵局的例子來解釋下對稱加密

Alice 在盒子裏放有信息,盒子上有掛鎖,她有鑰匙。經過郵局她把這個盒子寄給Bob。Bob收到盒子後,用相同的鑰匙打開盒子(鑰匙以前就獲得了,多是Alice面對面給他的)。而後Bob能夠用一樣的方法回覆。

\

對稱加密能夠分爲兩種:一種是一個一個加密信息,另外一種是分塊加密信息,一般分爲64位加密爲一塊。塊 TwofishSerpentAES (Rijndael), BlowfishCAST5RC4TDES, and IDEA.

非對稱加密

Bob和Alice各有本身的盒子。Alice要跟Bob祕密通訊,她先讓Bob把開着的盒子經過郵局發給她。Alice拿到盒子後放入信息鎖上,而後發給Bob。Bob就能夠用他本身的鑰匙打開了。回覆的話就用一樣的方法。\

  

此法最大的好處是你沒必要獲得對方的「鑰匙」,以防別人在鑰匙發送過程當中偷偷複製鑰匙,進而竊取信息。。並且就算Bob的鑰匙被竊取複製了,Alice跟別人的通訊也是安全的,由於Alice用的是別人的鑰匙。

非對稱算法在加密和解密時用的是不一樣的鑰匙。信息接受者有兩把鑰匙:一把「公匙」,一把「私匙」。公匙是給信息發送者用來加密的,私匙是本身用來解密的

這樣最大的好處是:沒必要經過不安全的渠道發送私密的東西。公匙原本就是給別人用的,不用藏好。你的私匙在你產生私匙的電腦裏保存着

網站如何經過加密和用戶安全通訊

SSL (Secure Sockets Layer) 是用來保障你的瀏覽器和網站服務器之間安全通訊,免受網絡「中間人」竊取信息。

SSL原理很簡單。當你的瀏覽器向服務器請求一個安全的網頁(一般是 https://)
\

服務器就把它的證書和公匙發回來
\
瀏覽器檢查證書是否是由能夠信賴的機構頒發的,確認證書有效和此證書是此網站的。
\
 

使用公鑰加密了一個隨機對稱密鑰,包括加密的URL一塊兒發送到服務器
\
服務器用本身的私匙解密了你發送的鑰匙。而後用這把對稱加密的鑰匙給你請求的URL連接解密。
\
服務器用你發的對稱鑰匙給你請求的網頁加密。你也有相同的鑰匙就能夠解密發回來的網頁了
\

  

---------------------------譯者分割-------

本文翻譯得很不完整。

在網站經過SSL來與用戶創建安全的通訊中,對稱加密算法和非對稱加密算法起到了很大做用。

相關文章
相關標籤/搜索