TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

CryptAByte.com: Making cryptography (more) accessible to non-hackers

5 点作者 zader将近 13 年前

3 条评论

tzs将近 13 年前
DO NOT USE FOR ANYTHING IMPORTANT!!!!! CRYPTOBYTE IS NOT SECURE AT THIS TIME!!!!!<p>The developer says:<p><pre><code> CryptAByte uses public-key encryption just like HTTPS/SSL and OpenPGP/PGP. The algorithms used are RSA for key pairs, AES 256 to encrypt messages and files, and SHA 256 for hashing. The servers hosting this application support can encrypt 2.1 GB of data per second using the latest Intel CPU’s with AES support built into the chipset. </code></pre> Server-side encryption means that the people running the server have access to the plaintext. The web interface simply does a PUT request that sends the plaintext to the server.<p>Another problem is that they are storing your private RSA key on their server. When you ask to retrieve your messages, you do an AJAX POST request, giving a token to identify they key, and your password. Presumably, the key is encrypted using the password.<p>If their servers are compromised, whether by hackers or by search warrant, the security of your private key depends on how good your password is. They are pitching this as bringing good security to the masses. THE MASSES SUCK AT CHOOSING GOOD PASSWORDS. If you want to bring good security to the masses, it is ludicrous to make the security of the system rest on the ability of the masses to pick a high entropy password.<p>In defense of the developer, it is quite possible he knows all this. In the interview the article mentions (<a href="http://libertarianstandard.com/2012/06/07/exclusive-interview-with-cryptabytes-creator-david-veksler/" rel="nofollow">http://libertarianstandard.com/2012/06/07/exclusive-intervie...</a>), it is clear that this is an experiment at this stage, and it is quite possible that the developer has simply not gotten around to addressing those issues yet. The author of the article clearly has no technical knowledge of cryptography whatsoever, and so may have not understood that CryptAByte is an early stage exploration of concepts at this point.<p>I've got some experience designing a similar product, and I'm pretty sure that when he does get around to dealing with those issues he's going to find that it cannot be done without abandoning the idea of doing at all on the web. As far as I can see, to be secure even with users who do not pick strong passwords, you need access to the local filesystem and to a local source of cryptographically secure random numbers.<p>From the article (so blame the article author, not the developer):<p><pre><code> But it gets more brilliant. How can you know that you can really trust the service, or that Veksler himself works for the FBI or the like? Well, you don’t have to trust him. Veksler is making the entire apparatus completely open source so that anyone can inspect the code. He does nothing on the site that is not wholly open to the world, so that way anyone can know everything that is going on in the engine room but no one, not even the service owner, can know what is being communicated. </code></pre> Pure bullshit. The user has no way of knowing that the code ACTUALLY RUNNING on the site is the same as the code that is released as open source.
评论 #4182409 未加载
tptacek将近 13 年前
I'm happy to have another partner- in- debunking- broken- crypto here and so a little giddy at seeing the 'tzs comment, but he missed some stuff.<p>Grab the source code and you'll see that --- at least as regards the cryptography components of this application --- it's practically the "Hello World" example from the MSDN System.Security.Cryptography documentation.<p>That's not in itself a problem; lots of "hello world"-grade libraries are useful. Unfortunately, like every other low-level crypto library, the MSDN documentation does an appalling job of showing how to write a secure cryptosystem. Blame the docs, blame Microsoft, blame the developer, but this program gets a bunch of things painfully wrong.<p>By way of bona fides and to start this off: I'm pretty sure that using PBKDF2 to generate the key <i>and</i> the IV for AES-CBC is broken; it produces a deterministic repeating IV for every message encrypted under a given key. Had the default mode for AesManaged been CTR, or had the developer chosen CTR mode, this would be a devastating problem; it would mean attackers without knowing anything about the key or even the encryption method could, in seconds, discover that CTR mode with a repeating nonce had been used <i>and decrypt the messages</i>. Fortunately, since the .NET default is CBC, it just subtly weakens the cryptosystem instead of killing it.<p>Why-oh-why derive the IV from the key? An idiom in modern cryptosystems: generate a random block and tack it to the front of the message.<p>Do you want to entrust your secret messages to developers who get this wrong? Only if you want to do that developer a favor. It's fine if you do, but I recommend trusting your real secrets to GPG/PGP.<p>There are significantly worse problems with this library (at least, I think; I read it for just a few minutes). Exercises for the interested reader.
评论 #4202832 未加载
评论 #4203040 未加载
评论 #4203042 未加载
lvh将近 13 年前
'It is called cryptabyte.com. It is the first, easy-to-use, web-based service to provide <i>absolutely</i> <i>uncrackable</i> security in communications and file sharing."<p>(emphasis mine)<p>"CryptAByte uses public-key encryption just like HTTPS/SSL and OpenPGP/PGP. The algorithms used are RSA for key pairs, AES 256 to encrypt messages and files, and SHA 256 for hashing."<p>Soooo -- <i>like</i> SSL and OpenPGP, but not actually OpenPGP. Yes, let's use AES directly some more and not release source code until some undefined point in the future -- that sounds like a fantastic idea!<p>Aren't plain PGP/GPG installables for all platforms user friendly enough already? If they're not, can we please make websites that are basically cheap shims over gpg's stdout/stdin?
评论 #4182864 未加载