TLS 中的加密演算法 - Diffie Hellman

更新於 發佈於 閱讀時間約 2 分鐘

TLS (Transport Layer Security)是一種加密的安全協定,被用在加密的網路傳輸,本篇會介紹TLS的handshake(握手機制),以及其中的使用的演算法Diffie Hellman Algorithm。

本篇第一段以擬人的描述說明鑰匙交換的概念,第二段展示演算法的數學。


案例中以Alice 、Bob作為主角,進行加密的溝通。

第一步Alice會先跟Bob約定用某一個鑰匙加解密,這個公鑰(public key)稱為鑰匙p,此時Alice以及Bob會各自產出一把私鑰,安全的保存在各自的電腦,分別為鑰匙a、鑰匙b。

再來Alice要對Bob進行加密溝通前,會把私鑰a跟鑰匙p合成的鑰匙ap,傳遞給Bob,Bob將收到的鑰匙ap加上自己的私鑰b再合成鑰匙abp ,而Bob也回傳給Alice一把由私鑰b跟鑰匙p合成的鑰匙bp,同樣Alice將鑰匙bp加上自己的私鑰a合成鑰匙abp,最終得到Alice及Bob都同時擁有鑰匙abp,他們就可以開始進行加密傳遞訊息了。


數學上公鑰會用質數p,元根g來作為數字

假定Alice & Bob決定用p=23 g=5約定,Alice選擇一個數字a=6,

計算A=g^a mod p=8後傳給Bob,Bob挑選數字b=15

計算B=g^b mod p=19 送給Alice

此時Bob和Alice可以利用已經約定好的p, g以及對方傳來的A,B算出一個只有對方知道的密鑰K

由 de:Benutzer:DaMutz — 自己的作品, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=4265606

由 de:Benutzer:DaMutz — 自己的作品, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=4265606

算式:

K=A^b mod p=(g^a mod p)^b mod p =g^ab mod p

= B^a mod p =(g^b mod p)^a mod p

Alice用 B^a mod p = 19⁶ mod 23 算出K=2

Bob用A^b mod p=8¹⁵ mod 23 算出K=2

實務上a, b, p的數字都會非常大,在a,b 是100位數,p 是300位的質數情況下,破解這段方程變得幾乎不可能。

Reference: https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange


留言
avatar-img
留言分享你的想法!
avatar-img
Jo1ce Li的沙龍
2會員
8內容數
Jo1ce Li的沙龍的其他內容
2024/09/05
這篇文章介紹瞭如何運用強大的AI工具Claude 3.5 Sonnet來優化和開發自己的交易策略。通過使用Python程式碼及TradingView的PineScript,讀者可以輕鬆理解動能策略及ATR實現的方法,並在TradingView上實踐以評估報酬率和風險指標。
Thumbnail
2024/09/05
這篇文章介紹瞭如何運用強大的AI工具Claude 3.5 Sonnet來優化和開發自己的交易策略。通過使用Python程式碼及TradingView的PineScript,讀者可以輕鬆理解動能策略及ATR實現的方法,並在TradingView上實踐以評估報酬率和風險指標。
Thumbnail
2024/09/04
本文深入探討程式交易中的研究與回測過程,使用TradingView進行策略測試。介紹如何運用PineEditor撰寫交易策略腳本,並利用ATR指標繪製突破通道,以預測市場趨勢。通過對回測結果的分析,本文提供勝率、投資回報率及風險指標的解釋,幫助投資者更有效地調整策略以達到最佳表現。
Thumbnail
2024/09/04
本文深入探討程式交易中的研究與回測過程,使用TradingView進行策略測試。介紹如何運用PineEditor撰寫交易策略腳本,並利用ATR指標繪製突破通道,以預測市場趨勢。通過對回測結果的分析,本文提供勝率、投資回報率及風險指標的解釋,幫助投資者更有效地調整策略以達到最佳表現。
Thumbnail
2024/09/02
這篇文章記錄了一位外行人初學程式交易的經驗,重點介紹了程式交易的基本概念、優缺點,以及開戶所需步驟。作者以臺指期為例,簡單解釋了這種槓桿商品的運作方式,並提供了開戶過程中的實用建議。內容適合對程式交易感興趣的初學者,並鼓勵讀者留言互動,促進學習與交流。
2024/09/02
這篇文章記錄了一位外行人初學程式交易的經驗,重點介紹了程式交易的基本概念、優缺點,以及開戶所需步驟。作者以臺指期為例,簡單解釋了這種槓桿商品的運作方式,並提供了開戶過程中的實用建議。內容適合對程式交易感興趣的初學者,並鼓勵讀者留言互動,促進學習與交流。
看更多
你可能也想看
Thumbnail
TLS (Transport Layer Security)是一種加密的安全協定,被用在加密的網路傳輸,本篇會介紹TLS的handshake(握手機制),以及其中的使用的演算法Diffie Hellman Algorithm。 本篇第一段以擬人的描述說明鑰匙交換的概念,第二段展示演算法的數學。
Thumbnail
TLS (Transport Layer Security)是一種加密的安全協定,被用在加密的網路傳輸,本篇會介紹TLS的handshake(握手機制),以及其中的使用的演算法Diffie Hellman Algorithm。 本篇第一段以擬人的描述說明鑰匙交換的概念,第二段展示演算法的數學。
Thumbnail
坊間談論區塊鏈技術的文章影片中,有著諸多不夠精確而容易偏差的誤解。這篇文章會秉著科學精神,從原理出發,一步步推論各種議題的真實樣貌。
Thumbnail
坊間談論區塊鏈技術的文章影片中,有著諸多不夠精確而容易偏差的誤解。這篇文章會秉著科學精神,從原理出發,一步步推論各種議題的真實樣貌。
Thumbnail
本期要介紹的是加密貨幣的相關名詞,以下的許多名詞經常出現在商業週刊、經濟日報、投資相關書籍、新聞報導裡。每期的內容不會一次介紹幾十個名詞,讓讀者記不得,希望讀者能運用每期學習的機會,來讀懂各式商業報刊雜誌。 ※為方便區分,粗體字為專有名詞或是備註 加密&解密 金鑰:加密機制的暱稱,用於還原密文。
Thumbnail
本期要介紹的是加密貨幣的相關名詞,以下的許多名詞經常出現在商業週刊、經濟日報、投資相關書籍、新聞報導裡。每期的內容不會一次介紹幾十個名詞,讓讀者記不得,希望讀者能運用每期學習的機會,來讀懂各式商業報刊雜誌。 ※為方便區分,粗體字為專有名詞或是備註 加密&解密 金鑰:加密機制的暱稱,用於還原密文。
Thumbnail
上一篇提到Bitcoin的起源。這一篇我將嘗試分享Samotoshi如何實現他的加密交易?他把電子硬幣形容成數字簽名鏈。 總結一下系統步驟如下: 1. 新交易被廣播至所有礦機。 2. 礦機接受新交易並納入自己的區塊。 3. 礦機進行工作量證明運算。 4. 礦機找出運算后,把新區塊加在區塊鏈上。
Thumbnail
上一篇提到Bitcoin的起源。這一篇我將嘗試分享Samotoshi如何實現他的加密交易?他把電子硬幣形容成數字簽名鏈。 總結一下系統步驟如下: 1. 新交易被廣播至所有礦機。 2. 礦機接受新交易並納入自己的區塊。 3. 礦機進行工作量證明運算。 4. 礦機找出運算后,把新區塊加在區塊鏈上。
Thumbnail
基礎密碼學中主要分成三種加密方式:對稱加密(Symmetric Encryption)、非對稱加密(Asymmetric Encryption)、雜湊函數(Hash Function)。 再說明這兩個加密方式前,我們先來說說什麼是密鑰! 什麼是密鑰 對稱加密 用同一把密鑰來加密及解密 非對稱加密
Thumbnail
基礎密碼學中主要分成三種加密方式:對稱加密(Symmetric Encryption)、非對稱加密(Asymmetric Encryption)、雜湊函數(Hash Function)。 再說明這兩個加密方式前,我們先來說說什麼是密鑰! 什麼是密鑰 對稱加密 用同一把密鑰來加密及解密 非對稱加密
Thumbnail
公鑰 (Public Key):加密貨幣地址的一部分,是你公開分享的數字,讓人可以寄錢給你,如 0x462d024852349ebF611794791D35d8D8C5480DeB 私鑰 (Private Key):加密貨幣地址的另一部分,是你保密的數字,用來驗證你收到的錢是否真的屬於你。
Thumbnail
公鑰 (Public Key):加密貨幣地址的一部分,是你公開分享的數字,讓人可以寄錢給你,如 0x462d024852349ebF611794791D35d8D8C5480DeB 私鑰 (Private Key):加密貨幣地址的另一部分,是你保密的數字,用來驗證你收到的錢是否真的屬於你。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News