This program is a proof-of-concept implementation of key, signature, and ciphertext size reductino for lattice-based cryptography, written in SageMath 9.0.
load('LatticeCompression.py')
q = 3329
n = 256
k = 2
q = 12289
n = 512
k = 1
q = 2^17 + 90
n = 256
k = 3
A random element in R_q^k is generated.
t = get_key(n, k, q)
print_key(t, n, k, q)
num = compress_key(t, n, k, q)
decomp = decompress_key(num, n, k, q)
compare_keys(t, decomp, n, k,q)