java密码学原型算法_java密码学原型算法实现——双线性对.pdf
java密碼學原型算法實現——雙線性對
Java 密碼學原型算法實現——雙線性對
1、背景介紹
如何使用jPBC 庫進行雙線性群初始化,包括:
(1)質數階雙線性群(Prime-Order Bilinear Groups);
(2)合數階雙線性群(Composite-Order Bilinear Groups);
如何使用jPBC 庫執行雙線性群運算,包括:
(1)指數群Z 的加法和乘法;
(2)雙線性群G 的乘法和指數冪;
(3) 目標群GT 的乘法和指數冪
(4)雙線性群G 映射到目標群GT 的對(Pairing)運算;
(5)使用jPBC 庫的一些注意事項。
jPBC 2.0.0 實際上提供了DPVS 的實現,也是正確的。有興趣的朋友們可以自己研究
一下,我在這里就不詳述了。 如何使用jPBC 2.0.0 的多線性對(Multilinear Maps)函
數庫;這方面我自己一直沒找時間測試一下多線性對函數庫,實際上近期我也不太想測試
這個庫,主要有兩方面的原因。
現在所構造出來的多線性對并非密碼學中的理想多線性對(Ideal Multilinear
Maps),而是候選多線性對(Candidate Multilinear Maps),后者在使用上有很多的限
制。 jPBC 2.0.0 實現的多線性對是[CLT-14]的方案,但這個方案已經被證明是不安全的
了。
2、雙線性群簡介
這里我直接引用自己的二篇水文來介紹(都是湊數用的…)選擇密文安全的身份及廣
播加密方案,密碼學報,Experimental performance comparisons between (H) IBE
schemes over composite-order and prime-order bilinear groups,IBCAST 2014。
3、質數階雙線性群(Prime-Order Bilinear Groups)
質數雙線性群可以由五元組 p ,G ,G ,G ,e 來描述。五元組中 是一個與安全常數
? 1 2 T ? p
G , G , G e e :G ?G ?G
? 相關的大質數, 1 2 T 是階為p 的乘法循環群, 為雙線性映射 1 2 T ,
它滿足以下3 個條件:
(1)雙線性(Bilinear):對任意的g ?G ,h ?G ,a,b ?Z ,有
1 2 p
a b ab
e ?g , h ? e ?g, h? ;
(2)非退化性(Non-degeneracy)至少存在元素g ?G ,g ?G ,滿足
1 1 2 2
e ?g , g ? ?1;
1 2
(3)可計算性(Efficiency):對于任意的u ?G ,v ?G ,存在一個與給定安全常數
1 2
? 相關的多項式時間算法,可以高效地計算e u,v ;
? ?
現在的密碼學相關論文中,習慣將G , G 設置為乘法循環群。但是,基于橢圓曲線的
1 2
雙線性群構造中,G , G 是加法群。所以在大約2005 年以前的論文中,雙線性群一般寫成
1 2
加法群形式。jPBC 中將G , G 表示稱為了乘法循環群,因此在實現寫成加法群形式的方案
總結
以上是生活随笔為你收集整理的java密码学原型算法_java密码学原型算法实现——双线性对.pdf的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 董明珠:只有自主创新才能成为行业领跑者
- 下一篇: java调用js查询mongo_mong