narodnik 5 лет назад
Родитель
Сommit
164d4bc453
3 измененных файлов с 32 добавлено и 0 удалено
  1. 4 0
      Cargo.toml
  2. 4 0
      scripts/jubjub.py
  3. 24 0
      src/jubjub.rs

+ 4 - 0
Cargo.toml

@@ -68,3 +68,7 @@ path = "src/basic_minimal.rs"
 name = "vm"
 path = "src/vm.rs"
 
+[[bin]]
+name = "jubjub"
+path = "src/jubjub.rs"
+

+ 4 - 0
scripts/jubjub.py

@@ -28,5 +28,9 @@ def add(params, point_1, point_2):
 x = 0x15a36d1f0f390d8852a35a8c1908dd87a361ee3fd48fdf77b9819dc82d90607e
 y = 0x015d8c7f5b43fe33f7891142c001d9251f3abeeb98fad3e87b0dc53c4ebf1891
 
+x3, y3 = add(params, (x, y), (x, y))
+print(hex(x3.n), hex(y3.n))
+
 print(is_jubjub(params, x, y))
+print(is_jubjub(params, x3, y3))
 

+ 24 - 0
src/jubjub.rs

@@ -0,0 +1,24 @@
+use ff::PrimeField;
+use group::Group;
+use jubjub::SubgroupPoint;
+
+fn main() {
+    let g = SubgroupPoint::from_raw_unchecked(
+        bls12_381::Scalar::from_raw([
+            0xb981_9dc8_2d90_607e,
+            0xa361_ee3f_d48f_df77,
+            0x52a3_5a8c_1908_dd87,
+            0x15a3_6d1f_0f39_0d88,
+        ]),
+        bls12_381::Scalar::from_raw([
+            0x7b0d_c53c_4ebf_1891,
+            0x1f3a_beeb_98fa_d3e8,
+            0xf789_1142_c001_d925,
+            0x015d_8c7f_5b43_fe33,
+        ]),
+    );
+    let x = g + g;
+    let x = jubjub::AffinePoint::from(jubjub::ExtendedPoint::from(x));
+    println!("{:?}", x);
+}
+