Hello to all,
« My notes » app is a new feature available into CRX-LOGBOOK :
-> For the moment, a note is limited to ~ 6000 caracters (limitation is only the WEB call here).
-> All the notes are protected by encryption (with your PIN code from 4 to 127 caracters).
-> Remember to write down this code or memorize it, because it is not possible to recover it and therefore to read your notes without this code !
-> Pin code is store into your webrowser via a COOKIE (encrypted by security) and for 1 year.
-> So if you change your browser, you will have to re-enter your pin code.
-> When you clic on « Exit » link, COOKIE will be erased.
-> If you enter the wrong code, the notes are visible but simply empty.
From a technical point of view :
-> Encryption is done on server side, not client side.
-> The cookie containing the pin code and the note are encrypted via AEAD (authenticated encryption with additional data),
with the PHP « SODIUM » library : crypto_aead_xchacha20poly1305_ietf ( https://datatracker.ietf.org/doc/html/rfc8103 )
as input :
-> the message encrypted here the content of your note (in plain text).
-> the pin code (number or letter of 4 minimum, you can put a lot more).
-> the nounce (Number used only once) generated via: random_bytes SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NPUBBYTES
-> a unique encryption key linked to the CRX site, here generated via: random_bytes : SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_KEYBYTES
Of course I use a base 64 envelope via php base64_encode to store the global key in configuration.
Good weekend, 73!