See the following sources: * <https://en.wikipedia.org/wiki/PURB_(cryptography)> * <https://github.com/covert-encryption/covert/blob/main/docs/Specification.md> * <https://github.com/covert-encryption/covert/blob/main/docs/Rationale.md> * <https://www.kryptor.co.uk/specification> It mainly boils down to two orthogonal principles: * the padding scheme shouldn't leak information about the payload; * the whole encryption output (including any headers) should be indistinguishable from purely random data;