'Generates a unique, pseudorandom AES key, stored ephemerally in
memory as an instance attribute. Its destruction is ensured by the
automatic nightly reboots of the SecureDrop application server combined
with the freed memory-overwriting PAX_MEMORY_SANITIZE feature of the
grsecurity-patched kernel it uses (for further details consult
https://github.com/freedomofpress/securedrop/pull/477#issuecomment-168445450).'

def create_key(self):

    self.key = os.urandom((self.AES_key_size / 8))
    self.iv = random.getrandbits(self.AES_block_size)
    self.initialize_cipher()
