def raw_encrypt(data, pubkey_x, pubkey_y, curve='sect283r1', ephemcurve=None, ciphername='aes-256-cbc'): if ephemcurve == None: ephemcurve = curve ephem = ecc(curve=ephemcurve) key = ephem.raw_get_ecdh_key(pubkey_x, pubkey_y) pubkey = ephem.get_pubkey() iv = openssl.rand(openssl.get_cipher(ciphername).get_blocksize()) ctx = cipher(key, iv, 1, ciphername) return iv + pubkey + ctx.ciphering(data)
def gen_IV(ciphername): cipher = openssl.get_cipher(ciphername) return openssl.rand(cipher.get_blocksize())