import numpy as np
def generate_keys(n):
Generate random lattice basis
def encrypt(plaintext, public_key):
Encode plaintext into vector
def decrypt(ciphertext, private_key):
Remove noise and decode
Example usage
public_key, private_key = generate_keys(10)
message = "Hello, quantum world!"
encrypted_message = encrypt(message, public_key)
decrypted_message = decrypt(encrypted_message, private_key)
print("Original message:", message)
print("Encrypted message:", encrypted_message)
print("Decrypted message:", decrypted_message)