public void TestGeneratedKeysAreNotEqual() { RSAParameters rSAParameters = RSAEncryptionService.GenerateKeys(); RSAParameters rSAParameters2 = RSAEncryptionService.GenerateKeys(); Assert.AreNotEqual(rSAParameters.Modulus, rSAParameters2.Modulus); }
public void TestPrivateKeyReturnsFalseWhenPrivateKeyPresent() { RSAParameters privateAndPublicKey = RSAEncryptionService.GenerateKeys(); RSAEncryptionService baseLineService = new RSAEncryptionService(privateAndPublicKey); Assert.True(baseLineService.PrivateKeyPresent()); }
public void TestPrivateKeyReturnsFalseWhenPrivateKeyNotPresent() { RSAParameters privateAndPublicKey = RSAEncryptionService.GenerateKeys(); RSAParameters publicKey = new RSAParameters { Modulus = privateAndPublicKey.Modulus, Exponent = privateAndPublicKey.Exponent }; RSAEncryptionService baseLineService = new RSAEncryptionService(publicKey); Assert.False(baseLineService.PrivateKeyPresent()); }
public void TestDecryptingWithOnlyPublicKeyThrowsException() { RSAParameters privateAndPublicKey = RSAEncryptionService.GenerateKeys(); RSAEncryptionService baseLineService = new RSAEncryptionService(privateAndPublicKey); string textToEncrypt = "Testing this encrypts"; byte[] baselineEncrypted = baseLineService.Encrypt(Encoding.UTF8.GetBytes(textToEncrypt)); RSAParameters publicKey = new RSAParameters { Modulus = privateAndPublicKey.Modulus, Exponent = privateAndPublicKey.Exponent }; RSAEncryptionService encryptionService = new RSAEncryptionService(publicKey); Assert.Throws <PrivateKeyNotPresentException>(() => encryptionService.Decrypt(baselineEncrypted)); }
public void TestCreatingRSAKeyCanBeSetInConstructor() { RSAParameters rSAParameters = RSAEncryptionService.GenerateKeys(); RSAEncryptionService service = new RSAEncryptionService(rSAParameters); //Check Public key Assert.AreEqual(rSAParameters.Modulus, service.PublicKey.Modulus); Assert.AreEqual(rSAParameters.Exponent, service.PublicKey.Exponent); //Check Private Key Assert.AreEqual(rSAParameters.Modulus, service.PrivateKey.Modulus); Assert.AreEqual(rSAParameters.Exponent, service.PrivateKey.Exponent); Assert.AreEqual(rSAParameters.P, service.PrivateKey.P); Assert.AreEqual(rSAParameters.Q, service.PrivateKey.Q); Assert.AreEqual(rSAParameters.DP, service.PrivateKey.DP); Assert.AreEqual(rSAParameters.DQ, service.PrivateKey.DQ); Assert.AreEqual(rSAParameters.D, service.PrivateKey.D); Assert.AreEqual(rSAParameters.InverseQ, service.PrivateKey.InverseQ); }
public void TestEncryptWorksWhenOnlyPublicKeyIsPresent() { RSAParameters privateAndPublicKey = RSAEncryptionService.GenerateKeys(); RSAEncryptionService baseLineService = new RSAEncryptionService(privateAndPublicKey); string textToEncrypt = "Testing this encrypts"; byte[] baselineEncrypted = baseLineService.Encrypt(Encoding.UTF8.GetBytes(textToEncrypt)); RSAParameters publicKey = new RSAParameters { Modulus = privateAndPublicKey.Modulus, Exponent = privateAndPublicKey.Exponent }; RSAEncryptionService encryptionService = new RSAEncryptionService(publicKey); byte[] encryptedTest = encryptionService.Encrypt(Encoding.UTF8.GetBytes(textToEncrypt)); //Assert That the encrypted text comes back as equals Assert.AreEqual(baseLineService.Decrypt(baselineEncrypted), baseLineService.Decrypt(encryptedTest)); }