2,951 reputation
526
bio website touset.org
location San Francisco, CA
age 31
visits member for 2 years, 6 months
seen 2 hours ago

Cyclist. Rubyist.


Oct
30
comment AES— Brute force attack versus Known plain text attack
This is a known-plaintext attack, and as demonstrated it is significantly faster than the $2^{128}$ steps (worst-case) it would take to brute force a 128-bit key.
Oct
30
answered AES— Brute force attack versus Known plain text attack
Oct
29
comment Encryption algorithm designed to be easy to decrypt by machine but impractical to decrypt by hand
At that point, why not just used fixed-key AES?
Oct
29
comment How can a good pseudo-random number generator be made?
My recommendation would be to look at the papers behind existing stream ciphers (e.g., Salsa20), and see what they do.
Oct
23
comment How do you test randomness?
You mention that you can only prove with high probability that it wasn't produced randomly or pseudorandomly, but that's not true at all against an intelligent adversary. Any statistical test you perform can be bypassed.
Oct
23
comment Operation which needs much computing power to be created, but just a little to be solved?
Ah, sorry! I had completely inverted his question in my head — he wants the inverse of a trapdoor function. In a sense, he's looking for problems in NP: hard to compute, easy to verify.
Oct
23
comment Operation which needs much computing power to be created, but just a little to be solved?
That's pretty much the basis of much of cryptography.
Oct
23
comment Advantages of combined PRNGs
For what it's worth, combining multiple sources of (potentially-questionable) entropy is exactly what Fortuna is designed to do.
Oct
22
comment What is the use of Mersenne Primes in cryptography
@poncho has a great point. Mersennes can be useful when you need a non-secret prime number that is fast to compute modulo on.
Oct
22
answered What is the use of Mersenne Primes in cryptography
Oct
22
comment Encrypt a file for random access but only after an initial read of the whole file
@CodesInChaos I retract my original statement — you are of course correct; this has the exact properties asked for by the OP.
Oct
22
comment Encrypt a file for random access but only after an initial read of the whole file
That doesn't seem to have the properties that he's asking for.
Oct
21
comment Encrypt a file for random access but only after an initial read of the whole file
You're thinking of an all-or-nothing transform, but something like that fundamentally won't work with random access.
Oct
15
comment What is a tweakable block cipher?
Out of curiosity, what does it mean to say that "changing a key can be expensive"? What does Threefish do differently to AES that makes changing keys "cheap"?
Oct
15
comment Comparing Files: Is it better to use multiple hash algorithms or just one?
What MD5 (or, ideally, a better hash function like SHA-2 or BLAKE2b) gets you is a short token that you can compare to later. Doing a byte-by-byte comparison involves reading both files entire contents from disk in order to compare them. If you, for instance, have 100 files and a new one is uploaded, you would have to compare against all 100 (or if you store them in sorted order, you can use a binary search). With a hash, you read each file once and then compare the short 128-bit or 256-bit string for each of them (again, using a binary search through, e.g., a database index).
Oct
15
comment AES: Guess Password using the unencrypted text?
It's hard to answer this question authoritatively; it really depends upon the specific software you're using. The question is roughly equivalent to, "Will a bridge made out of steel collapse?" The answer is hopefully no, and it should be no, but there are many critical variables besides the particular choice of building material.
Oct
14
comment Is it true the longer the key length is the more secure the encryption?
To TL;DR the answers you've received so far: increasing key lengths is increasingly pointless, as this defends an otherwise-secure cipher against brute force attacks. But typical key lengths are currently such that brute force attacks are outside the realm of physical possibility. What's important is building ciphers that are more resistant to other kinds of attacks like differential cryptanalysis, timing attacks, etc. Key lengths are already essentially the strongest component of modern cryptography.
Oct
13
comment How to use the key from a Diffie Hellman exchange?
That only works in two scenarios: a one-time pad, and a stream cipher. In the first case, you have to have truly random numbers and not numbers that are pseudorandomly generated. In the other, you would use the key with a preexisting stream cipher (like AES in CTR mode, or Salsa20) to produce a keystream that is later XORed with the plaintext. Regardless, this is something you absolutely should not be doing yourself; it is too easy to get any one of dozens of details wrong, resulting in little to no security at all. Use a library like libsodium or BouncyCastle to do the work for you.
Oct
13
comment How to use the key from a Diffie Hellman exchange?
There are many different symmetric encryption algorithms; their selection, implementation, and use is an enormous topic and warrants another question (or many).
Oct
13
comment How to use the key from a Diffie Hellman exchange?
The answer to this question can range from "extremely simple" to "extremely complicated". The simplest answer is, once two parties share a secret key of sufficient length, they can use pretty much any symmetric-key encryption algorithm to exchange a single message. A lede to the more complicated answer is that if you want to exchange multiple messages, authenticate (one, both, or more) parties, or have other features, the key exchange must be part of a larger protocol such as TLS.