Currently, cipher selection (ChaCha20/Gimli) and KEM (Ring-LWE/R-Ring-LWE) are strictly tied to CipherType and direct imports.
I'd like to migrate this to the Strategy + Registry pattern (something like this):
QuarkDash.registerCipher('my-cipher', MyCipherProvider); // User-defined cipher provider
const qd = new QuarkDash({ cipher: 'my-cipher' });
Why: This will allow third-party developers to plug in their own algorithms (such as XChaCha20, or experimental lightweight ciphers for IoT) without forking the library.
Currently, cipher selection (ChaCha20/Gimli) and KEM (Ring-LWE/R-Ring-LWE) are strictly tied to CipherType and direct imports.
I'd like to migrate this to the Strategy + Registry pattern (something like this):
Why: This will allow third-party developers to plug in their own algorithms (such as XChaCha20, or experimental lightweight ciphers for IoT) without forking the library.