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
2會員
8內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
/ 大家現在出門買東西還會帶錢包嗎 鴨鴨發現自己好像快一個禮拜沒帶錢包出門 還是可以天天買滿買好回家(? 因此為了記錄手機消費跟各種紅利優惠 鴨鴨都會特別注意銀行的App好不好用! 像是介面設計就是會很在意的地方 很多銀行通常會為了要滿足不同客群 會推出很多App讓使用者下載 每次
Thumbnail
本篇介紹了常見的加密演算法。對稱式加密使用相同的金鑰進行加解密,常見的演算法有DES、3DES和AES;而非對稱式加密則依賴於一對公私金鑰,典型演算法包括RSA和ECC。此外,文章還探討了雜湊函式的基本特性及應用,如MD和SHA,以及數位簽章的重要性。本文旨在幫助讀者理解當今信息安全領域的核心技術。
在今日數位化的世界中,保護資料的安全性尤為重要。加密憑證(SSL/TLS Certificates)扮演著確保網站和用戶之間資料傳輸安全的重要角色。本文將深入探討加密憑證的原理、作用以及如何選擇適合的加密憑證來保護您的網站。 1. 加密憑證的基本概念 加密憑證是一種數位檔案,用於證明網站身份的真
Thumbnail
這題主要是在考 RSA 加密演算法,為此我還特地去研究了費馬小定理、尤拉定理、RSA演算法證明,但也因此把自己弄得頭昏眼花。讓我們一起看看這困難的一題吧。
Thumbnail
進入區塊鏈/Web3的世界,首先需要擁有一個錢包或帳號。本文從重要名詞和觀念入手,介紹公鑰和私鑰的重要性,以及助記詞的作用。探討加密錢包的種類,從私鑰控制權和網路連接的角度進行分類。同時提醒了私鑰保管的重要性,以及在交易所和網路交互中的安全提醒。最後透過實際案例介紹了社交工程和釣魚的危害。
Thumbnail
/ 大家現在出門買東西還會帶錢包嗎 鴨鴨發現自己好像快一個禮拜沒帶錢包出門 還是可以天天買滿買好回家(? 因此為了記錄手機消費跟各種紅利優惠 鴨鴨都會特別注意銀行的App好不好用! 像是介面設計就是會很在意的地方 很多銀行通常會為了要滿足不同客群 會推出很多App讓使用者下載 每次
Thumbnail
本篇介紹了常見的加密演算法。對稱式加密使用相同的金鑰進行加解密,常見的演算法有DES、3DES和AES;而非對稱式加密則依賴於一對公私金鑰,典型演算法包括RSA和ECC。此外,文章還探討了雜湊函式的基本特性及應用,如MD和SHA,以及數位簽章的重要性。本文旨在幫助讀者理解當今信息安全領域的核心技術。
在今日數位化的世界中,保護資料的安全性尤為重要。加密憑證(SSL/TLS Certificates)扮演著確保網站和用戶之間資料傳輸安全的重要角色。本文將深入探討加密憑證的原理、作用以及如何選擇適合的加密憑證來保護您的網站。 1. 加密憑證的基本概念 加密憑證是一種數位檔案,用於證明網站身份的真
Thumbnail
這題主要是在考 RSA 加密演算法,為此我還特地去研究了費馬小定理、尤拉定理、RSA演算法證明,但也因此把自己弄得頭昏眼花。讓我們一起看看這困難的一題吧。
Thumbnail
進入區塊鏈/Web3的世界,首先需要擁有一個錢包或帳號。本文從重要名詞和觀念入手,介紹公鑰和私鑰的重要性,以及助記詞的作用。探討加密錢包的種類,從私鑰控制權和網路連接的角度進行分類。同時提醒了私鑰保管的重要性,以及在交易所和網路交互中的安全提醒。最後透過實際案例介紹了社交工程和釣魚的危害。