2
我正在使用项目ORUTA中的双线性映射,并且在实现它时卡住了一个等式。的公式为:在JPBC中将元素从G1映射到Zn
r*h(λ)
其中r是选自Zn随机元素(对于一些大素n)和λ是G1的构件,其中G1是与发电机克乘法环状基团。
这里h()由G→Zn给出。
如何将属于G1的λ的值映射到Zn中的值。
我在java中使用JPBC库来实现这个基于配对的应用程序。
我正在使用项目ORUTA中的双线性映射,并且在实现它时卡住了一个等式。的公式为:在JPBC中将元素从G1映射到Zn
r*h(λ)
其中r是选自Zn随机元素(对于一些大素n)和λ是G1的构件,其中G1是与发电机克乘法环状基团。
这里h()由G→Zn给出。
如何将属于G1的λ的值映射到Zn中的值。
我在java中使用JPBC库来实现这个基于配对的应用程序。
需要为三两件事:
byte[]
元件),byte[]
到byte[]
)和byte[]
至元素Z n)。你可以通过这样的编码它映射到byte[]
任何元素(这不要紧,你只要你是一致的做在这里):
byte[] g1Bytes = g1Element.toCanonicalRepresentation();
您可以哈希一些与java.security.MessageDigest
:
MessageDigest hasher = MessageDigest.getInstance("SHA-512");
byte[] znBytes = hasher.digest(g1Bytes);
可以一些字节映射到使用pairing
(的it.unisa.dia.gas.jpbc.Pairing
实例)的元件和相应的字段:
Element znElement = pairing.getZr().newElementFromHash(znBytes, 0, znBytes.length);