日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

curve25519-dalek中RistrettoPoint的double_and_compress_batch原理梳理

發布時間:2024/5/14 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 curve25519-dalek中RistrettoPoint的double_and_compress_batch原理梳理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

可參照博客Extended twisted Edwards curve坐標系及相互轉換第2.3.2節,有:
2 ( X 0 : Y 0 : Z 0 : T 0 ) = ( X : Y : Z : T ) 2(X_0:Y_0:Z_0:T_0)=(X:Y:Z:T) 2(X0?:Y0?:Z0?:T0?)=(X:Y:Z:T)
X = ( 2 X 0 Y 0 ) ( Z 0 2 ? d T 0 2 ) = e h X=(2X_0Y_0)(Z_0^2-dT_0^2)=eh X=(2X0?Y0?)(Z02??dT02?)=eh
Y = ( Y 0 2 ? a X 0 2 ) ( Z 0 2 + d T 0 2 ) = g f Y=(Y_0^2-aX_0^2)(Z_0^2+dT_0^2)=gf Y=(Y02??aX02?)(Z02?+dT02?)=gf
T = ( Y 0 2 ? a X 0 2 ) ( 2 X 0 Y 0 ) = e g T=(Y_0^2-aX_0^2)(2X_0Y_0)=eg T=(Y02??aX02?)(2X0?Y0?)=eg
Z = ( Z 0 2 ? d T 0 2 ) ( Z 0 2 + d T 0 2 ) = f h Z=(Z_0^2-dT_0^2)(Z_0^2+dT_0^2)=fh Z=(Z02??dT02?)(Z02?+dT02?)=fh
其中:
e = 2 X 0 Y 0 , g = Y 0 2 ? a X 0 2 , f = Z 0 2 + d T 0 2 , h = Z 0 2 ? d T 0 2 e=2X_0Y_0,g=Y_0^2-aX_0^2,f=Z_0^2+dT_0^2,h=Z_0^2-dT_0^2 e=2X0?Y0?,g=Y02??aX02?,f=Z02?+dT02?,h=Z02??dT02?

對應的Extended坐標系表示為:
ε a , d : = { ( X : Y : Z : T ) ∈ P 3 ( F ) : X Y = Z T a n d a ? X 2 + Y 2 = Z 2 + d ? T 2 } \varepsilon_{a,d}:=\{(X:Y:Z:T)\in P^3(F):XY=ZT\ and\ a*X^2+Y^2=Z^2+d*T^2\} εa,d?:={(X:Y:Z:T)P3(F):XY=ZT?and?a?X2+Y2=Z2+d?T2}

batch_invert的原理見博客curve25519-dalek中Scalar的Montgomery inversion及batch_invert算法第四節內容。

extended坐標系下的壓縮原理見博客ristretto255 point壓縮和解壓縮算法(2)——extended坐標系下中第2節。

總結

以上是生活随笔為你收集整理的curve25519-dalek中RistrettoPoint的double_and_compress_batch原理梳理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。