【密碼學基礎】Diffie-Hellman密鑰交換協議

DH介紹

Diffie-Hellman密鑰協議算法是一種確保共享密鑰安全穿越不安全網絡的方法。
這個機制的巧妙在于需要安全通信的雙方可以用這個方法確定對稱密鑰,然后可以用這個密鑰進行加密和解密。
但是注意,這個密鑰交換協議 只能用于密鑰的交換,而不能進行消息的加密和解密。 雙方確定要用的密鑰后,要使用其他對稱密鑰操作加密算法實際加密和解密消息。
這種秘鑰交換技術的目的在于使兩個用戶安全的協商一個會話密鑰。

DH密鑰交換流程

  • 步驟1:Alice和Bob共同確定公開的大素數 P P P和一個整數 G G G,其中 G G G P P P的原根
  • 步驟2:Alice選取一個秘密整數 a a a作為私鑰,然后對 a a a進行冪模計算,得到公鑰 A A A A = G a m o d P A=G^a~\mathrm{mod}~P A=Ga?mod?P,然后將 A A A發給Bob
  • 步驟3:和Alice一樣,Bob選取一個秘密整數 b b b作為私鑰,然后對 b b b進行冪模計算,得到公鑰 B B B B = G b m o d P B=G^b~\mathrm{mod}~P B=Gb?mod?P,然后將 B B B發給Alice【 A , B A, B A,B就是所謂的Diffie-Hellman公開值】
  • Alice計算密鑰 K 1 = B a m o d P K_1=B^a~\mathrm{mod}~P K1?=Ba?mod?P
  • 和Alice一樣,Bob計算密鑰 K 2 = A b m o d P K_2=A^b~\mathrm{mod}~P K2?=Ab?mod?P
  • K 1 = B a m o d P = ( G b ) a m o d P = G a b m o d P , K 2 = A b m o d P = ( G a ) b m o d P = G a b m o d P K_1=B^a~\mathrm{mod}~P=(G^b)^a~\mathrm{mod}~P=G^{ab}~\mathrm{mod}~P, K_2=A^b~\mathrm{mod}~P=(G^a)^b~\mathrm{mod}~P=G^{ab}~\mathrm{mod}~P K1?=Ba?mod?P=(Gb)a?mod?P=Gab?mod?P,K2?=Ab?mod?P=(Ga)b?mod?P=Gab?mod?P,因此, K 1 = K 2 K_1=K_2 K1?=K2? K 1 , K 2 K_1, K_2 K1?,K2?就是所謂的共享密鑰】

在這里插入圖片描述

安全性分析

對于冪模運算 c = b e m o d m c=b^e~\mathrm{mod}~m c=be?mod?m,只要給定 b , e , m b, e, m b,e,m,求模冪的過程是非常高效的。另一方面,當 m m m是大素數時,給定 b , c , m b, c, m b,c,m,求指數 e e e的過程是很難的【稱為離散對數的難題】。這種單向函數的特性使模冪運算被多次用于密碼算法中。

DH通信過程可見,只有 G , P , A , B G, P, A, B G,P,A,B會在傳輸,而 a , b a, b a,b是不會傳輸的。同時,因為離散對數的難解,當 G , P G, P G,P選的足夠大時,通過 A , B A, B A,B分別推算 a , b a, b a,b是極其困難的。進而,破解出最終的對稱密鑰K也是極其困難的。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/213103.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/213103.shtml
英文地址,請注明出處:http://en.pswp.cn/news/213103.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java面試題(每天10題)-------連載(45)

Dubbo篇 1、Dubbo的服務調用流程 2、Dubbo支持那種協議,每種協議的應用場景,優缺點? dubbo: 單一長連接和 NIO 異步通訊,適合大并發小數據量的服務調用,以及消費者遠大于提供者。傳輸協議 TCP,…

Proteus仿真--射擊小游戲仿真設計

本文介紹基于proteus射擊小游戲仿真設計(完整仿真源文件及代碼見文末鏈接) 仿真圖如下 K1-K4為4個按鍵,用于上移、下移、確認等,模擬單機游戲 仿真運行視頻 Proteus仿真--射擊小游戲仿真設計 附完整Proteus仿真資料代碼資料 …

ArcGIS界面顯示分辨率調整

因為電腦顯示分辨率的問題呢,ArcGIS的界面顯示會字體顯示不合適,出現模糊情況,這時候只需要做個簡單的操作設置一下便可以解決! 1、右鍵ArcMap的快捷啟動方式。 2、對應選擇兼容性——>更高DPI設置——>勾選替代DPI縮放行為…

自然場景圖像中的文本檢測綜述

摘 要 本文對自然場景文本檢測問題及其方法的研究進展進行了綜述. 首先, 論述了自然場景文本的特點、自然場景文本檢測技術的研究背景、現狀以及主要技術路線. 其次, 從傳統文本檢測以及深度學習文本檢測的視角出發, 梳理、分析并比較了各類自然場景文本檢測方法的優缺點, 并介…

體系化學習運籌學基礎算法的實踐和總結

文章目錄 引言目標設計目標實踐文章匯總經驗總結一則預告 引言 眨眼間已經12月了,眼看著2023年馬上要過完了。 女朋友最近總說,工作以后感覺時間過的好快。事實上,我也是這么認為的。年紀越大,越會擔心35歲危機的降臨。所以&…

Xubuntu16.04系統中使用EDIMAX EW-7822UAC無線網卡開啟5G自發AP

目錄 1.關于 EDIMAX EW-7822UAC2.驅動安裝3.查看無線網卡信息3.通過create_ap配置5G自發AP 1.關于 EDIMAX EW-7822UAC 官網介紹 https://www.edimax.com/edimax/merchandise/merchandise_detail/data/edimax/global/wireless_adapters_ac1200_dual-band/ew-7822uac/ 詳細參數…

Python開發運維:Python項目發布到K8S集群

目錄 一、實驗 1.Python項目發布到K8S集群 一、實驗 1.Python項目發布到K8S集群 (1)獲取應用程序代碼 #把hello-python.tar.gz壓縮包上傳到k8s控制節點master1的root下,手動解壓 tar zxvf hello-python.tar.gz (2&#xff0…

【Linux】進程周邊001之進程概念

👀樊梓慕:個人主頁 🎥個人專欄:《C語言》《數據結構》《藍橋杯試題》《LeetCode刷題筆記》《實訓項目》《C》《Linux》 🌝每一個不曾起舞的日子,都是對生命的辜負 目錄 前言 1.基本概念 2.描述進程-PCB…

LeetCode5.最長回文子串

昨天和之前打比賽的隊友聊天,他說他面百度面到這道算法題,然后他用暴力法解的,面試官讓他優化他沒優化出來,這道題我之前沒寫過,我就想看看我能不能用效率高一點的方法把它做出來,我一開始就在想用遞歸或者…

springboot(ssm滁州市特產銷售系統 特產商城系統Java系統

springboot(ssm滁州市特產銷售系統 特產商城系統Java系統 開發語言:Java 框架:ssm/springboot vue JDK版本:JDK1.8(或11) 服務器:tomcat 數據庫:mysql 5.7(或8.0) …

解決錯誤:sudo debtap -u curl: (22) The requested URL returned error: 404

具體錯誤 $ sudo debtap -u > Synchronizing pkgfile database... :: Updating 2 repos...core is up to dateextra is up to date > Synchronizing debtap database...% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload …

設計CPU功能的數字電路

實驗目的(1)熟悉Multisim 電路仿真軟件的操作界面和功能; (2)掌握邏輯電路綜合設計,并采用仿真軟件進行仿真。 實驗內容1.試設計一個簡易CPU功能的數字電路,實驗至少要求采用4個74HC/HCT194作為4個存儲單元(可以預先對存儲單元存儲數據),74HC283作為計算單元。請實現…

用相似對角矩陣加速矩陣的冪,以斐波那契數列為例

《用相似對角矩陣加速矩陣的冪,以斐波那契數列為例》 在計算機科學和線性代數領域,矩陣的冪是一個常見而重要的問題。特別是對于大型矩陣,直接計算冪可能會變得十分耗時。然而,通過相似對角矩陣的方法,我們能夠以更為…

多維時序 | MATLAB實現RIME-CNN-LSTM-Multihead-Attention多頭注意力機制多變量時間序列預測

多維時序 | MATLAB實現RIME-CNN-LSTM-Multihead-Attention多頭注意力機制多變量時間序列預測 目錄 多維時序 | MATLAB實現RIME-CNN-LSTM-Multihead-Attention多頭注意力機制多變量時間序列預測預測效果基本介紹模型描述程序設計參考資料 預測效果 基本介紹 MATLAB實現RIME-CNN-…

python字符串格式化--數字精度控制和快速寫法與表達式格式化

數字精度控制 我們可以使用m.n來控制數字的寬度和精度: m是寬度,設置必須為數字,且如果設置的數字小于本身,則不生效n控制小數點精度,必須為數字,會進行四舍五入 示例: 5d:是將寬…

idea本地調試hadoop 遇到的幾個問題

1.DEA對MapReduce的toString調用報錯:Method threw ‘java.lang.IllegalStateException‘ exception. Cannot evaluate org.apache.hadoop.mapreduc 解決方法:關閉 IDEA 中的啟用“ tostring() ”對象視圖 2.代碼和hdfs路徑都對的情況下,程序…

架構設計系列之基礎:初探軟件架構設計

11 月開始突發奇想,想把自己在公司內部做的技術培訓、平時的技術總結等等的內容分享出來,于是就開通了一個 Wechat 訂閱號(灸哥漫談),開始同步發送內容。 今天(12 月 10 日)也同步在 CSDN 上開通…

文章解讀與仿真程序復現思路——電力系統自動化EI\CSCD\北大核心《面向微電網群的云儲能經濟-低碳-可靠多目標優化配置方法》

這篇文章的標題涵蓋了以下關鍵信息: 面向微電網群:研究的重點是微電網群,這可能指的是多個微電網系統的集合,而不僅僅是一個單獨的微電網。微電網是指由分布式能源資源、儲能系統和智能控制組成的小型電力系統,通常能夠…

記錄每日LeetCode 406.根據身高重建隊列 Java實現

題目描述: 假設有打亂順序的一群人站成一個隊列,數組 people 表示隊列中一些人的屬性(不一定按順序)。每個 people[i] [hi, ki] 表示第 i 個人的身高為 hi ,前面 正好 有 ki 個身高大于或等于 hi 的人。 請你重新構…

《C++新經典設計模式》之附錄A 類和對象

《C新經典設計模式》之附錄A 類和對象 A.1 靜態對象的探討與全局對象的構造順序A.1.1 靜態對象的探討A.1.1.cpp A.1.2 全局對象的構造順序問題A.1.2.cpp A.2 拷貝構造函數和拷貝賦值運算符A.2.1 拷貝構造函數和拷貝賦值運算符的書寫A.2.1.cpp A.2.2 對象自我賦值產生的問題A.2.…