Example #1
0
 public ConnectionToClient(TcpClient tcpClient,
                           ICanHandleMessageOutput messageOutput,
                           int bufferSize,
                           DiffieHellmanJsonReader primesReader)
     : base(tcpClient, messageOutput, bufferSize)
 {
     this.primesReader = primesReader;
 }
Example #2
0
        public void Should_Exchange_Keys_3()
        {
            // Arrange
            var dhg          = new DiffieHellmanGenerator();
            var primesReader = new DiffieHellmanJsonReader(@".\primes.json");
            var publicKeys   = primesReader.GetRandomKeystore();
            int secretA      = 5;
            int secretB      = 3;
            var transportA   = dhg.GenerateTransport(secretA, publicKeys);
            var transportB   = dhg.GenerateTransport(secretB, publicKeys);

            // Act
            var sharedSecretA = dhg.GenerateSharedSecret(secretA, transportB, publicKeys);
            var sharedSecretB = dhg.GenerateSharedSecret(secretB, transportA, publicKeys);

            // Assert
            Assert.True(sharedSecretA == sharedSecretB,
                        $"Shared secret numbers are not equal: a = {sharedSecretA}, b = {sharedSecretB}");
        }