public abstract class Pairing extends Object
Modifier and Type | Method and Description |
---|---|
abstract ECPoint |
applyIsomorphism(ECPoint p)
Applies the isomorphism from curve 2 to curve 1, which is available for
Type-2 pairings.
|
EllipticCurve |
getGroup1()
Get the first group.
|
EllipticCurve |
getGroup2()
Get the second group.
|
ExtensionField |
getTargetGroup()
Get target group.
|
PairingTypes |
getType()
Get the pairing type
|
ExtensionFieldElement[] |
pair(ECPoint[] p,
ECPoint q)
Evaluate the pairings of multiple points
p and q . |
abstract ExtensionFieldElement |
pair(ECPoint p,
ECPoint q)
Evaluate the pairing at the points
p and q . |
ExtensionFieldElement[] |
pair(ECPoint p,
ECPoint[] q)
Evaluate the pairings of
p and and multiple points
q . |
ExtensionFieldElement |
pairProduct(ECPoint[] p,
ECPoint[] q)
Computes the product of all pairings
e(p[i], q[i]) . |
public abstract ExtensionFieldElement pair(ECPoint p, ECPoint q)
p
and q
.p
- A point in the first group.q
- A point in the second group.p
and q
.public ExtensionFieldElement[] pair(ECPoint[] p, ECPoint q)
p
and q
.p
- Points in the first group.q
- A point in the second group.p
and
q
.public ExtensionFieldElement[] pair(ECPoint p, ECPoint[] q)
p
and and multiple points
q
.p
- A point in the first group.q
- Points in the second group.p
and every point in
qq
.public ExtensionFieldElement pairProduct(ECPoint[] p, ECPoint[] q)
e(p[i], q[i])
.p
- Points in the first group.q
- Points in the second group.public abstract ECPoint applyIsomorphism(ECPoint p) throws UnsupportedOperationException
p
- a point on curve 2UnsupportedOperationException
- if this
is a Type-3 pairingpublic EllipticCurve getGroup1()
public EllipticCurve getGroup2()
public ExtensionField getTargetGroup()
public final PairingTypes getType()
Copyright © 2011–2022 Stiftung SIC. All rights reserved.