Example #1
0
def encrypt_and_pack(plaintext: bytes, ring: Keyring, privkey: bytes) -> str:
    symm_ciphertext, symm_key = _symmetric_encrypt(plaintext)
    group_keys = ring.encrypt(symm_key)
    fmt, ciphertext_block = pack_keys_and_ciphertext(group_keys, symm_ciphertext)
    sig = asymmetric.sign(ciphertext_block, privkey)
    fmt, packed = pack_sig_and_block(fmt, sig, ciphertext_block)
    string_data_to_write = serialize_everything(fmt, packed)
    return string_data_to_write