It’s expected to be shared via an otherwise insecure channel (email, SMS, etc.). That is where there is a large compromise on convenience. I have a feature that I want to implement that separates the key from the URL so the URL and key can be shared via separate channels https://github.com/osbytes/crypt.fyi/issues/54
They’re decrypted automatically in your browser via the
key
in the URL and additionally a password (assuming one was set when created). Both thekey
and password are used to encrypt the contents so the key alone is not sufficient to decrypt the contents. Regardless, it happens automatically entirely in your browser without ever sending the key or password to the API server.I have the limit set to ~500kb right now. That’s after encrypting the contents. How large is your favorite Judas Priest album? Maybe I can uptick to accommodate it haha.
Given the different tradeoffs on performance, security, and implementation complexity, GCM seemed like a reasonable choice. I’m making sure to use the OWASP recommended PBKDF iterations 1 2. I’m also looking into post-quantum options recommended by NIST 1.