Esempio n. 1
0
File: DH.cs Progetto: gaijenbon/ngit
 /// <exception cref="System.Exception"></exception>
 public virtual byte[] GetK()
 {
     if (K == null)
     {
         KeyFactory myKeyFac = KeyFactory.GetInstance("DH");
         DHPublicKeySpec keySpec = new DHPublicKeySpec(f, p, g);
         PublicKey yourPubKey = myKeyFac.GeneratePublic(keySpec);
         myKeyAgree.DoPhase(yourPubKey, true);
         byte[] mySharedSecret = myKeyAgree.GenerateSecret();
         K = new BigInteger(mySharedSecret);
         K_array = K.ToByteArray();
         //System.err.println("K.signum(): "+K.signum()+
         //		   " "+Integer.toHexString(mySharedSecret[0]&0xff)+
         //		   " "+Integer.toHexString(K_array[0]&0xff));
         K_array = mySharedSecret;
     }
     return K_array;
 }
Esempio n. 2
0
        public override PublicKey GeneratePublic(KeySpec key)
        {
            DHPublicKeySpec spec = (DHPublicKeySpec)key;

            return(new DHPublicKey(spec.Y));
        }