Ed25519 的替代品較弱?
對我來說,Ed25519 的主要優點是它避免了專利(通過一維計算)並且速度很快。
但是,Ed25519 的 128 位安全性有時過於強大,無法遵守出口法規。
所以我想知道是否有任何我可以使用的相同類型的較弱曲線(即也無專利且快速)?(或者我應該更深入地了解 ECC 並嘗試自己確定這種曲線的參數嗎?)
secp112r1
您可以嘗試中引用的 112 位$$ 1 $$. 在你這樣做之前,那篇論文的問題是他們實際上展示瞭如何打破這條曲線上的離散對數問題!這要追溯到 2012 年。因此,任何具有出口實力的 ECC 實施都絕對可以被政府、研究小組和足夠堅定/足智多謀的商業對手破壞。
因此,您將銷售的加密貨幣雖然可以安全導出,但眾所周知是易破解的,並且您正在與其他沒有此“功能”的加密庫競爭。我懷疑這是否是一個明智的想法。
編輯:哎呀,我忘了檢查關鍵點 - 它是無專利的。但是問題仍然存在,任何 112 位曲線,無論是否獲得專利,都足夠小,即使不容易獲取離散日誌,也可以是可行的。
EDIT2:在我的機器上,
openssl ecparam -list_curves
包括secp112r1
並根據$$ 2 $$sun 編寫 OpenSSL ECC 包“正是為了避免任何專利方法”。在我看來,只要您不使用任何獲得專利的實現技術重新實現它,您就應該對這條曲線沒問題。這當然不是法律建議。 $$ 1 $$ http://lacal.epfl.ch/files/content/sites/lacal/files/papers/noan112.pdf $$ 2 $$ https://security.stackexchange.com/questions/3519/can-ecc-be-used-without-infringing-on-patents
雖然布里斯托爾的答案解決了尋找任何 112 位曲線的問題,但它實際上並不是 Ed25519 的合適替代品,因為它不是(扭曲的)愛德華茲曲線。
我再次聲明,同意這個執行緒中的共同共識,從安全形度來看,追求 112 位曲線是沒有意義的。但有時您確實希望您的展示程式碼在那些“流氓狀態”下可用。或者你的法律部門讓你,無論如何。
免責聲明:我不是律師。這不是關於如何正確遵守所有或任何適用法律的法律建議,包括 Wassenaar 協議及其在適用司法管轄區的轉換。
尋找曲線
我不知道已經指定了任何這樣的曲線,但是
$$ 1 $$指定一個用 Magma 編寫的驗證程序,用於不同級別的曲線。他們沒有在論文中指定 112 位曲線,但他們的 Magma 腳本可以重新調整用途,通過選擇合適的素數並遞增來生成 112 位“安全”級別的曲線 $ d $ 一個,直到曲線檢查出來。 遵循中概述的策略
$$ 1 $$選擇一個素數 $ p $ 盡可能接近 $ 2^{112} $ 並調整他們的程式碼,你會得到愛德華茲曲線 $ x^2+y^2=1-1260x^2y^2 $ 超過 $ \mathbb{F}_{2^{111}-37} $ :
- 場素數 $ p = 2^{111}-37 $ ,觀察到 $ p \equiv 3 \pmod 4 $ 和 $ 37 < 111 $
- 曲線參數 $ a=1 $ , $ d=-1260 $
- 素群順序 $ r=649037107316853431433280197358493 $ ; 曲線有輔因子 $ h=4 $ ,所以整個組的大小是 $ 4r=2596148429267413725733120789433972 $ , 這確實小於 $ 2^{112} $ 根據瓦森納協議的要求
- $ \rho $ “安全”的 $ 2^{54.3} $
- 基點 $ y $ -協調 $ y=2 $ (如果您正在考慮使用 Decaf 或 Ristretto,請使用基點 $ s=14 $ )
(旁白:可以使用相同的程式碼找到合適的蒙哥馬利曲線 $ p=2^{112}-75 $ 在 $ A=160072 $ .)
我必須強調,112 位的“安全性”太薄了,在使用 PS3 集群的學術環境中被破壞了;整個事情在 2009 年只花了幾個月的時間計算。
$$ 2 $$在撰寫本文時,這是十多年前的事了。對數字運算 GPU 的訪問現在很普遍。如果除了問題中提到的展示之外,您還依賴它來完成任何事情,那麼您的系統可能會被任何有合理動機的攻擊者(很可能包括一群學生將他們的免費云提供商學生信用匯集在一起)的字面蠻力破壞。 在橢圓曲線空間中不太可能找到真正安全的替代方案——它可能的意圖是,只有能夠被民族國家行為者合理破解的密碼學才能完全排除在任何類型的限制之外。
實例化 EdDSA
Ed25519 是 EdDSA 的實例化。
$$ 3 $$EdDSA 的參數化在$$ 4 $$. 以下參數適用於上述曲線:
- $ q $ 是 $ p $ 多於
- $ b = 112 $ (圍捕 $ p $ 到最近的字節)
- $ H $ 被實例化為 SHA-224、SHA-512/224 或 SHA3-224(您可能需要避免使用 BLAKE2,因為它對用作 MAC 的本機支持引入了具有$$ long $$再次鍵;至少 Wassenaar 協議本身似乎並不關心雜湊函式)
- $ c = 2 $ (因為輔因子 $ h=4 $ , $ c $ 存在 $ \log_2 h $ )
- $ n = b-1 = 111 $
- $ a $ 和 $ d $ 根據上述曲線
- $ B $ 作為對 $ y $ - 上面的基點或 Decaf/Ristretto 點的座標 $ s $ 以上如果使用無咖啡因/Ristretto
- $ \ell $ 是 $ r $ 多於
(注意
$$ 3 $$要求您使用域分隔字元串和
dom2()
函式,因為您將 EdDSA 實例化為非 Ed25519。) 參考$$ 1 $$Diego F. Aranha、Paulo S. L. M. Barreto、Geovandro C. C. F. Pereira、Jefferson E. Ricardini。關於高安全性通用橢圓曲線的說明,2013 年(版本 20190123:033905)。 $$ 2 $$Joppe W. Bos、Marcelo E. Kaihara、Thorsten Kleinjung、Arjen K. Kenstra、Peter L. Montgomery。關於 1024 位 RSA 和 160 位橢圓曲線密碼學的安全性,2009。 $$ 3 $$S.約瑟夫森,I.柳斯瓦拉。愛德華茲曲線數字簽名算法 (EdDSA),RFC 8032,2017。 $$ 4 $$Daniel J. Bernstein、Simon Josefsson、Tanja Lange、Peter Schwabe、Bo-Yin Yang。更多曲線的 EdDSA,2015 年。