Пример #1
0
        public void Reset(int p, int g, int privateKey)
        {
            SetPandG(p, g);
            _privateKey = privateKey;
            //BigInteger.ModPow(g, _privateKey, p)

            _openKey          = MulModClass.MulMod(g, _privateKey, p);
            _sharedPrivateKey = -1;
            _crossOpenKey     = -1;
        }
Пример #2
0
 public void CountSharedSecret(int crossOpenKey)
 {
     _crossOpenKey = crossOpenKey;
     BigInteger.ModPow(_crossOpenKey, _privateKey, _p);
     _sharedPrivateKey = MulModClass.MulMod(_crossOpenKey, _privateKey, _p);
 }
Пример #3
0
        public static bool isPrimitiveRoot(int g, int p)
        {
            var moduloP = FillList(p).Count;

            return(MulModClass.MulMod(moduloP, g, p) == 1);
        }