Esempio n. 1
0
        public void encryptDecryptTo(int n)
        {
            var msg  = PrivateBox.RandomBytes(1024);
            var keys = new System.Collections.Generic.List <KeyPair>();

            for (int i = 0; i < keys.Count; i++)
            {
                keys[i] = PublicKeyBox.GenerateKeyPair();
            }

            var ctxt = PrivateBox.Multibox(msg, keys.Select(x => x.PublicKey).ToArray(), n);

            // a recipient key may open the message.
            foreach (var key in keys)
            {
                Assert.AreEqual(PrivateBox.MultiboxOpen(ctxt, key.PrivateKey, n), msg);
            }
        }
Esempio n. 2
0
        public void TestErrorsWhenMaxIsMoreThan255OrLessThan1()
        {
            var msg = "hello there!";

            var ctxt = PrivateBox.Multibox(msg, new byte[][] { alice.PublicKey, bob.PublicKey });
            var pk   = alice.PublicKey;
            var sk   = alice.PrivateKey;

            Assert.Catch(new TestDelegate(delegate
            {
                PrivateBox.Multibox(msg, new byte[][] { pk, pk, pk, pk }, -1);
            }));

            Assert.Catch(new TestDelegate(delegate
            {
                PrivateBox.MultiboxOpen(ctxt, sk, 256);
            }));

            Assert.Pass();
        }
Esempio n. 3
0
        public void TestErrorsWhenTooManyRecipients()
        {
            var msg = "hello there!";

            var pubKeys = new byte[][]
            {
                alice.PublicKey, alice.PublicKey,
                alice.PublicKey, alice.PublicKey,
                alice.PublicKey, alice.PublicKey,
                alice.PublicKey, alice.PublicKey,
                alice.PublicKey, alice.PublicKey,
                alice.PublicKey, alice.PublicKey,
                alice.PublicKey, alice.PublicKey,
                alice.PublicKey, alice.PublicKey,
            };

            Assert.Catch(new TestDelegate(delegate
            {
                PrivateBox.Multibox(msg, pubKeys);
            }));
        }