大學時候學過密碼學,划水太嚴重。。。
最近仔細思考了一下我和 github 的通過過程,同時結合對加密、解密演算法的理解,我覺得通訊雙方的角色應該是這樣的:
github:
github 每天都會接收非常多資訊,如果是我的使用者名稱發過去的資訊,github 會用我的公鑰進行解密。如果能正確解密乙個資訊(比如,開頭是「發給 github 的信」)說明,確實是我發的。
如果解密不對,那就說明受到了攻擊。
此處要注意了,關鍵的點來了:
公鑰雖然比較容易拿到,但是,反推私鑰的過程是當前計算能力無法在指定時間內完成的。這點由演算法來保證!
我:我從 github 上 pull/clone 資料的時候,我作為乙個人是相信 github 的。所以說,驗證過程,是由我這個人來做的。因此,我不需要 github 的公鑰。
雙方的角色是,我可以信任 github ,這是由我個人結合社會經驗判斷出來的。
但是 github 無法相信網上的「我」,所以它才需要我在最開始的時候,給它一件可以解密我傳送的資訊的「工具」。
對公鑰 私鑰以及數字簽名的理解
一把鎖頭,往往配有多把鑰匙,張三一把 鑰匙 李四一把 鑰匙 鎖頭掛在那箱子上,誰都能看到,誰都能摸到,那這個鎖頭,就是 公鑰 公共的東西,誰都能接觸到。鑰匙,就是私鑰,每人一把,自己攥著自己的那把鑰匙,只有自己知道。這種情況,就是公鑰加密,私鑰解密。但私鑰和公鑰又不能單純的理解成鑰匙和鎖頭,因為私鑰...
對公鑰和私鑰使用的理解
這些密碼學的概念容易被搞混淆,的確也情有可原。因為公鑰 私鑰 加密 認證這些都是較為複雜的問題,其概念不太容易理解,理解不透就容易產生各種似是而非的概念,為了讓大家對於密碼學有進一步的了解,這裡我就詳細解說一下公鑰和私鑰的具體作用和使用方法。首先我們需要區分加密和認證這兩個基本概念。加密是將資料資料...
github公鑰私鑰的生成以及配置
git安裝完之後,需做最後一步配置。開啟git bash,分別執行以下兩句命令,設定使用者名稱與郵箱 git config global user.name 張三 git config global user.email zhangsan git.com ssh配置 1 開啟git bash 2 執...