用小學數學來看待ECDH演算法

2021-08-08 16:10:19 字數 1679 閱讀 9747

ecdh 是什麼呢,就是乙個演算法,具體的概述什麼的等下再說,先看如下的,乙個例子:

10÷3=3.333333,如果結果用整數表示的話,結果就是3 但是還剩下乙個 1是除不盡的,1就是餘數

明白餘數就在看下面的

35184372088832(8^15) % 83=67

9223372036854775808(8^21) % 83=18   

上面的兩行^的意思是次方的意思,%的意思就是取餘,取餘就是:

(35184372088832(8^15)-67) %83=(9223372036854775808(8^21)-18)%83

我們把上面的8用 g代替,83用p代替

下來我們看下ecdh概述

alice 和 bob 同意使用質數 p 和基礎整數 g:

p = 83, g = 8

alice 選擇機密整數 a = 9,然後向 bob 傳送 (g^a) mod p:

(8^9) mod 83 = 5

bob 選擇機密整數 b = 21,然後向 alice 傳送 (g^b) mod p:

(8^21) mod 83 = 18

alice 計算 ( ( (g^b) mod p)^a) mod p:

(18^9) mod 83 = 24

bob 計算 ( ( (g^a) mod p)^b) mod p:

(5^21) mod 83 = 24

用對等式表達:(5^21) mod 83 =(18^9) mod 83(((8^9) mod 83)^21) mod 83 -24 = 0 =

(((8^21) mod 83)^9) mod 83 -24假設:在知道上面3個值的情況下:我們只有左邊或者右邊的乙個表示式,怎麼樣知道另外乙個表示式呢有如下幾種情況:第一種 我們知道 8 9 21 第二種 我們知道 8 9 24第三種 我們知道 8 21 24第四種 我們知道(8^9) mod 83

的值 21 83第五種 我們知道(8^21) mod 83的值 9 83上面的五種情況我們隨便知道一種情況 就可以計算出 另外一邊的值

但是上面是在雙方的值都沒有乙個固定的情況下。

現在在假設:我知道 8 83 是固定的。看如下表示式

( ( (8^a) mod 83)^b) mod 83= x =

( ( (8^b) mod 83)^a) mod 83

我只要知道任意兩個值不就求出另外乙個值了。

現在我們在說說ecdh演算法在計算機中的實現,此處往下都是我個人的推測具體怎麼實現了就不知道。。。。。

( ( (8^a) mod 83)^b) mod 83= x = ( ( (8^b) mod 83)^a) mod 83

假設:8是曲線 a是客戶端的私鑰,b是伺服器的私鑰,x是共享秘鑰 (8^a) mod 83是客戶端的私鑰 ,b是伺服器的私鑰,x是共享秘鑰

b是客戶端的私鑰 ,

(8^a) mod 83是伺服器的私鑰,x是共享秘鑰

83是曲線 a是客戶端的私鑰,b是伺服器的私鑰,x是共享秘鑰

................................等等就不一一列出來了

真正在客戶端和伺服器的資料校驗中,我感覺,曲線是固定的 客戶端的私鑰也是固定的(版本更新替換的不算),共享秘鑰一般是校驗用的會出現在資料報中。 我個人感覺ecdh演算法用在 資料校驗中是不安全的。  

如上**要是說的不對的,都可以講出來,大家共同進步學習。

小學數學題

小學數學題1 usetyp 1 目標 擷取字串usetyp 注意,usetyp的長度是可變的 問題 求以上字串usetyp的長度 注意usetyp的長度是不固定 設usetyp的長度 p 已知1 號的索引位置x indexof 已知理論2 字串長度 最大索引 1 所以,p x 1 3 p x 2 所...

小學數學公式

和 差 2 大數 和 差 2 小數 和 倍數 1 小數小數 倍數 大數 或者 和 小數 大數 差 倍數 1 小數小數 倍數 大數 或 小數 差 大數 封閉線路上的植樹問題的數量關係如下株數 段數 全長 株距全長 株距 株數株距 全長 株數 盈 虧 兩次分配量之差 參加分配的份數 大盈 小盈 兩次分配...

小學數學開燈問題 小學數學 抽屜原理(鴿巢問題)

假如有4只鴿子,要飛回3個巢穴,會出現什麼情況呢?我們先做 最壞的打算 每個巢穴飛入1只鴿子,剩下的鴿子無論飛入哪乙個巢穴,總有1個巢穴至少有2只鴿子。假如有三個抽屜,媽媽買回4個蘋果,讓你把蘋果放進三個抽屜中,會出現哪些情況呢?我們可以先把4分為幾個整數的和,則有如下四種情況 4 4 0 0 4 ...