網路安全 非對稱加密

2021-09-25 10:13:05 字數 2226 閱讀 7426

公開金鑰密碼演算法也叫雙金鑰密碼演算法或非對稱金鑰密碼演算法,它的加密金鑰與解密金鑰不同。這種演算法需要形成乙個在數學上是相關聯的金鑰對(乙個公鑰和乙個私鑰),使用其中乙個金鑰加密資料,用另乙個金鑰來解密。公鑰可以公開傳遞,不需要安全通道,但與之對應的私鑰必須保密。在圖1中,發件人用收件人的公鑰加密了一段資料,只有收件人用自己的私鑰才能解密。

圖1 公鑰加密要求使用乙個公鑰和乙個私鑰

與對稱金鑰密碼體制一樣,非對稱金鑰密碼體制也有很多種加密演算法。常用的非對稱加密演算法包括rsa、elgamal(離散對數)、ecc(橢圓曲線)等。它沒有了對稱加密演算法金鑰分配之類的問題,不必再保持金鑰傳遞通道的保密性,但它的加密速度相對較低。實際上在通訊時,通常使用對稱加密演算法來加密大量資料,僅在傳遞對稱金鑰的時刻才使用非對稱加密演算法。這樣將非對稱加密演算法與對稱加密演算法結合使用,可以優勢互補、優化效能。同時,非對稱金鑰演算法還可以用來簽名和防抵賴等。

rsa公鑰加密演算法是2023年由ron rivest、adi shamirh和lenadleman在(美國麻省理工學院)開發的。rsa取名來自開發他們三者的名字。rsa是目前最有影響力的公鑰加密演算法,它能夠抵抗到目前為止已知的所有密碼攻擊,已被iso推薦為公鑰資料加密標準。rsa演算法基於乙個十分簡單的數論事實:將兩個大素數相乘十分容易,但那時想要對其乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密金鑰。

rsa 加解密演算法詳解:

(1)選擇一對不同的、足夠大的素數p,q。 p=3 q=11

(2)計算n=pq。 n=33

(3)計算∮(n)=(p-1)(q-1),對p, q保密。 ∮(n)=20

(4)找乙個與∮(n)互質的數e,且1(5)計算d,使得de≡1 mod ∮(n)。 d=7

(6)公鑰ku=(e,n),私鑰kr=(d,n)。公鑰 私鑰

(7)加密時,先將明文變換成0至n-1的乙個整數m。若明文較長,可先分割成適當的組,然後再進行交換。設密文為c,則加密過程為:c ≡ m ͤ (mod n)。

(8)解密過程為: m ≡ c ͩ(mod n)。

ø 在理論上,rsa 的安全性取決於模n分解的困難性,但數學上至今還未證明分解模就是攻擊rsa的最佳辦法。

ø 人們完全可以設想有另外的途徑破譯rsa,如求解密指數d或找到(p-1)(q-1)等。但這些途徑都不比分解n來的容易。

/* 

* 用jdk實現rsa:

* */

public static void jdkrsa(string src) catch (exception e)

}

ecc(ellipse curve cryptography)橢圓曲線加密演算法是2023年由基於橢圓曲線理論的公鑰加密技術開發的。與傳統的基於大質數因子分解困難性的加密方法不同,ecc通過橢圓曲線方程式的性質產生金鑰。ecc 160bit演算法等級,相當於rsa 1024bit金鑰提供的保密強度,210bit與rsa2048演算法強度相當,計算量則更小,處理速度更快,儲存空間和傳輸頻寬占用較少。

ecc 加解密演算法詳解:

1ecdsa簽名

• 1、選擇一條橢圓曲線ep(a,b),和基點g;

• 2、選擇私有金鑰k(k• 3、產生乙個隨機整數r(r• 4、將原資料和點r的座標值x,y作為引數,計算sha1做為hash,即hash=sha1(原資料,x,y);

• 5、計算s≡r - hash * k (mod n)

• 6、r和s做為簽名值,如果r和s其中乙個為0,重新從第3步開始執行

2)ecdsa驗證

• 1、接受方在收到訊息(m)和簽名值(r,s)後,進行以下運算

• 2、計算:sg+h(m)p=(x1,y1), r1≡ x1 mod p。

• 3、驗證等式:r1 ≡ r mod p。

• 4、如果等式成立,接受簽名,否則簽名無效。

網路安全 非對稱加密

公開金鑰密碼演算法也叫雙金鑰密碼演算法或非對稱金鑰密碼演算法,它的加密金鑰與解密金鑰不同。這種演算法需要形成乙個在數學上是相關聯的金鑰對 乙個公鑰和乙個私鑰 使用其中乙個金鑰加密資料,用另乙個金鑰來解密。公鑰可以公開傳遞,不需要安全通道,但與之對應的私鑰必須保密。在圖1中,發件人用收件人的公鑰加密了...

第10章 網路安全(1) 對稱加密和非對稱加密

1網路安全概述 1.1計算機網路面臨的安全威協 1 截獲 攻擊者從網路上竊聽他人的通訊內容,通常把這類攻擊稱為 截獲 在被動攻擊中,攻擊者只是觀察和分析某乙個協議資料單元 pdu 而不干擾資訊流。2 篡改 攻擊者篡改網路上傳遞的報文。這裡包括徹底中斷傳遞的報文,甚至把完全偽造的報文傳送給接收方,這種...

安全加密 對稱加密和非對稱加密區別

區別 非對稱加密演算法實現加密資訊交換基本過程 可以雙向進行 甲方 生成一對金鑰並將其中一把作為公用金鑰向其他方公開 乙方 得到該金鑰的公鑰,使用該金鑰對加密資訊加密傳送給甲方 甲方 用與公鑰相匹配的私鑰來進行解密 一對秘鑰,只能進行單向加解密 x 對稱加密過程 可以雙向進行 甲乙雙方使用相同的秘鑰...