There are general measures and precautions that crypto designers can take now to achieve quantum resistance and minimise the risk of our data privacy being compromised in the future:
1. Use long keys. As the cost of computation decreases over time, the feasibility of an attack that exhaustively tries all possible keys is improved. Longer keys have a larger set of possible keys that the attacker must test. ScramFS uses 256-bit keys, which are considered best practice with symmetric encryption for long term storage.
2. Use symmetric encryption. Quantum computers are known have a small (a factor of square root) advantage when attacking AES symmetric encryption. However they have a much greater advantage against RSA and ECC public key encryption, which is now considered to be insecure against attack by quantum computers.
3. Minimise the quantity of data encrypted with each key. This reduces the attack surface against each key, and also reduces the quantity of data revealed to an attacker should they be successful.
ScramFS has been carefully designed to rigorously adhere to these principles.
ScramFS follows the recommendations of the PQCRYPTO (Post-Quantum Cryptography for Long-Term Security) group. Their latest recommendations can be found in the
Initial recommendations of long-term secure post-quantum systems report (Horizon 2020 ICT-645622).
Further, ScramFS maintains security with scale: the encryption keys are managed so that the data encrypted with each key is limited while the data stored in ScramFS increases. Even when ScramFS contains multiple terrabytes, adding additional data does not compromise the security of the previously encrypted data.