gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-wallet-kotlin] branch master updated: Add more elliptic curve tes


From: gnunet
Subject: [taler-wallet-kotlin] branch master updated: Add more elliptic curve test vectors from gnunet-crypto-tgv utility
Date: Thu, 04 Jun 2020 13:35:30 +0200

This is an automated email from the git hooks/post-receive script.

torsten-grote pushed a commit to branch master
in repository wallet-kotlin.

The following commit(s) were added to refs/heads/master by this push:
     new e5b3450  Add more elliptic curve test vectors from gnunet-crypto-tgv 
utility
e5b3450 is described below

commit e5b34507fb0af1932bc7d17df61146ea13173ca1
Author: Torsten Grote <t@grobox.de>
AuthorDate: Thu Jun 4 08:31:37 2020 -0300

    Add more elliptic curve test vectors from gnunet-crypto-tgv utility
---
 .../wallet/kotlin/crypto/EllipticCurveTest.kt      | 44 ++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git 
a/src/commonTest/kotlin/net/taler/wallet/kotlin/crypto/EllipticCurveTest.kt 
b/src/commonTest/kotlin/net/taler/wallet/kotlin/crypto/EllipticCurveTest.kt
index c74d9ff..e8fd301 100644
--- a/src/commonTest/kotlin/net/taler/wallet/kotlin/crypto/EllipticCurveTest.kt
+++ b/src/commonTest/kotlin/net/taler/wallet/kotlin/crypto/EllipticCurveTest.kt
@@ -17,6 +17,11 @@ class EllipticCurveTest {
         val pub = "8GSJZ649T2PXMKZC01Y4ANNBE7MF14QVK9SQEC4E46ZHKCVG8AS0"
         val pubBytes = crypto.eddsaGetPublic(Base32Crockford.decode(pri))
         assertEquals(pub, Base32Crockford.encode(pubBytes))
+
+        val pri2 = "C9C5X5JS2SWRTSX5AQBPFA4S2DFD6V9Q04XTTEZDQ5XSSQK2P39G"
+        val pub2 = "6WC3MPYM5XKPKRA2Z6SYB81CPFV3E7EC6S2GVE095X8XH63QTZCG"
+        val pub2Bytes = crypto.eddsaGetPublic(Base32Crockford.decode(pri2))
+        assertEquals(pub2, Base32Crockford.encode(pub2Bytes))
     }
 
     @Test
@@ -25,6 +30,11 @@ class EllipticCurveTest {
         val pub = "M997P494MS6A95G1P0QYWW2VNPSHSX5Q6JBY5B9YMNYWP0B50X3G"
         val pubBytes = crypto.ecdheGetPublic(Base32Crockford.decode(pri))
         assertEquals(pub, Base32Crockford.encode(pubBytes))
+
+        val pri2 = "MB8ZSQFTVPX4V0MGT3BA1PQS12NJ7KH33DA8D22NCWTNA5BHH2YG"
+        val pub2 = "8T2CN1W8G3XZE9C9158A5ASS74117GK1XQ1XAX5SGBFDGHS8H5W0"
+        val pub2Bytes = crypto.ecdheGetPublic(Base32Crockford.decode(pri2))
+        assertEquals(pub2, Base32Crockford.encode(pub2Bytes))
     }
 
     @Test
@@ -64,6 +74,16 @@ class EllipticCurveTest {
 
         val wrongMsg = Random.nextBytes(16)
         assertFalse(crypto.eddsaVerify(wrongMsg, sig, pub))
+
+        val pri2 = "T4NK2VVZZ1ZF6EBGEQHRK7KY67PCEVAZC5YHYH612XG5R6NJXSB0"
+        val pub2 = "2X3PSPT7D6TEM97R98C0DHZREFVAVA3XTH11D5A2Z2K7GBKQ7AEG"
+        val data2 =
+            
"00000J00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+        val expectedSig2 =
+            
"RFC59ZWJB88TD03F4GTQD3RWKH3KKRVEY2T1VN7CFEF51SCZ4BX8HGHC708GW1SN7Y4XFEDE3A5PFZEJ7PR7V09YZXX10DM608T1W20"
+        val sig2 = crypto.eddsaSign(Base32Crockford.decode(data2), 
Base32Crockford.decode(pri2))
+        assertEquals(expectedSig2, Base32Crockford.encode(sig2))
+        assertTrue(crypto.eddsaVerify(Base32Crockford.decode(data2), sig2, 
Base32Crockford.decode(pub2)))
     }
 
     @Test
@@ -91,6 +111,30 @@ class EllipticCurveTest {
             Base32Crockford.decode(eddsaPublicKey)
         )
         assertEquals(keyMaterial, Base32Crockford.encode(keyMaterial2Bytes))
+
+        val ecdhePrivateKey2 = 
"3AMRJ1KC87VWX9MVQMW8MB9YVX5DMS6P5V2SYZNCZ44XVMSDVEFG"
+        val ecdhePublicKey2 = 
"CFFVCRFTNP7701KZC7187BC42MGSVCMBWK38F23E7T9VVK9D41Q0"
+        val ecdhePublicKeyBytes2 = 
crypto.ecdheGetPublic(Base32Crockford.decode(ecdhePrivateKey2))
+        assertEquals(ecdhePublicKey2, 
Base32Crockford.encode(ecdhePublicKeyBytes2))
+
+        val eddsaPrivateKey2 = 
"8AZTVPCXNCVBKJVQ6XS7Z38KB9JB38WJ7Z80F9FTCX1WHZACTXJ0"
+        val eddsaPublicKey2 = 
"T3F1VYAVZX3DVCNJTB3BNQTRZGXN446QP2VD847CB6N5V75RT2B0"
+        val eddsaPublicKeyBytes2 = 
crypto.eddsaGetPublic(Base32Crockford.decode(eddsaPrivateKey2))
+        assertEquals(eddsaPublicKey2, 
Base32Crockford.encode(eddsaPublicKeyBytes2))
+
+        val keyMaterial2 =
+            
"FPQSHC6MWWJGEPXXVF76Q8C4PBJFE59RSGRGFQ3Z6ESR67HMG7FAK6JTCQ4ZKHSVNNCF53DX8FY55EA2193N2A6KD510AEV5TBVZRJR"
+        val keyMaterial1Bytes2 = crypto.keyExchangeEddsaEcdhe(
+            Base32Crockford.decode(eddsaPrivateKey2),
+            Base32Crockford.decode(ecdhePublicKey2)
+        )
+        assertEquals(keyMaterial2, Base32Crockford.encode(keyMaterial1Bytes2))
+
+        val keyMaterial2Bytes2 = crypto.keyExchangeEcdheEddsa(
+            Base32Crockford.decode(ecdhePrivateKey2),
+            Base32Crockford.decode(eddsaPublicKey2)
+        )
+        assertEquals(keyMaterial2, Base32Crockford.encode(keyMaterial2Bytes2))
     }
 
 }

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]