Live data from Hacker News

Show HN: InstantCryptor – AES256 Encryption for Dropbox and Google Drive

instantcryptor.com

31–40 of 52 posts

Re: Show HN: InstantCryptor – AES256 Encryption for Dropbox and Google Drive

#31
post #6
post #3

And we do not store or even transfer your Dropbox or Google password on our servers. It runs locally in your browser. Feel free to double check this in the source code ;)

Can you link to the source code? In the 2-3 minutes I've spent searching, I can't find it.

If it's all client side JavaScript, then the source code is the webpage.

Re: Show HN: InstantCryptor – AES256 Encryption for Dropbox and Google Drive

#32

ooh. I made an app that encrypts files on Android written in Java and has a C# written client for Windows. I have released the java source code. I should post it here on HN to look at it and rip me a new one. What I am sketchy about is how does embedding an unencrypted salt used for the PBKDF2 in the file not potentially make guessing of the passphrase easier

How are you going to guess the password given just the salt, not even the hash? Hell, even with the hash itself it's nowhere near easy.

Re: Show HN: InstantCryptor – AES256 Encryption for Dropbox and Google Drive

#33

ooh. I made an app that encrypts files on Android written in Java and has a C# written client for Windows. I have released the java source code. I should post it here on HN to look at it and rip me a new one. What I am sketchy about is how does embedding an unencrypted salt used for the PBKDF2 in the file not potentially make guessing of the passphrase easier

To answer your question about the the salt and the PBKDF2: salt ensures that the hash of my password is different from someone else's, even if we use the same password (or I use the same password on another site). Thus, if someone has the hashes, and wants to attack the system, then need to attack each password independently (they can't just run a password dictionary through the PKDF2 (or SHA256 in this case - very bad choice)) and then compare the results against all of the password hashes. They have to start with the salt (different for each user), and then run each password guess through the algorithm. Much slower. Much better.

Which brings us to PBKDF2 instead of SHA256: SHA256 is designed to be fast. That's bad when hashing passwords, because it makes offline dictionary-based attacks faster. Password Derivation functions are designed to be slow. That makes logging on very slightly slower, but makes offline attacks much, much slower.

However, doing the encryption in Javascript is a fatal problem: At any time, they can update (or be forced to update) the javascript to send the server my password when I use it, and the only way I can protect myself from this is to audit the code, EVERY TIME I USE IT.

Re: Show HN: InstantCryptor – AES256 Encryption for Dropbox and Google Drive

#34
post #4

>> The password will be hashed with the SHA256 algorithm, the mode for encryption is 256 Bit Rijndael/AES SHA256 is not a KDF, AES-256 is not a block cipher mode. Where is the source code?

What's the standard for this kind of thing, PBKDF2 / AES-CBC / HMAC-256?

(I went and checked NaCl and it has its own primitives, http://nacl.cr.yp.to/secretbox.html)

Re: Show HN: InstantCryptor – AES256 Encryption for Dropbox and Google Drive

#35
post #22
post #4

>> The password will be hashed with the SHA256 algorithm, the mode for encryption is 256 Bit Rijndael/AES SHA256 is not a KDF, AES-256 is not a block cipher mode. Where is the source code?

PBKDF2 is still the gold standard for converting a password to an encryption key, right? bcrypt has some desirable properties, but it has a fixed output length of 192 bits.

scrypt is the gold standard, I think.

Re: Show HN: InstantCryptor – AES256 Encryption for Dropbox and Google Drive

#38
post #27

Even with proper algorithms, per-file encryption leaks quite a lot of meta-data, sizes and usage patterns; also the cloud provider can transparently delete, corrupt and revert files to previous versions.

I wrote a backup/archive tool [0] that uses authenticated encryption, scrypt, and local key management. The only thing it leaks [1] is the amount of new data added on each snapshot.

[0] http://goryachev.com/products/secure-archive

[1] hopefully

Re: Show HN: InstantCryptor – AES256 Encryption for Dropbox and Google Drive

#39
post #4

>> The password will be hashed with the SHA256 algorithm, the mode for encryption is 256 Bit Rijndael/AES SHA256 is not a KDF, AES-256 is not a block cipher mode. Where is the source code?

Looks like they are using CBC block cipher mode. Guess they updated the site since then.

This appears to be the source code: https://instantcryptor.com/js/main.js

Re: Show HN: InstantCryptor – AES256 Encryption for Dropbox and Google Drive

#40
post #34
post #4

>> The password will be hashed with the SHA256 algorithm, the mode for encryption is 256 Bit Rijndael/AES SHA256 is not a KDF, AES-256 is not a block cipher mode. Where is the source code?

What's the standard for this kind of thing, PBKDF2 / AES-CBC / HMAC-256? (I went and checked NaCl and it has its own primitives, http://nacl.cr.yp.to/secretbox.html )

The old best practice was RSA (with OAEP padding), AES CBC (with PKCS 7 padding), HMAC-SHA-2 (for TLS, AES GCM is better than AES CBC + HMAC, but I don't know if it's true in general). The new best practice seems to be something based on Curve25519 with SALSA/XSALSA/CHACHA + POLY1305.

CFRG has been trying for a year to come up with recommendation for TLS 1.3 on how to use 25519 and stronger curves in better primitives than ECDSA. ChaCha20+Poly1305 is getting more progress getting standardized, but still very slowly[0][1][2][3]. If you want to be sane then don't look into how sausages, laws and standards get made.

0 - https://tools.ietf.org/html/draft-agl-tls-chacha20poly1305-0...

1 - https://tools.ietf.org/html/draft-nir-cfrg-chacha20-poly1305...

2 - https://tools.ietf.org/html/draft-irtf-cfrg-chacha20-poly130...

3 - https://tools.ietf.org/html/draft-mavrogiannopoulos-chacha-t...

Post reply on HN