mirror of
https://github.com/logos-storage/logos-storage-nim.git
synced 2026-01-05 23:13:09 +00:00
faster verifyPairings
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
This commit is contained in:
parent
434b6a1c0d
commit
62cd099f4f
@ -134,19 +134,19 @@ proc ec_hash_to_g1*(dst: var ec_p1,
|
|||||||
|
|
||||||
proc verifyPairings*(a1: ec_p1, a2: ec_p2, b1: ec_p1, b2: ec_p2) : bool =
|
proc verifyPairings*(a1: ec_p1, a2: ec_p2, b1: ec_p1, b2: ec_p2) : bool =
|
||||||
when C.getEmbeddingDegree() == 12:
|
when C.getEmbeddingDegree() == 12:
|
||||||
var gt1, gt2 {.noInit.}: Fp12[C]
|
var gt {.noInit.}: Fp12[C]
|
||||||
else:
|
else:
|
||||||
{.error: "Not implemented: signature on k=" & $C.getEmbeddingDegree() & " for curve " & $$C.}
|
{.error: "Not implemented: signature on k=" & $C.getEmbeddingDegree() & " for curve " & $$C.}
|
||||||
|
|
||||||
var a1aff, b1aff {.noInit.}: ec_p1_affine
|
var a1aff, b1aff {.noInit.}: ec_p1_affine
|
||||||
var a2aff, b2aff {.noInit.}: ec_p2_affine
|
var a2aff, negb2aff {.noInit.}: ec_p2_affine
|
||||||
a1aff.affine(a1)
|
a1aff.affine(a1)
|
||||||
b1aff.affine(b1)
|
b1aff.affine(b1)
|
||||||
a2aff.affine(a2)
|
a2aff.affine(a2)
|
||||||
b2aff.affine(b2)
|
negb2aff.affine(b2)
|
||||||
gt1.pairing(a2aff, a1aff)
|
negb2aff.neg(negb2aff)
|
||||||
gt2.pairing(b2aff, b1aff)
|
gt.pairing([a2aff, negb2aff], [a1aff, b1aff])
|
||||||
return bool(gt1 == gt2)
|
return gt.isOne().bool()
|
||||||
|
|
||||||
func ec_from_bytes*(
|
func ec_from_bytes*(
|
||||||
dst: var Signature,
|
dst: var Signature,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user