def test_encryption_decryption(self): encryptParams = EncryptParams(EncryptAlgorithmType.RsaOaep, 0) privateKeyBlob = Blob(b64decode(PRIVATE_KEY)) publicKeyBlob = Blob(b64decode(PUBLIC_KEY)) decryptKey = DecryptKey(privateKeyBlob) encryptKey = RsaAlgorithm.deriveEncryptKey(decryptKey.getKeyBits()) encodedPublic = publicKeyBlob derivedPublicKey = encryptKey.getKeyBits() self.assertTrue(encodedPublic.equals(derivedPublicKey)) plainBlob = Blob(PLAINTEXT, False) encryptBlob = RsaAlgorithm.encrypt( encryptKey.getKeyBits(), plainBlob, encryptParams) receivedBlob = RsaAlgorithm.decrypt( decryptKey.getKeyBits(), encryptBlob, encryptParams) self.assertTrue(plainBlob.equals(receivedBlob)) cipherBlob = Blob(CIPHERTEXT_OAEP, False) decryptedBlob = RsaAlgorithm.decrypt( decryptKey.getKeyBits(), cipherBlob, encryptParams) self.assertTrue(plainBlob.equals(decryptedBlob)) # Now test RsaPkcs. encryptParams = EncryptParams(EncryptAlgorithmType.RsaPkcs, 0) encryptBlob = RsaAlgorithm.encrypt( encryptKey.getKeyBits(), plainBlob, encryptParams) receivedBlob = RsaAlgorithm.decrypt( decryptKey.getKeyBits(), encryptBlob, encryptParams) self.assertTrue(plainBlob.equals(receivedBlob)) cipherBlob = Blob(CIPHERTEXT_PKCS, False) decryptedBlob = RsaAlgorithm.decrypt( decryptKey.getKeyBits(), cipherBlob, encryptParams) self.assertTrue(plainBlob.equals(decryptedBlob))
def test_encryption_decryption(self): encryptParams = EncryptParams(EncryptAlgorithmType.RsaOaep, 0) privateKeyBlob = Blob(b64decode(PRIVATE_KEY)) publicKeyBlob = Blob(b64decode(PUBLIC_KEY)) decryptKey = DecryptKey(privateKeyBlob) encryptKey = RsaAlgorithm.deriveEncryptKey(decryptKey.getKeyBits()) encodedPublic = publicKeyBlob derivedPublicKey = encryptKey.getKeyBits() self.assertTrue(encodedPublic.equals(derivedPublicKey)) plainBlob = Blob(PLAINTEXT, False) encryptBlob = RsaAlgorithm.encrypt(encryptKey.getKeyBits(), plainBlob, encryptParams) receivedBlob = RsaAlgorithm.decrypt(decryptKey.getKeyBits(), encryptBlob, encryptParams) self.assertTrue(plainBlob.equals(receivedBlob)) cipherBlob = Blob(CIPHERTEXT_OAEP, False) decryptedBlob = RsaAlgorithm.decrypt(decryptKey.getKeyBits(), cipherBlob, encryptParams) self.assertTrue(plainBlob.equals(decryptedBlob)) # Now test RsaPkcs. encryptParams = EncryptParams(EncryptAlgorithmType.RsaPkcs, 0) encryptBlob = RsaAlgorithm.encrypt(encryptKey.getKeyBits(), plainBlob, encryptParams) receivedBlob = RsaAlgorithm.decrypt(decryptKey.getKeyBits(), encryptBlob, encryptParams) self.assertTrue(plainBlob.equals(receivedBlob)) cipherBlob = Blob(CIPHERTEXT_PKCS, False) decryptedBlob = RsaAlgorithm.decrypt(decryptKey.getKeyBits(), cipherBlob, encryptParams) self.assertTrue(plainBlob.equals(decryptedBlob))