Example #1
0
        public static TatePairing ssTate()
        {
            BigInt p     = new BigInt("8BA2A5229BD9C57CFC8ACEC76DFDBF3E3E1952C6B3193ECF5C571FB502FC5DF410F9267E9F2A605BB0F76F52A79E8043BF4AF0EF2E9FA78B0F1E2CDFC4E8549B", 16);
            Field  field = new Fp(p);

            BigInt orderOfGroup = new BigInt("8000000000000000000000000000000000020001", 16);

            BigInt cof = new BigInt("117454A4537B38AF9F9159D8EDBFB7E7C7C2E48760E930A461D5F451F9D9210DC70095F4B241FF57F1BB0549C", 16);
            //curve
            //y^2=x^3+x
            FieldElement  a  = field.GetOne();
            FieldElement  b  = field.GetZero();
            EllipticCurve ec = new EllipticCurve(field, a, b);

            return(new TatePairing(ec, orderOfGroup, cof));
        }
Example #2
0
        public static TatePairing ssTate2()
        {
            BigInt p     = new BigInt("8780710799663312522437781984754049815806883199414208211028653399266475630880222957078625179422662221423155858769582317459277713367317481324925129998224791", 10);
            Field  field = new Fp(p);

            BigInt orderOfGroup = new BigInt("730750818665451621361119245571504901405976559617", 10);

            BigInt cof = new BigInt("12016012264891146079388821366740534204802954401251311822919615131047207289359704531102844802183906537786776", 10);

            //curve
            //y^2=x^3+x

            FieldElement  a4 = field.GetOne();
            FieldElement  a6 = field.GetZero();
            EllipticCurve ec = new EllipticCurve(field, field.GetZero(), field.GetZero(), field.GetZero(), a4, a6);

            return(new TatePairing(ec, orderOfGroup, cof));
        }