Ejemplo n.º 1
0
        public void CryptoBoxOpenAfternm_Decryption_Should_Success()
        {
            //Arrange
            String expectedMessage = "test";

            Byte[] bMessage = Encoding.UTF8.GetBytes(expectedMessage);
            Byte[] pk       = new Byte[TweetNaCl.BoxPublicKeyBytes];
            Byte[] sk       = new Byte[TweetNaCl.BoxSecretKeyBytes];
            Byte[] nonce    = new Byte[TweetNaCl.BoxNonceBytes];

            pk = TweetNaCl.CryptoBoxKeypair(sk);
            TweetNaCl.RandomBytes(nonce);
            var k = TweetNaCl.CryptoBoxBeforenm(pk, sk);

            //Act
            var encMessage = TweetNaCl.CryptoBoxAfternm(bMessage, nonce, k);
            var decMessage = TweetNaCl.CryptoBoxOpenAfternm(encMessage, nonce, k);

            //Assert
            Assert.AreEqual(decMessage.Length, bMessage.Length, "decryption failed.");
            Assert.AreEqual(decMessage, bMessage, "decryption failed.");

            var resultMessage = Encoding.ASCII.GetString(decMessage);

            Assert.AreEqual(resultMessage, expectedMessage, "decryption failed.");
        }
Ejemplo n.º 2
0
        public void CryptoBoxBeforenm_MessageEncryption_Should_Success()
        {
            //Arrange
            Byte[] pk = new Byte[TweetNaCl.BoxPublicKeyBytes];
            Byte[] sk = new Byte[TweetNaCl.BoxSecretKeyBytes];

            pk = TweetNaCl.CryptoBoxKeypair(sk);

            //Act
            var k = TweetNaCl.CryptoBoxBeforenm(pk, sk);

            //Assert
            Assert.AreEqual(k.Length, TweetNaCl.BoxBeforenmBytes, "generation of K for encryption failed.");
        }
Ejemplo n.º 3
0
        public void CryptoBoxAfternm_MessageEncryption_Should_Success()
        {
            //Arrange
            String message = "test";

            Byte[] bMessage = Encoding.UTF8.GetBytes(message);
            Byte[] pk       = new Byte[TweetNaCl.BoxPublicKeyBytes];
            Byte[] sk       = new Byte[TweetNaCl.BoxSecretKeyBytes];
            Byte[] nonce    = new Byte[TweetNaCl.BoxNonceBytes];
            TweetNaCl.RandomBytes(nonce);

            pk = TweetNaCl.CryptoBoxKeypair(sk);

            var k = TweetNaCl.CryptoBoxBeforenm(pk, sk);

            //Act
            var encMessage = TweetNaCl.CryptoBoxAfternm(bMessage, nonce, k);

            //Assert
            Assert.AreEqual(encMessage.Length, bMessage.Length + TweetNaCl.BoxBoxZeroBytes, "encryption failed.");
        }