lsd0007

LSD0007: GNUnet communicators
Log | Files | Refs

commit 023029d45df8e3d5a4607008c6eda454479d3fec
parent 6d00adb924931e17ce5d61dd60b62dfbefacaf29
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date:   Wed, 10 Jul 2024 15:44:31 +0200

define A

Diffstat:
Mdraft-gnunet-communicators.xml | 15++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/draft-gnunet-communicators.xml b/draft-gnunet-communicators.xml @@ -240,17 +240,18 @@ An Elligator key pair is generated as follows. KeyGenElligator(): VALID := 0 while(!VALID): - a := random(256) - ED_high := clamps(a) * G - ED_low := (a mod 8) * H + x := random(256) + ED_high := clamps(x) * G + ED_low := (x mod 8) * H ED := ED_high + ED_low - A := EdToCurve(ED) - if Dec(Enc(A)) == A: + X := EdToCurve(ED) + if Dec(Enc(X)) == X: VALID := 1 - return (a, A) + return (x, X) ]]></artwork> <t> - Let X be a valid x-coordinate of a Curve25519 point, sqrt() a function which calculates the square root of the finite field element, U the number + Let A and P be the are parameters for Curve25519 as specified in section 4.1 of <xref target="RFC7748"/>. + Further, let X be a valid x-coordinate of a Curve25519 point, sqrt() a function which calculates the square root of the finite field element, U the number sqrt(-1) which is a non-quadratic number in the finite field, and legendre() a function which computes the legendre symbol of a field element. As each of the field elements have two roots, we need to define the notion of negative and non-negative numbers. This is especially important for the sqrt() function. A straightforward choice is to define the set {0,..., (P - 1) / 2} as set of all non-negative numbers.