Reputation
14,571
Next tag badge:
62/100 score
18/20 answers
Badges
1 16 64
Newest
 Good Answer
Impact
~305k people reached

4h
comment HKDF entropy extraction
@StephenTouset: I don't agree. System RNGs have been known to suffer from serious implementation errors (like the Android RNG bug) in the past, not to mention being potentially tempting targets for subversion attacks, and their correct operation is difficult if not impossible for a caller to verify. The safe approach, where possible, is to maintain your own entropy pool, and to treat the system RNG as just another potentially unreliable entropy source for it.
4h
comment Attacking CBC with predictable but encrypted IV
Based on the known plaintext/ciphertext pair they have, the attacker already knows that $E_K(C_{i-1} \oplus P_i) = C_i$. Thus, they can choose the IV (as long as it's one of the ciphertext blocks they know the plaintext for) by choosing the appropriate nonce.
1d
comment Elliptic Curve Cryptography Encrytion and text representation implementation
This does not appear to answer the question in any meaningful sense.
1d
comment How to find the encryption method and password?
Ps. Do you find the answers to either of these two questions helpful?
1d
comment How to find the encryption method and password?
Just to clarify, you're talking about a classical pen-and-paper substitution cipher (like Vigenère, for example), right? (For a secure modern cipher, the answer is basically "you can't".)
2d
comment Cannot verify rsa signature on Android
I suspect this question would be better suited for Stack Overflow. Also, it might help if you could turn your code into a self-contained example demonstrating the issue.
May
19
comment Do hand-based hash functions / MACs exist?
Similar, maybe duplicate question: crypto.stackexchange.com/questions/765/… (although it doesn't mention MACs).
May
19
comment Why cant Public Key Encryption be perfectly secure?
@RickyDemer: Right, that's more or less what I had in mind. Sorry for the fuzzy language. (Also, if the message length is bounded, you can just check all possible messages. You might still want to weigh the messages by plausibility, though, if reasonable messages only make up a small fraction of the full message space.)
May
19
comment Why cant Public Key Encryption be perfectly secure?
@RickyDemer: Iterate over possible private keys, check whether the private key can correctly decrypt most messages encrypted with the known public key. (We can reasonably assume that nobody would use a private key that doesn't work most of the time, at least unless there's an additional error checking and redundancy layer involved, in which case it really should be considered part of the cryptosystem.)
May
19
comment application for cryptography algorithms
When I Googled for c# crypto library, the first three results I got were the official .NET crypto API, Bouncy Castle for C# and this closed SO question that links to both of them. Are these anything like what you're looking for?
May
19
comment Is One Time Pad considered Chosen-Plaintext Attack Secure?
... We should be able fix the first issue by making the keyspace $\{0,1\}^*$ and restricting the total length of messages that can be encrypted with each key to a polynomial function of $n$. This seems reasonable enough, since the adversary can only make a polynomial number of queries anyway. But the statefulness issue remains, although I guess we could just make the keys long enough compared to the maximum total message length to make the probability of overlap negligible. Lots of handwaving here, I admit, but it seems like it should work.
May
19
comment Is One Time Pad considered Chosen-Plaintext Attack Secure?
I guess we could define the "keyspace" for a one-time pad as $\{0,1\}^{\Bbb N}$, regardless of the security parameter $n$, and prefix each ciphertext with a starting offset in the key sequence that is guaranteed not to overlap any previously used key segment. That should be enough to (almost) make the one-time pad an IND-CPA secure encryption system, if I'm not mistaken. The only problems being that 1) $\rm Gen$ will not actually be an algorithm in the strict sense, and will surely not be polynomial-time, and 2) $\rm Enc$ would have to be stateful to guarantee the non-overlap property.
May
19
comment Can you make a hash out of a stream cipher?
I don't really see how this adds anything to B-Con's second answer. In particular, as noted in the comments to that answer, it's not quite obvious how to obtain a block cipher that actually satisfies the (rather strict) security properties needed to prove the security of the resulting hash function.
May
19
comment Why cant Public Key Encryption be perfectly secure?
@RickyDemer: I don't really see any way to have sender-deniable public key encryption against a computationally unbounded adversary; in particular, the adversary can always recover the private key by enumerating the keyspace, and then decrypt the message. With overwhelming probability, the plaintext they get is what was originally encrypted, or at least what the intended recipient would have received.
May
19
comment How can a block cipher in counter mode be a reasonable PRNG when it's a PRP?
The answer is basically the PRF/PRP switching lemma, which essentially says that a pseudorandom permutation is indistinguishable from a pseudorandom function unless we observe a collision for one of them. See also this question on cstheory.SE.
May
19
comment What should I think about these unique certificate serial numbers
What is your specific question? "What should I think about X?" is not really something we can answer here. See our help center for more information about asking good questions.
May
19
comment Is the hash function defined in this exercise collision-resistant?
This is true (and should certainly be counted as a correct answer), but it's probably not the answer the author of the exercise was looking for. (If it was, why bother with all the extra details about the internals of the hashing algorithm?)
May
19
comment Is the hash function defined in this exercise collision-resistant?
Generally, the point of homework exercises is to give you some practice in applying the methods you've learned, and to help you notice any gaps in your skillset. Thus, to get the full benefit from the exercises, you should first try to solve them as far as you can on your own, and only then turn to others for help. In particular, when asking for help with homework on Stack Exchange, it helps a lot if you mention how far you've got on your own (even if it's "I tried X and Y and Z, but none of them work because..."), and where specifically (you think) you're stuck.
May
13
comment Time Capsule cryptography?
@kasperd: Sure, but it's a one-time setup cost. You launch the reflector / retransmitter well in advance, so that you can use it later when it's far enough. I never said this was a practical solution right now (if ever). Although, if you only need a delay of a few seconds, there's a convenient reflector already on the Moon. And we do technically have an active retransmitter at about 17 light hours away, even if contacting it discreetly may be tricky. ;-)
May
12
comment Time Capsule cryptography?
@kasperd: An active retransmitter would cut that down to the square of the distance. And, of course, the scaling law only starts to apply at distances where the beam width exceeds the size of the receiver / reflector, so the bigger you can make the reflector, and the better you can collimate the beam, the further you can reach with the same energy.