static void Main(string[] args) { Point p1 = new Point(1, 2); Point p2 = new Point(); Console.WriteLine("p1=" + p1); Console.WriteLine("p2=" + p2); Console.WriteLine("p1.E = " + p1.E); Console.WriteLine("p2.E = " + p2.E); Console.WriteLine("8=" + Program.getBitString(8)); Console.WriteLine("39=" + Program.getBitString(39)); char[] c = Program.getBitString(39).ToArray(); for (int i = 0; i < c.Length; i++) { if (c[i] == '1') { Console.Write("x"); } else { Console.Write("o"); } } for (int i = 1; i < 17; i++) { Console.WriteLine(i + ":" + Program.modInverse(i, 17)); } User user = new User(0); EllipticCurve ec = user.EC; Point p = ec.G; for (int i = 1; i < 31; i++) { Console.WriteLine(i+": "+ec.multiply(i,ec.G)); //Console.WriteLine(i + ": " + p); //p = ec.add(p,ec.G); } user.process(1); string str; while ((str = Console.ReadLine()) != null) { int index = Int32.Parse(str); EllipticCurve e = new EllipticCurve(index); Console.WriteLine(e); } while (true) ; }
public Signer(EllipticCurve ec) { s0 = 4; q = 23; this.ec = ec; }
public User(int index) { ec = new EllipticCurve(index); m = ec.multiply(3, ec.G); signer = new Signer(ec); }