예제 #1
0
 public HandshakeMember(Element secret, string pseudonym, string role)
 {
     m_secret    = secret;
     m_pseudonym = pseudonym;
     m_role      = role;
     m_pairing   = new Pairing();
     Debug.Assert(m_pairing.isSymmetric());
 }
예제 #2
0
        public static void testPairings()
        {
            Debug.WriteLine("Running pairing test...");

            Pairing pairing = new Pairing();

            Debug.WriteLine("Pairing is " + (pairing.isSymmetric() ? "" : "not ") + "symmetric");

            Element g1 = pairing.elementFromHash(new G1(), "ABCDEF");

            byte[] buffer = g1.toBuffer();
            Debug.WriteLine(Convert.ToBase64String(buffer));

            Element g2 = pairing.elementFromHash(new G2(), "ADcsde");
            Element gt = pairing.apply(g1, g2);

            Debug.WriteLine("OK");
        }
예제 #3
0
        private Element m_masterSecret; // t

        public HandshakeMaster()
        {
            m_pairing = new Pairing();
            Debug.Assert(m_pairing.isSymmetric());
            m_masterSecret = m_pairing.getRandomElement(new Zn());
        }