break these out into individual tracking tasks that link back to this one
upgrade mechanism if needed
evaluate GCM + AEAD switch compared to current AES-256-CTR solution
evaluate SubtleCrypto library and move to it or another x-plat, mobile + desktop supported crypto lib
understand TFile struct and how to get & interact with it to achieve crypto
test migration
manual end-to-end test plan
update README.md with better user-facing information, a screenshot
Upgrade Mechanism:
Users may have two incompatible Cryptsidian archives. The crypto library in v1 and v2 may change. If cipher mode is still aes-256-ctr they should be compatible, but we should test. If we decide to also change the crypto scheme (e.g. switching to GCM to take advantage of AEAD) they will be incompatible.
Currently ~1k downloads of Cryptsidian, let's do our best to support these users during an upgrade.
Possible solutions:
warn the user with an additional dialog and a 'dismiss forever' option on first use of v2, display this warning 3 times or until user dismisses forever, whichever one is lower
prepend some metadata to the v2 files so we know they are v2 and refuse to decrypt files missing this metadata w/ v2 decryptor - redirect user to get v1 decryptor
put user education in Github repo saying upgrade is incompatible
Test migration:
all tests will need to be rewritten given TFile use
some test logic may need to be rewritten (e.g. file discovery) if we can no longer use node's fs (e.g. on mobile)
Manual test plan:
would be great to get some help testing on both mobile plats
also need to test file synchronization vs. cloud backup (Dropbox etc.), both for single device and for multi-device
Plan for upgrade to address these benefits
Benefits:
SubtleCrypto
)To do:
SubtleCrypto
library and move to it or another x-plat, mobile + desktop supported crypto libTFile
struct and how to get & interact with it to achieve cryptoREADME.md
with better user-facing information, a screenshotUpgrade Mechanism: Users may have two incompatible Cryptsidian archives. The crypto library in v1 and v2 may change. If cipher mode is still
aes-256-ctr
they should be compatible, but we should test. If we decide to also change the crypto scheme (e.g. switching to GCM to take advantage of AEAD) they will be incompatible.Currently ~1k downloads of Cryptsidian, let's do our best to support these users during an upgrade.
Possible solutions:
Test migration:
TFile
usefs
(e.g. on mobile)Manual test plan: