def cipher(message, key): prng = Prng(deterministic=True, seed=key) randomString = prng.getRandomBytes(len(message)) stream = StringIO() for i in range(len(message)): stream.write(chr(ord(message[i])^ord(randomString[i]))) return stream.getvalue()
def genKey(label, seed=None): prng = Prng(deterministic=True, seed=seed) prng.addEntropy(label.encode("utf-8")) prng.skip(64 * 100000) return prng.getRandomBytes(32)