學習軌道
/
Kotlin
Kotlin
/
練習
/
Diffie-Hellman
Diffie-Hellman

Diffie-Hellman

困難

說明

Diffie-Hellman 金鑰交換。

Alice 與 Bob 使用 Diffie-Hellman 金鑰交換來共享秘密。 他們從質數開始,挑選私鑰,產生並交換公鑰,接著產生一把共享密鑰。

步驟 0

測試程式會提供質數 p 和 g。

步驟 1

Alice 挑選一把私鑰 a,它大於 1 且小於 p。 Bob 也同樣挑選一把私鑰 b。

步驟 2

Alice 計算出公鑰 A。

A = gᵃ mod p

Bob 使用相同的 p 和 g,同樣從他的私鑰 b 計算出公鑰 B。

步驟 3

Alice 與 Bob 交換公鑰。 Alice 計算出密鑰 s。

s = Bᵃ mod p

Bob 計算

s = Aᵇ mod p

兩邊的計算會得到相同的結果! Alice 與 Bob 現在共享秘密 s。

透過 GitHub 編輯 連結會在新視窗或分頁中開啟
Kotlin Exercism

準備好開始 Diffie-Hellman 了嗎?

註冊 Exercism,透過 88 個練習 和真人引導來學習並精通 Kotlin,全部免費。