看板 Math 關於我們 聯絡資訊
最近在認識比特幣時,了解到比特幣的公鑰,私鑰是利用數學的橢圓曲線來做加密。 過程會對特定的橢圓曲線取mod 來得到整數的座標點,變成離散數學。 想問的問題是"取mod 後的座標有辦法對映到原本連續的橢圓曲線上的點嗎?" 例如比特幣使用的曲線 y^2=x^3+7 在取mod 31時只會有20個座標點,加上"無窮遠",階數就是21 而連續的橢圓曲線在選擇特定的點使得階數也是21時,也是有固定的20個座標點+"無窮遠 "(沒有其他可能的點使得階數也是21) 所以我覺得離散後的20個點應該可以對映到連續曲線上的20個點。 例如在我這例子裡,離散後的(0,10)、(0,21)可以對映到連續曲線上的(0,2.6458),(0,-2 .6458), 會容易得到這結論是因為N=21不是質數,所以在這些點,階數會變3,扣除"無窮 遠"後,就剩下這兩個點,所以我覺得這兩對是對映的關係,但不知道一對一是哪兩個點。 不知道有沒有相關分析來尋找離散跟連續間的對映關係? google了很多相關網頁,沒找到任何相關分析,有看到"橢圓曲線的數學是屬於研究所的 課程"才來這邊發問,不知道有修習過的高手能分享嗎?或是有相關文獻可以推薦? 還是說本來就不可能找到所有點在連續曲線上的對映關係?畢竟ECDSA是很多資安系統採 用的加密方式。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.137.94.110 ※ 文章網址: https://www.ptt.cc/bbs/Math/M.1534239613.A.E91.html
thr3ee : 雖然我也對這個不太熟 但因為都沒人回 就來獻醜 08/16 10:02
thr3ee : 橢圓曲線原本的是定義在R上的連續曲線 08/16 10:03
thr3ee : 如果你想把它定義在Z上 考慮到y^2=f(x)=xxx+ax+b 08/16 10:03
thr3ee : 並不是每個f(x)的值都是平方數 08/16 10:07
thr3ee : 總之 直接定義在Z上會失敗 尤其是考慮到反元素定義 08/16 10:08
thr3ee : 所以取而代之 我們把它定義在mod N上 08/16 10:09
thr3ee : 然後可以證明他well defined 而且反元素也存在之類 08/16 10:09
thr3ee : 假設直接把mod N的點搬到Z上 則無法定義反元素之類 08/16 10:12
thr3ee : 大概就是這樣 08/16 10:12
thr3ee : PS:數學系的橢圓曲線不考慮mod N 只談積分性質 08/16 10:13
thr3ee : 還有一些數論公式等等 應該不會是你想要的東西 08/16 10:13
okpk3k : 謝謝回覆!有幾個問題想問 08/16 12:36
okpk3k : R是實數 Z是複數的意思嗎? 08/16 12:37
okpk3k : 可能我哪裡理解錯誤,f(x)的值不都是實數嗎?那應 08/16 12:41
okpk3k : 該都可以開平分根,就都是平方數,為什麼不能直接定 08/16 12:41
okpk3k : 義在Z上? 08/16 12:41
okpk3k : 還是你的意思是取完mod的f(x) 並不是所有值都能開 08/16 12:43
okpk3k : 根號? 08/16 12:43
okpk3k : 例如在我舉例的曲線中f(3)或f(6)的值就不能開根號, 08/16 12:45
okpk3k : 不是平方數? 08/16 12:45
okpk3k : 但有沒有可能 雖然不是所有的f(x)都能當平方數,但 08/16 12:50
okpk3k : 一旦f(x1)能當平方數 就能在Z裡找到對映的值? 在 08/16 12:50
okpk3k : 我的例子裡就是 必須在連續曲線上先找到特定的點, 08/16 12:50
okpk3k : 這些點使得階數為21,才能對映到mod 31下的點? 08/16 12:50
okpk3k : 另外好奇一問,橢圓曲線的積分性質或其他數論分析, 08/16 12:52
okpk3k : 有沒有可能在取mod N 後仍然成立!? 08/16 12:52
okpk3k : 數學系不考慮mod N 來分析應該是正常的,偏偏取mod 08/16 12:55
okpk3k : N 是能用來加密的關鍵...總覺得很神奇,為何取完mo 08/16 12:55
okpk3k : d N, 定義的加法公式仍然成立... 08/16 12:55
LPH66 : Z 是整數, 不是複數喔 08/16 13:22
okpk3k : 喔喔喔 謝謝告知 08/16 13:28
thr3ee : 先不要管我那個平方的說法 08/16 20:50
thr3ee : 如果有兩個整數點 連成直線交橢圓曲線於第三點 08/16 20:51
thr3ee : 則該點對稱y軸後的點仍在曲線上 定義成兩點總和 08/16 20:51
thr3ee : 如果你把橢圓曲線定義在整數上 辦不到以上這件事情 08/16 20:51
thr3ee : 光是直線的斜率就不是整數 更別說和曲線交點要整數 08/16 20:52
thr3ee : 但如果你取mod N 那麼不管是斜率還是交點都是整數 08/16 20:52
thr3ee : *更正 對稱x軸 08/16 20:53
thr3ee : 然後橢圓曲線在R和ZmodN上可定義 是因為他們是體喔 08/16 20:59
thr3ee : 反之 Z(整數)不是體 所以就不可以定義 08/16 20:59
thr3ee : 這是抽象代數的內容 08/16 21:00
okpk3k : 橢圓曲線能定義在R跟Z mod N 上是因為他們是體(我再 08/16 21:57
okpk3k : 自行去了解 體 的定義) 所以我的問題應該要問 當曲 08/16 21:57
okpk3k : 線定義在這兩個體且階數相同時,有辦法找出對映關係 08/16 21:57
okpk3k : 嗎? 08/16 21:57
okpk3k : 阿阿阿 不過在R這個體時,曲線上有連續的無限多個點 08/16 22:00
okpk3k : ,但在Z mod N 上只會固定數量的點 08/16 22:00
okpk3k : 曲線的"加法"能在R以及Z mod N 兩個體上都成立,是 08/16 22:06
okpk3k : 不是表示也有可能有其他"運算"在這兩個體也成立,就 08/16 22:06
okpk3k : 可能利用這"運算"找出對應的點? 08/16 22:06
okpk3k : 抽象代數(第一次聽到...)有類似的數論嗎?嘗試在兩 08/16 22:09
okpk3k : 個不同的體找出的對應的關係,或是認為無法有對應 08/16 22:09
okpk3k : 關係? 08/16 22:09
thr3ee : 如果兩個體一樣大 他們會一樣(isomorphic) 08/16 22:28
thr3ee : 就好比有一群學生 他們的中文名是一個體 英文名也是 08/16 22:29
thr3ee : 這兩個名字的集合關係就是那種同構的感覺 08/16 22:29
thr3ee : 或者說 假設兩個體大小為t 則他們元素為x^t-x=0的根 08/16 22:30
thr3ee : 而且還可以證明t一定是某個質數的次方 08/16 22:31
okpk3k : 謝謝回答,好專業數學的感覺! 08/16 23:07
okpk3k : 但橢圓曲線在R這個 體 上,大小應該是無窮大!?因 08/16 23:09
okpk3k : 為是連續且沒上限的曲線 08/16 23:09
okpk3k : 還是要 看成 橢圓曲線 在階數為N時 在R上 的體? 這 08/16 23:11
okpk3k : 樣在我例子裡,大小就是固定的21個 08/16 23:11
thr3ee : 但是無限大還分很多 有Q(有理數) R(實數)等等的體 08/16 23:12
okpk3k : 然後在mod 31時的 Z mod N 這個 體 上 階數也是21 08/16 23:13
okpk3k : 兩個體的大小 會相同 08/16 23:13
okpk3k : 但21不是某個質數的次方 08/16 23:15
thr3ee : Zmod31是一個體 元素為x^31-x=0的根 08/16 23:17
thr3ee : 但是在這個體定義出來的橢圓曲線就不受限制了 08/16 23:17
thr3ee : 你定義出來的橢圓曲線 頂多只有加法 只是個"群"而已 08/16 23:18
okpk3k : 說到有理數還是 實數 老實說我不知道 在連續曲線上 08/16 23:19
okpk3k : 取出特定點 使得階數為21時,這20個點 座標是有理 08/16 23:19
okpk3k : 數還是無理數...因為我只是用excel 計算,用逼近法 08/16 23:19
okpk3k : 得到這20個點座標,小數位到9、10位 但是有理數還 08/16 23:19
okpk3k : 無理數...無從得知 08/16 23:19
okpk3k : 喔喔喔 我以為t是體的大小(個數?) 08/16 23:22
okpk3k : 橢圓曲線在取 mod P 時 個數常常不等於P 08/16 23:23
okpk3k : 喔喔喔 懂了 我說的個數 是群的大小 不是體的大小 08/16 23:25
thr3ee : 我有把以上討論的內容整理一篇回文了 你可以去看看 08/16 23:55