]> git.codecow.com Git - Monocypher.git/commitdiff
Elligator script: small refactor
authorLoup Vaillant <loup@loup-vaillant.fr>
Sat, 21 Mar 2020 12:14:32 +0000 (13:14 +0100)
committerLoup Vaillant <loup@loup-vaillant.fr>
Sat, 21 Mar 2020 12:14:32 +0000 (13:14 +0100)
tests/gen/elligator-inverse.py
tests/gen/elligator.py
tests/gen/elligator_scalarmult.py

index e6d15174f8c6a07de50af3b33271d4312e904248..391faa8c5a9baa0178ef7dc178f282a886381d69 100755 (executable)
@@ -55,9 +55,9 @@ from elligator import can_curve_to_hash
 from elligator import curve_to_hash
 from elligator import fast_curve_to_hash
 from elligator import hash_to_curve
+from elligator import print_raw
 
 from elligator_scalarmult import scalarmult
-from elligator_scalarmult import print_scalar
 
 from random import randrange
 
@@ -85,7 +85,7 @@ for cofactor in range(8):
         scalar = randrange(0, 2**253) * 8 + cofactor
         r      = private_to_hash(scalar, tweak)
         if r is None:
-            print_scalar(scalar)
+            print_raw(scalar)
             print(format(tweak, '02x') + ":")
             print('ff:') # Failure
             print('00:') # dummy value for the hash
@@ -101,9 +101,9 @@ for cofactor in range(8):
                 scalar = randrange(0, 2**253) * 8 + cofactor
                 r      = private_to_hash(scalar, tweak)
                 if r is not None:
-                    print_scalar(scalar)
+                    print_raw(scalar)
                     print(format(tweak, '02x') + ":")
                     print('00:') # Success
-                    print_scalar(r)
+                    print_raw(r)
                     print()
                     break
index e7a28d260656653e7ddab31ea1dc8719dbb2d03f..9c419a3876f226b99a9854503405b65e723fed9e 100644 (file)
@@ -88,6 +88,14 @@ class fe:
         if m != 0: raise ValueError('number is too big!!')
         print(':')
 
+def print_raw(raw):
+    """prints a raw element in little endian"""
+    for _ in range(32):
+        print(format(raw % 256, '02x'), end='')
+        raw //= 256
+    if raw != 0: raise ValueError('number is too big!!')
+    print(':')
+
 ########################
 # Curve25519 constants #
 ########################
index 1af6937c5e8f92fb800ffc6391101ea3427ae095..a2b865a35195de9ec503c1812d8d867f517ec325 100644 (file)
@@ -55,14 +55,6 @@ from elligator import fe
 from elligator import sqrt
 from elligator import sqrtm1
 
-def print_scalar(scalar):
-    """prints a scalar element in little endian"""
-    for _ in range(32):
-        print(format(scalar % 256, '02x'), end='')
-        scalar //= 256
-    if scalar != 0: raise ValueError('number is too big!!')
-    print(':')
-
 #########################################
 # scalar multiplication (Edwards space) #
 #########################################