關於私鑰加密 公鑰加密 簽名在生活中的場景

2021-06-06 21:32:08 字數 1904 閱讀 9565

1.私鑰加密:也就是對稱加密。這種演算法採用同乙個金鑰(key)對資料進行加密和解密,雖然可以通過設定初始化向量(iv),但因為在加密方和解密方中需要共享這兩部分資訊,相對而言,它不夠安全。

但一般來說,它也已經足夠安全,而且足夠簡單,尤其是對於加密資料而言。很多硬體裝置(例如atm提款機)都是內建了私鑰加密方法的,據說是des演算法

私鑰加密演算法使用單個私鑰來加密和解密資料。由於具有金鑰的任意一方都可以使用該金鑰解密您的資料,或加密他們自己的資料並聲稱該資料源自您,因此必須保護金鑰不被未經授權的**得到。

私鑰加密又稱為對稱加密,因為同一金鑰既用於加密又用於解密。私鑰加密演算法的速度非常快(與公鑰演算法相比),它特別適用於對較大的資料流執行加密轉換。從數學角度而言,非對稱加密演算法(例如 rsa)在可加密的資料量方面存在限制。對稱加密演算法一般則沒有這些問題。

私鑰加密的方式速度比較快,但它的金鑰通常需要非對稱的方式來進行保護。

.net framework 提供了以下類來實現私鑰加密演算法:

2.公鑰加密:也就是非對稱加密。這種演算法採用公鑰和私鑰兩個金鑰,如果利用公鑰進行加密,而用私鑰解密,這種場景屬於資料保護。而如果利用私鑰加密,利用公鑰解密,雖然是行得通的 ,但其實不可能會這樣用,因為任何擁有公鑰的接收方都可以解開資料,而公鑰本來就是公開的,這樣實現不了資料保護的目的。

公鑰加密使用乙個必須對未經授權的使用者保密的私鑰和乙個可以對任何人公開的公鑰。公鑰和私鑰在數學上是關聯在一起的;用公鑰加密的資料只能用私鑰解密,而用私鑰簽名的資料只能用公鑰驗證。公鑰可以提供給任何人;公鑰用於對要傳送到私鑰持有者的資料進行加密。公鑰加密演算法又稱為非對稱演算法,原因是需要用乙個金鑰加密資料,而用另乙個金鑰來解密資料。對於每個通訊會話,這兩個金鑰應該都是唯一的。不過,儘管非對稱演算法具有此項要求,但在實踐中,非對稱金鑰通常卻有較長的生存期。

再來看乙個例子

.net framework 提供了以下類來實現公鑰加密演算法:

rsa 允許同時進行加密和簽名,但 dsa 只能用於簽名,diffie-hellman 只能用於生成金鑰。通常情況下,公鑰演算法比私鑰演算法具有更多的使用限制。

3. 數字簽名

公鑰演算法還可用於構成數字簽名。數字簽名驗證傳送方的身份(如果您信任傳送方的公鑰)並幫助保護資料的完整性。使用由小紅生成的公鑰,小紅的資料的接收者可以通過將數字簽名與小紅的資料和小紅的公鑰進行比較來驗證是否是小紅傳送了該資料。

由於傳送方的公鑰為大家所共知,並且它通常包含在數字簽名格式中,因此任何人都可以驗證簽名。此方法不保守訊息的機密;若要使訊息保密,還必須對訊息進行加密。

.net framework 提供了以下類來實現數字簽名演算法:

4. 雜湊

雜湊演算法可將任意長度的二進位制值對映為固定長度的較小二進位制值,這個小的二進位制值就稱為雜湊值。雜湊值是一段資料的數值表示形式。雜湊一段純文字時,即使只更改段落中的乙個字母,隨後的雜湊計算都會產生不同的值。如果雜湊已進行強加密,其值將發生顯著更改。例如,如果更改了訊息的乙個位,強雜湊函式就可能生成相差 50% 的輸出。很多輸入值可能會雜湊為相同的輸出值。但是,要找到雜湊為同乙個值的兩個不同的輸入,在計算上是不可行的。

.net framework 提供了以下類來實現數字簽名演算法:

注意:

1966 年,人們發現了 md5 的設計缺陷,並建議改用 sha-1。2004 年,人們又發現了 md5 的其他缺陷,因此認為這種演算法已不再安全。另外,sha-1 演算法也暴露出不安全的方面,現在已建議改用 sha-2。

關於私鑰加密 公鑰加密 簽名在生活中的場景

數字簽名是什麼?翻譯 阮一峰 原文 1.鮑勃有兩把鑰匙,一把是公鑰,另一把是私鑰。2.鮑勃把公鑰送給他的朋友們 帕蒂 道格 蘇珊 每人一把。3.蘇珊要給鮑勃寫一封保密的信。她寫完後用鮑勃的公鑰加密,就可以達到保密的效果。4.鮑勃收信後,用私鑰解密,就看到了信件內容。這裡要強調的是,只要鮑勃的私鑰不洩...

公鑰私鑰,加密簽名

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

公鑰,私鑰,加密和簽名

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