Please add a summary to this article.
1.0
28
Introduced
Gecko 2.0
Inherits from:
nsISupports
Last changed in Gecko 2.0 (Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1)Method overview
void final(in ACString aB, in ACString aGVB, in ACString aRB, in ACString aHkdfInfo, out ACString aAES256Key, out ACString aHMAC256Key); |
void round1(in ACString aSignerID, out ACString aGX1, out ACString aGV1, out ACString aR1, out ACString aGX2, out ACString aGV2, out ACString aR2); |
void round2(in ACString aPeerID, in ACString aPIN, in ACString aGX3, in ACString aGV3, in ACString aR3, in ACString aGX4, in ACString aGV4, in ACString aR4, out ACString aA, out ACString aGVA, out ACString aRA); |
Methods
final()
Perform the final
step of the JPAKE exchange. This will compute the key and expand the key to two keys, an AES256 encryption key and a 256 bit HMAC key. It returns a key confirmation value (SHA256d of the key) and the encryption and HMAC keys.
void final( in ACString aB, in ACString aGVB, in ACString aRB, in ACString aHkdfInfo, out ACString aAES256Key, out ACString aHMAC256Key );
Parameters
aB
- Schnorr signature value B, in hex representation.
aGVB
- Schnorr signature value g^vb (vb is a random value), in hex representation.
aRB
- Schnorr signature value rb = vb - xb * h, in hex representation.
aHkdfInfo
- Missing Description
aAES256Key
- The AES 256 encryption key, in base64 representation.
aHMAC256Key
- The 256 bit HMAC key, in base64 representation.
round1()
Perform first round of the JPAKE exchange.
void round1( in ACString aSignerID, out ACString aGX1, out ACString aGV1, out ACString aR1, out ACString aGX2, out ACString aGV2, out ACString aR2 );
Parameters
aSignerID
- String identifying the signer.
aGX1
- Schnorr signature value g^x1, in hex representation.
aGV1
- Schnorr signature value g^v1 (v1 is a random value), in hex representation.
aR1
- Schnorr signature value r1 = v1 - x1 * h, in hex representation.
aGX2
- Schnorr signature value g^x2, in hex representation.
aGV2
- Schnorr signature value g^v2 (v2 is a random value), in hex representation.
aR2
- Schnorr signature value r2 = v2 - x2 * h, in hex representation.
round2()
Perform second round of the JPAKE exchange.
void round2( in ACString aPeerID, in ACString aPIN, in ACString aGX3, in ACString aGV3, in ACString aR3, in ACString aGX4, in ACString aGV4, in ACString aR4, out ACString aA, out ACString aGVA, out ACString aRA );
Parameters
aPeerID
- String identifying the peer.
aPIN
- String containing the weak secret (PIN).
aGX3
- Schnorr signature value g^x3, in hex representation.
aGV3
- Schnorr signature value g^v3 (v3 is a random value), in hex representation.
aR3
- Schnorr signature value r3 = v3 - x3 * h, in hex representation.
aGX4
- Schnorr signature value g^x4, in hex representation.
aGV4
- Schnorr signature value g^v4 (v4 is a random value), in hex representation.
aR4
- Schnorr signature value r4 = v4 - x4 * h, in hex representation.
aA
- Schnorr signature value A, in hex representation.
aGVA
- Schnorr signature value g^va (va is a random value), in hex representation.
aRA
- Schnorr signature value ra = va - xa * h, in hex representation.