mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-03-07 06:09:42 +00:00
h%l for verification
This commit is contained in:
@@ -104,6 +104,7 @@ namespace crypto
|
|||||||
// B*S = R + PK*h => R = B*S - PK*h
|
// B*S = R + PK*h => R = B*S - PK*h
|
||||||
// we don't decode R, but encode (B*S - PK*h)
|
// we don't decode R, but encode (B*S - PK*h)
|
||||||
auto Bs = MulB (signature + EDDSA25519_SIGNATURE_LENGTH/2, ctx); // B*S;
|
auto Bs = MulB (signature + EDDSA25519_SIGNATURE_LENGTH/2, ctx); // B*S;
|
||||||
|
BN_mod (h, h, l, ctx); // public key is multiple of B, but B%l = 0
|
||||||
auto PKh = Mul (publicKey, h, ctx); // PK*h
|
auto PKh = Mul (publicKey, h, ctx); // PK*h
|
||||||
uint8_t diff[32];
|
uint8_t diff[32];
|
||||||
EncodePoint (Normalize (Sum (Bs, -PKh, ctx), ctx), diff); // Bs - PKh encoded
|
EncodePoint (Normalize (Sum (Bs, -PKh, ctx), ctx), diff); // Bs - PKh encoded
|
||||||
|
|||||||
Reference in New Issue
Block a user