20,530 reputation
32573
bio website
location
age
visits member for 3 years, 2 months
seen 5 hours ago

Dec
19
comment Is a Mersenne-twister cryptographically secure if I truncate the output?
Greg, the first step is to start by asking questions rather than drawing conclusions (such as the conclusion that Mersenne Twister is fine). You should be especially careful when your conclusions seem to run counter to what others have told you. Asking questions shows that you want to learn. Here's a starting tip: Mersenne Twister is insecure from a cryptographic perspective, and the fact that you only output partial output does not change that. You need cryptographic-level security, and the best way to get that is a CSPRNG -- which Mersenne Twister is not.
Dec
19
comment Is a Mersenne-twister cryptographically secure if I truncate the output?
Wow. There's a pretty impressive amount of misconception shown here. All I can say is: You are not qualified to write a casino game. Don't do it. There is specific technical knowledge required to do this right, and you do not have it. Try to find someone more qualified to do this aspect of design, because your instincts are leading you astray, your reasoning is wrong, your conclusion is wrong (and worse, you seem convinced that you are right).
Dec
17
comment Help with linear cryptanalysis
@Antimony - yup, that's certainly possible! The only thing I couldn't tell was: what is the best characteristic you've gotten? How many rounds, and with what bias (or what probability)? It's possible that if you asked a new question giving that specific characteristic and asking if anyone can do better, maybe someone would be inspired to try to find a better one and see if they can beat what you got. Anyway, great question -- sorry I wasn't able to give a more specific answer focused on this particular cipher.
Dec
16
comment Combining two hashing functions
possible duplicate of Guarding against cryptanalytic breakthroughs: combining multiple hash functions
Dec
16
comment Combining two hashing functions
Are you using cryptographic hash functions? If not, this is off-topic for Cryptography.SE.
Dec
15
comment Randomized stream cipher using multivariant quadratic equations
@Antimony, yeah, $n^2/2$ should suffice. I wasn't trying to optimize the constant factors (just laziness). Thank you.
Dec
11
comment Block Cipher Mode Amicable to Fast Key Change/Rotation Like XOR?
@DrLecter, thanks for the elaboration -- good point. If the document changes, you can consider the new version a new document (with its own key). I've edited my answer correspondingly. Thank you!
Dec
11
comment Do test vectors ensure a cipher is free of backdoors?
@CodesInChaos, yup, absolutely. But, I don't think mikeazo ever claimed that's the best or only way to insert a backdoor. To answer the question in the negative, it suffices to show one example of a backdoor -- it doesn't have to be the best possible backdoor.
Dec
11
comment Block Cipher Mode Amicable to Fast Key Change/Rotation Like XOR?
@noloader, It's not a problem. Think about it this way: What does knowledge of the document key for document $D$ let you do? It lets you decrypt document $D$. But if you give that key to everyone who should be able to read $D$, then you're not allowing them to do anything they shouldn't be able to do. It's not the same "everyone shares the wireless gateway password" because my answer shows how to communicate the document key to a person. There is no revocation: once you've allowed someone to download document $D$, you're done, there's no going back: they've got a copy of $D$, period.
Dec
10
comment Slow one-way pseudo-random permutation?
@K.G., cool! Would you care to add that as a separate answer, so we can upvote it? Also, do you know anything about the security of the discrete log on such curves? Is it also the case that the best currently-known algorithm is a square-root algorithm (i.e., we don't know how to do better than the generic algorithms for square roots in a black-box group)?
Dec
9
comment Slow one-way pseudo-random permutation?
Why do you need to store the permutation as $2^m$ words of $m$ bits, rather than just using any short-block cipher on $m$-bit blocks? Also: what's the security gap you expect from this? (i.e., the ratio in workfactor to break vs the workfactor for the legitimate parties to compute this function.) My rough back-of-the-envelope estimate suggests you should expect a very small security gap. If we precompute the discrete log of all primes up to $2^{21}$ (about $2^{17}$) of them, the time to compute a single discrete log is about 200 smoothness tests (sieving + ECM on a $\le 84$-bit number).
Dec
8
comment Slow one-way pseudo-random permutation?
Right. This answer doesn't work. If the matrix is non-invertible, then this won't be a permutation. The original question asks for a one-way permutation. (If it didn't need to be a permutation, this question would be easy to solve: you could just use SHA256 truncated appropriately.)
Dec
7
comment PRP representation size
@Bush, your question still has the same problems. Have you tried answering the questions in the last paragraph of my question? They are intended to get you thinking along lines that enable you to clear up your confusion on your own.
Dec
7
comment Slow one-way pseudo-random permutation?
@fgrieu, excellent point. OK, I guess I don't know how to make this slow after all (unless each person will only use the key once -- but that's probably a relatively rare situation). Thank you for catching that.
Dec
7
comment Slow one-way pseudo-random permutation?
@RickyDemer, yup, either do that (i.e., iterate: a standard way to make something slow), or make the key expansion of $k \mapsto (k_0,k_1)$ slow (if each person will only use the key $k$ once -- which might not apply here, but I mention it just for completeness).
Dec
6
comment Keyed digest function with odds of collision below the birthday bound?
Is there any reason to think that the polynomial given here is hard to invert? It looks to me like that paper shows that these polynomials are easy to invert. In particular, it looks like the proofs of Propositions 1 and 2 give an explicit algorithm to find $x$ such that $p(x)=d$ (where $p$ is one of these permutation polynomials). For instance, equation (9) shows how to solve $(x^{2^k}+x+a)^{-l}+x=d$ for $x$, and the displayed equation at the end of Proposition 2 shows how to solve $(x^{2^k}+x+a)^s+x=d$ for $x$. (Cc:ing @fgrieu)
Dec
6
comment Slow one-way pseudo-random permutation?
I still don't think I understand the requirements, but I suspect if you took a step back and allowed yourself to admit other solutions you could find better, simpler solutions. For instance, something using a trusted server or HSM. P.S. I think there's a solution to the mobile app issue you mentioned. Suppose there's a 256-bit SHA256 hash. You can ask the user to enter in the first 64 bits of the hash, then look it up in the database of items and see if that's to uniquely identify the item; if it isn't, have them enter in the rest. It will be extremely rare that a user needs to enter more.
Dec
6
comment Can insecure algorithms be combined to form a secure algorithm?
Also, they are hoping it will be safe, but there is no proof that this is safe.
Dec
6
comment Slow one-way pseudo-random permutation?
Also, why does your application require such a complex construct? Why not just store a unique random serial number in the 2-D barcode, and have a back-end database that maps the serial number to whatever data is associated to that card (of course, the data can be encrypted under one merchant's key if you wish). Perhaps I haven't quite understood the application yet.
Dec
6
comment Slow one-way pseudo-random permutation?
Why do you need the output to be the same length as the input? If you're willing to have (say) a 256-bit output, your goals are easy to achieve; just use the SHA256 hash. If the output is going to be stored in a database but not stored on the card, that'd suffice. Also, why do you need it to be bijective (i.e., a permutation)? If collisions are non-trivial to find, is that good enough?