私鑰,公鑰,加密

2021-10-23 22:18:29 字數 1010 閱讀 3640

在密碼學中,金鑰(key,又常稱金鑰)是指某個用來完成加密、解密、完整性驗證等密碼學應用的秘密資訊。在對稱密碼學中,加密和解密用的是同乙個鑰匙,因此鑰匙需要保密。而在非對稱密碼學中,加密和解密用的鑰匙不同:通常乙個是公開的,稱為公鑰;另乙個保密,稱為私鑰。

這類演算法在加密和解密時使用相同的金鑰,或是使用兩個可以簡單地相互推算的金鑰。事實上,這組金鑰成為在兩個或多個成員間的共同秘密,以便維持專屬的通訊聯絡。與公開金鑰加密相比,要求雙方獲取相同的金鑰是對稱金鑰加密的主要缺點之一。

它需要兩個金鑰,乙個是公開金鑰,另乙個是私有金鑰;公鑰用作加密,私鑰則用作解密。使用公鑰把明文加密後所得的密文,只能用相對應的私鑰才能解密並得到原本的明文,最初用來加密的公鑰不能用作解密。由於加密和解密需要兩個不同的金鑰,故被稱為非對稱加密;不同於加密和解密都使用同乙個金鑰的對稱加密。公鑰可以公開,可任意向外發布;私鑰不可以公開,必須由使用者自行嚴格秘密保管,絕不透過任何途徑向任何人提供,也不會透露給被信任的要通訊的另一方。

基於公開金鑰加密的特性,它還能提供數字簽名的功能,使電子檔案可以得到如同在紙本檔案上親筆簽署的效果。

在數學上,d(c(x))=x,讓我們使用典型的愛麗絲與鮑伯假設來解釋:

愛麗絲與鮑伯事先互不認識,也沒有可靠安全的溝通渠道,但愛麗絲現在卻要透過不安全的網際網路向鮑伯傳送資訊

愛麗絲撰寫好原文,原文在未加密的狀態下稱之為明文 x

鮑伯使用密碼學安全偽隨機數生成器產生一對金鑰,其中乙個作為公鑰為 c,另乙個作為私鑰d

鮑伯可以用任何方法傳送公鑰c 給愛麗絲,即使伊夫在中間竊聽到 c也沒問題

愛麗絲用公鑰 c 把明文x進行加密,得到密文c(x)

愛麗絲可以用任何方法傳輸密文 c(x)給鮑伯,即使伊夫在中間竊聽到密文 c(x)也沒問題

鮑伯收到密文,用私鑰 d對密文進行解密 ,得到愛麗絲撰寫的明文 d(c(x))

由於伊夫沒有得到鮑伯的私鑰d ,所以無法得知明文x

如果愛麗絲丟失了她自己撰寫的原文 x,在沒有得到鮑伯的私鑰 d的情況下,她的處境將等同伊夫,即無法透過鮑伯的公鑰 c和密文c(x) 重新得到原文。

公鑰 私鑰 公鑰私鑰

小明想寫一封情書給小紅,但是這封情書是很私密的東西,小明不想讓除了小紅之外的其他人知道。小明看過flydean的部落格,他知道了有個對稱加密的好東西。於是小明想,如果我將情書使用對稱加密演算法進行加密,然後再把加密後的情書傳給小紅豈不就是安全了?但是小明又仔細思考了一下,發現了乙個問題,對稱加密演算...

公鑰私鑰,加密簽名

加密和簽名是兩個不同的概念,又都涉及公鑰和私鑰的概念。公鑰和私鑰相當於鑰匙和鎖,鎖可以用來鎖住東西,鑰匙可以用來開啟對應的鎖,一把鑰匙只能開一把鎖,當然鑰匙和鎖都可以複製。加密相當於我自己生成一把鎖和一把鑰匙,然後把鎖發給你,你用我的鎖把想發給我的東西鎖上再發給我,我收到之後用鑰匙開啟鎖。天下人都能...

加密,認證,公鑰,私鑰

密碼學的概念容易被搞混淆,對大多數非專業人員而言,的確也情有可原。因為公鑰 私鑰 加密 認證這些,都是較為複雜的問題,其概念不太容易理解,理解不透就容易產生各種似是而非的概念,為了讓大家對於密碼學有進一步的了解,這裡筆者就詳細 解說一下公鑰和私鑰的具體作用和使用方法。首先我們需要區分加密和認證這兩個...