From ff49bfc70b48c105eb0ff8c2d390a1f7f2506bb4 Mon Sep 17 00:00:00 2001 From: tuxxy Date: Mon, 18 Sep 2017 11:34:14 -0700 Subject: [PATCH] Add EncryptingKeypair key generation and add encrypt/decrypt method placeholders --- nkms/crypto/keyring/keyring.py | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/nkms/crypto/keyring/keyring.py b/nkms/crypto/keyring/keyring.py index 5d306c3cc..861766385 100644 --- a/nkms/crypto/keyring/keyring.py +++ b/nkms/crypto/keyring/keyring.py @@ -1,15 +1,19 @@ import sha3 -from nkms.crypto.keyring.keys import SigningKeypair +from nkms.crypto.keyring.keys import SigningKeypair, EncryptingKeypair class KeyRing(object): - def __init__(self, sig_keypair=None, enc_keypair=None): - self.sig_keypair = SigningKeypair(sig_keypair) - if not enc_keypair: - # Generate encryption keypair - # TODO: Create an encryption_keypair - pass - self.enc_keypair = enc_keypair + def __init__(self, sig_privkey=None, enc_privkey=None): + """ + Initializes a KeyRing object. Uses the private keys to initialize + their respective objects, if provided. If not, it will generate new + keypairs. + + :param bytes sig_privkey: Private key in bytes of ECDSA signing keypair + :param bytes enc_privkey: Private key in bytes of encrypting keypair + """ + self.sig_keypair = SigningKeypair(sig_privkey) + self.enc_keypair = EncryptingKeypair(enc_privkey) def sign(self, message): """ @@ -35,3 +39,9 @@ class KeyRing(object): """ msg_digest = sha3.keccak_256(message).digest() return self.sig_keypair.verify(msg_digest, signature) + + def encrypt(self, plaintext): + pass + + def decrypt(self, ciphertext): + pass