Based on https://gitlab.com/palisade/palisade-development/-/blob/master/src/pke/examples/pre-buffer.cpp