17,875 reputation
32063
bio website
location
age
visits member for 2 years, 8 months
seen 1 hour ago

Aug
28
comment Generate Elliptic Curve Private Key from User Passphrase?
If have a way to keep data secret from an attacker but ensure it is known to authorized users, then don't mess around with passwords or salts or anything: just use a cryptographic key that is known to authorized users but not available to attackers. On the other hand, if you don't have a way to do that, then no amount of additional salt (that's known to the attacker) will change any of my bottom line conclusions.
Aug
27
comment RC2, RC4, RC5 key length
Thanks, @Thomas, that's a good suggestion! I made the edit you suggested.
Aug
26
comment RC2, RC4, RC5 key length
Brownbat, nice, I like it. +1.
Aug
26
comment Lagrange Interpolation for finite field GF(2^8), for Secret Reconstruction
This question appears to be off-topic because it is about code review. Code review is out of scope for this site; see meta.crypto.stackexchange.com/q/303/351.
Aug
25
comment Generating an IV for ESP 3DES-CBC
I don't recommend using /dev/random, for a number of reasons (do a search here or on IT Security.SE to see why). Instead, use /dev/urandom or any crypto-quality pseudorandom number genreator.
Aug
25
comment Is there any research about cryptography on nondeterministic Turing machines?
[..] Also, w.h.p, the real key $K$ is the only key that fulfills all of these requirements, since there are about $2^{1780380}$ such input sequences and only about $1/2^{1000000}$ of them are consistent with the known keystream and only about $(1-1/e)^{1185858}=1/2^{784715}$ of the remainder pass the rest of the tests. Therefore, this attack will find the real key $K$ and output it.
Aug
25
comment Is there any research about cryptography on nondeterministic Turing machines?
Here's an attack that breaks your scheme. Suppose we have 1000000 bits of known (debiased) keystream. Guess $K$. Guess a 1876000-bit sequence containing at most 690142 0's; it is a possible input to the von Neumann debiaser. Test whether applying von Neumann debiasing to this yields the known keystream; reject if not. Guess $M_i$ for each position $i$ where this sequence has a 1 bit. Test whether $H(K,N,i,M_i)=0$ for each such $i$; reject if not. If all tests pass, accept and output $K$. w.h.p, the debiaser only needed $\le 1876000$ bits of input, and at most 690142 in its input were 0's. [..]
Aug
23
comment what is pairing in cryptography?
What reading have you done? What effort have you made? Have you looked in Wikipedia? Have you looked in modern textbooks? Have you searched via Google? Have you read course notes on the topic? We expect you to do some investigation on your own before asking here: ask only questions that you actually care about -- and if you care about it, do a little research on your own. In this case, it is very easy to find basic information on pairings (e.g., on Wikipedia).
Aug
23
comment The specification of modern, non-communicating cipher machinery
These questions all seem pretty standard, for applied cryptography. Have you read Cryptography Engineering, by Ferguson, Schneier, and Kohno? Or other good textbooks on applied cryptography? They'll tell you about things like how long your IV should be, why you need a message authentication code, how to resynchronize after corruption, etc. You should start by studying what is already known about computer-based systems, then analyze for yourself how they apply to your situation, and come back if there's anything that you can't work out from the standard references.
Aug
22
comment Create a field in PBC
What you want to do has nothing to do with pairing-based cryptography. Why would you want to use PBC, or something related to pairings?
Aug
22
comment Is there any research about cryptography on nondeterministic Turing machines?
@PaŭloEbermann, thank you, yes, that's a good summary (with the caveat that you have to be able to verify whether your guess was correct or not).
Aug
22
comment Is a 1024-bit DSA key considered safe?
@bdesham, sorry, I don't know the answer to your second question. I don't know of any way to replace it without revoking it and creating a whole new key, but maybe someone else will know.
Aug
22
comment How can I accomplish Key Derivation in JavaScript?
@AbhiBeckert, If you want advice on how to get the best possible security for your web service, I recommend you ask a question that describes your web service, your security needs, your requirements, your user population, and similar information. We can't read your mind; and it's hard to provide a useful answer without that information. As it is, I can only answer the question you asked (whether it's possible to take a weak password and turn it into a strong crypto key); the answer is no, you can't. It doesn't matter how inconvenient that answer is for users; the answer remains correct.
Aug
21
comment How resilient to attackers with extreme resources available is this encryption method?
@Everlag, the short answer is you can't: you need to rely upon something more than just a passphrase. The simple answer is to use public-key key exchange as others have suggested (e.g., like SSL). Or, maybe you need secure storage somewhere (where the private key can be stored securely; possibly encrypted under the passphrase); maybe you need a hardware device or token or smartcard; maybe you need something else. It's hard to tell you what the best approach will be, without knowing anything of the application requirements or restrictions or goals beyond that you want very strong cryptography.
Aug
21
comment Understanding the “cube-root math” behind an RSA signature forgery
hlh, sorry, I don't understand your question. The paper explains why the answer is $2^{1019} - (N * 2^{34}/3)$. They've already given you this answer (magically) and are now explaining how you can verify that this answer is correct. Plug in $A=2^{1019}$, $B=N*2^{34}/3$ into (7), exactly as the paper tells you do, and then simplify, and then the paper tells you why the cube of $2^{1019} - (N * 2^{34}/3)$ is $2^{3057}-N*2^{2072}+G$.
Aug
21
comment Strength of CBC with Ciphertext Stealing
This doesn't really answer the OP's question, which was about the degree of risk due to leaking the length. This is the one respect in which CBC-CTS does not achieve the same level of security as plain CBC, as CBC-CTS leaks more precise information about the plaintext length.
Aug
21
comment Understanding the “cube-root math” behind an RSA signature forgery
The paper explains how it got this number immediately after the expression you are quoting. See equations (7) and (8) and the surrounding text (continuing onto the top of the next page).
Aug
20
comment Is there any research about cryptography on nondeterministic Turing machines?
"You appear to assume that if there is no such path, you don't get any usable output" - Yes, that's right. I agree: that's exactly the heart of it. See my comment on the question, where I asked for clarification about what the original poster (user8007) had in mind in this regard. I'm going based upon my best attempt at interpreting user8007's answer as well as my limited understanding of complexity theory. Do you know of any reference which suggests which is the right formulation? If so, can you share a reference where I can learn more? I'd love to learn more!
Aug
20
comment Is there any research about cryptography on nondeterministic Turing machines?
(cont.) It is easy to find a condition under which Bob accepts and outputs that $i=1$, but no amount of non-determinism is enough for Bob to accept and output that $i=0$. (There's no single guess that lets Bob verify that there is no solution to your equation. If Bob guesses one value of $M$ and find it isn't a solution to the equation, he has no idea whether some other value of $M$ might be a solution.) Encryption has the same problem. So, your example is not valid: neither encryption nor decryption can be computed using a non-deterministic algorithm.
Aug
20
comment Is there any research about cryptography on nondeterministic Turing machines?
Oops, forget everything I wrote earlier! I just figured out what I missed. Your example is no good because Bob cannot decrypt. Try writing out a non-deterministic algorithm Bob can use to decrypt. To see this, just try writing a non-det. algorithm Bob can use to compute a single biased bit $i$. Make sure you remember the rules of non-deterministic algorithms: you have to specify the criteria under which Bob accepts or rejects. What is the condition under which Bob accepts and outputs that $i=0$ (that there is no solution $M$)? Try to write it down -- you'll see you are stuck. (cont.)