I remember a discussion on here before of why using JS crypto (different implementation) was a bad idea (in short, a mitm could give you a broken jscrypto functions which don't really encrypt).<p>So no, you wouldn't want to use this in place of TLS, but the authors give some decent reasons why you actually might want to do this:<p><i>One major reason is the need to encrypt data before uploading it to a server; this is useful where the server needs to store data but doesn't wish to see it in the clear. It can also be used in desktop applications written in Javascript - for example, Firefox extensions.</i><p>Can anyone think of other good reasons?