Exemple #1
0
        public void ShouldImportParameters()
        {
            RSAParameters parameters = MyRSA.GenerateKeyPair(512);
            MyRSA         myRsa      = new MyRSA(parameters);

            Assert.AreEqual(parameters, myRsa.ExportParameters());
        }
Exemple #2
0
        public void Setup()
        {
            IRSA rsa = new MyRSA(1024);

            counter          = new Counter(rsa);
            imageBlockCipher = new ImageBlockCipher(counter);
        }
Exemple #3
0
        public void ShouldEncryptDataWithoutException()
        {
            MyRSA myRsa = new MyRSA(512);

            byte[] toEncrypt = { 1, 2, 3 };
            Assert.DoesNotThrow(() => myRsa.Encrypt(toEncrypt));
        }
Exemple #4
0
    public void AdditionalTests(Byte[] data, RSAEncryptionPadding padding)
    {
        var customAsymProvider = new MyRSA();

        // Should raise on derived asymmetric classes
        customAsymProvider.Encrypt(data, padding);      // Noncompliant
        customAsymProvider.EncryptValue(data);          // Noncompliant
        customAsymProvider.Decrypt(data, padding);      // Noncompliant
        customAsymProvider.DecryptValue(data);          // Noncompliant

        // Should raise on the Try* methods added in NET Core 2.1
        // Note: this test is cheating - we can't currently referencing the
        // real 2.1 assemblies since the test project is targetting an older
        // NET Framework, so we're testing against a custom subclass
        // to which we've added the new method names.
        customAsymProvider.TryEncrypt();            // Noncompliant
        customAsymProvider.TryEncrypt(null);        // Noncompliant
        customAsymProvider.TryDecrypt();            // Noncompliant
        customAsymProvider.TryDecrypt(null);        // Noncompliant

        customAsymProvider.OtherMethod();

        // Should raise on derived symmetric classes
        var customSymProvider = new MySymmetricCrypto();

        customSymProvider.CreateEncryptor();        // Noncompliant
        customSymProvider.CreateDecryptor();        // Noncompliant
    }
Exemple #5
0
        private async Task Receive(ClientWebSocket socket)
        {
            var buffer = new ArraySegment <byte>(new byte[2048]);

            do
            {
                WebSocketReceiveResult result;
                using (var ms = new MemoryStream())
                {
                    do
                    {
                        result = await socket.ReceiveAsync(buffer, CancellationToken.None);

                        ms.Write(buffer.Array, buffer.Offset, result.Count);
                    } while (!result.EndOfMessage);

                    if (result.MessageType == WebSocketMessageType.Close)
                    {
                        break;
                    }

                    ms.Seek(0, SeekOrigin.Begin);
                    using (var reader = new StreamReader(ms)) MessageReceived(MyRSA.VerifyAndDecrypt(SignedMessage.FromJSONString(await reader.ReadToEndAsync())));
                }
            } while (true);
        }
Exemple #6
0
 public void SendMessage(string message)
 {
     //TODO: better error handling
     if (CheckIfAvailable())
     {
         //string msg=.ToJSONString();
         Client.Channel4Async(this.ChannelID, MyRSA.EncryptAndSign(message));
     }
 }
Exemple #7
0
        public void ShouldEncryptAndDecryptEmptyArray()
        {
            MyRSA myRsa = new MyRSA(512);

            byte[] toEncrypt = { };
            byte[] encrypted = myRsa.Encrypt(toEncrypt);
            Assert.AreEqual(0, encrypted.Length);
            byte[] decrypted = myRsa.Decrypt(encrypted);
            Assert.AreEqual(toEncrypt, decrypted);
        }
Exemple #8
0
        public void ShouldGenerateKeyOfSpecifiedLength()
        {
            int keyLength = 512;

            for (int i = 0; i < 10; i++) // Repeat 10 times to ensure correct output because of randomness
            {
                RSAParameters rsaParameters = MyRSA.GenerateKeyPair(keyLength);
                Assert.AreEqual(keyLength, rsaParameters.Modulus.Length * 8);
            }
        }
Exemple #9
0
        public void ShouldEncryptAndDecryptMultipleZerosToOneZero()
        {
            MyRSA myRsa = new MyRSA(512);

            byte[] toEncrypt = { 0, 0, 0 };
            byte[] encrypted = myRsa.Encrypt(toEncrypt);
            Assert.AreEqual(64, encrypted.Length);
            byte[] decrypted = myRsa.Decrypt(encrypted);
            Assert.AreEqual(1, decrypted.Length);
            Assert.AreEqual(new byte[] { 0 }, decrypted);
        }
Exemple #10
0
        public void ShouldEncryptAndDecrypt1()
        {
            MyRSA myRsa = new MyRSA(512);

            byte[] toEncrypt = { 1 };
            byte[] encrypted = myRsa.Encrypt(toEncrypt);
            Assert.AreEqual(64, encrypted.Length);
            Assert.AreEqual(1, encrypted[0]);
            byte[] decrypted = myRsa.Decrypt(encrypted);
            Assert.AreEqual(toEncrypt, decrypted);
        }
 public MainViewModel(IEventAggregator eventAggregator)
 {
     _eventAggregator = eventAggregator;
     rsa      = new MyRSA();
     dataList = new ListOfDatas();
     for (int i = 0; i < dataList.Size(); i++)
     {
         Data temp = dataList.Give(i);
         Passwords.Add(new PasswordModel {
             password = rsa.Decryption(temp.Password), login = rsa.Decryption(temp.Login),
             notes    = rsa.Decryption(temp.Notes), tag = rsa.Decryption(temp.Tag)
         });
     }
 }
Exemple #12
0
        public void ShouldEncryptAndDecrypt100SetsOfRandomData()
        {
            int    keyLength = 1024; // 1024 bit key for max data length of 64 bytes
            MyRSA  myRsa     = new MyRSA(keyLength);
            Random random    = new Random();

            for (int i = 0; i < 100; i++)
            {
                byte[] toEncrypt = new byte[random.Next(1, keyLength / (8 * 2))];
                random.NextBytes(toEncrypt);
                toEncrypt[toEncrypt.Length - 1] |= (byte)random.Next(1, 255);  // Prevent leading zeros
                byte[] encrypted = myRsa.Encrypt(toEncrypt);
                Assert.AreEqual(keyLength / 8, encrypted.Length);
                byte[] decrypted = myRsa.Decrypt(encrypted);
                Assert.AreEqual(toEncrypt, decrypted);
            }
        }
Exemple #13
0
        private void Debug()
        {
            //TaskTimer t = new TaskTimer();
            //t.Execute();
            string s   = "MJ/0ee36iULGGDZC1e0NUv874aVVtVdD1be+4ryKkckKoqRgoiE/MZCWrM9aM7LvrBFWprwDYQvYTaH50rJWJTTi7adhB09UDHHK47BDyInWRFxQVZeO+99SvPcObgpTvYv6dkdRcrXkYoKTCz5y20++iLiScdHgMi4dg5pufCg=";
            string rst = MyRSA.Decrypt(s);
            string r   = rst.Trim('\0');

            LogHelper.Log(r);
            //BarCodePrinter barCodePrinter = new BarCodePrinter();
            //barCodePrinter.Print("111","","","");
            //var d = localData.GetBoxLockNoByTypeID(1);
            //idValidDevice.Init();
            //idValidDevice.OnIDRead += new Action<string>(idValidDevice_OnIDRead);

            //elcWeight.Init();
            //elcWeight.OnReadWeight += new Action<float>(elcWeight_OnReadWeight);
            //elcWeight.StartRead();
            // BarCodePrinter printer = new BarCodePrinter();
            //printer.Init();
            //var a =    service.userRegist("中文测试", "150125198501093611", "17011111111", "111111", "899413");
        }
Exemple #14
0
        public CipherFeedbackTestsOnFiles()
        {
            IRSA rsa = new MyRSA(1024);

            imageBlockCipher = new ImageBlockCipher(new CipherFeedback(rsa));
        }
Exemple #15
0
        public CounterTestsOnFiles()
        {
            IRSA rsa = new MyRSA(1024);

            imageBlockCipher = new ImageBlockCipher(new Counter(rsa));
        }