Raw I/O of elliptic curve points and group elements.
[u/mdw/catacomb] / tests / group
index eb9c1fa..0c2035a 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: group,v 1.1 2004/04/01 12:50:41 mdw Exp $
+# $Id: group,v 1.2 2004/04/04 19:04:11 mdw Exp $
 #
 # Test group abstraction, and a bunch of other things.
 
@@ -282,3 +282,39 @@ frombuf {
     "00010000188497a9fa119ff34c9c24a156ed0d44a0c5f5d1f19fc9f0eddead"
     29, "0, 0x8497a9fa119ff34c9c24a156ed0d44a0c5f5d1f19fc9f0ed";
 }
+
+toraw {
+  "prime { 29, 7, 16}" 22 -1 "";
+  "prime { 29, 7, 16}" 22 0 "16";
+  "prime { 29, 7, 16}" 0 -1 "";
+  "prime { 29, 7, 16}" 0 0 "00";
+  "prime { 4294967311, 364289, 18767 }" 4285559121 0 "00ff707151";
+  "prime { 4294967311, 364289, 18767 }" 4285559121 -1 "ff707151";
+
+  "ec { secp112r1 }" inf 0 "00";
+  "ec { secp112r1 }"
+    "0x09487239995a5ee76b55f9c2f098, 0xa89ce5af8724c0a23e0e0ff77500"
+    0 "0409487239995a5ee76b55f9c2f098a89ce5af8724c0a23e0e0ff77500";      
+  "ec { nist-p192 }"
+    "0, 0x8497a9fa119ff34c9c24a156ed0d44a0c5f5d1f19fc9f0ed"
+    0 "040000000000000000000000000000000000000000000000008497a9fa119ff34c9c24a156ed0d44a0c5f5d1f19fc9f0ed";
+}
+
+fromraw {
+  "prime { 29, 7, 16}" "" -1 0;
+  "prime { 29, 7, 16}" "160bad" 1 22;
+  "prime { 29, 7, 16}" "00" 1 0;
+  "prime { 4294967311, 364289, 18767 }" "00ff707151e7c0" 5 4285559121;
+  "prime { 4294967311, 364289, 18767 }" "ff707151" -1 0;
+
+  "ec { secp112r1 }" "" -1 inf;
+  "ec { secp112r1 }" "00" 1 inf;
+  "ec { secp112r1 }"
+    "0409487239995a5ee76b55f9c2f098a89ce5af8724c0a23e0e0ff775" -1 inf;
+  "ec { secp112r1 }"
+    "0409487239995a5ee76b55f9c2f098a89ce5af8724c0a23e0e0ff77500"
+    29 "0x09487239995a5ee76b55f9c2f098, 0xa89ce5af8724c0a23e0e0ff77500";
+  "ec { nist-p192 }"
+    "070000000000000000000000000000000000000000000000008497a9fa119ff34c9c24a156ed0d44a0c5f5d1f19fc9f0ed00deadbeef"
+    49 "0, 0x8497a9fa119ff34c9c24a156ed0d44a0c5f5d1f19fc9f0ed";
+}