Reputation
22,422
Next tag badge:
107/100 score
18/20 answers
Badges
4 31 80
Newest
 Yearling
Impact
~498k people reached

May
12
comment Are hash functions chaotic?
"chaos", "deterministic chaos" - that's not a useful concept in crypto (they're buzzwords). Anyway, you haven't defined those terms. I suggest you edit your question to provide a precise technical definition of what you mean by chaos, and what the motivation/context for the question is, and what problem you're actually trying to solve.
May
12
comment Cryptographically secure keyed rolling hash function
You got 50 or 56 MB/s, and your goal was about 60 MB/s: sounds like you're basically done. Intel processors are widely deployed on servers, and modern Intel processors do support AES-NI. If in your application domain the processors typically don't support AES-NI, then you might want to measure what processors are used by your users (hint: make sure to measure), then do some research on other efficient block ciphers/PRFs (there are other candidates). SipHash is probably fine, if it meets your performance requirements, but I haven't studied it in detail. 128-bit keys are plenty.
May
10
comment Cryptographically secure keyed rolling hash function
Thanks, @RickyDemer, I've edited my answer accordingly. Universality is all that matters (all that matters is the probability that two inputs yield the same output.) I agree with both of your comments -- thank you for them.
May
10
revised Cryptographically secure keyed rolling hash function
added 10 characters in body
May
10
comment Cryptographically secure keyed rolling hash function
Sorry, I'm still not clear on how Tarsnap works. When is the substitution done? Is it applied to the input data, or to the output? If it substitutes from bytes to 32-bit values, does it expand the size of the input by 4x before hashing (or expand the size of the output by 4x after hashing)?
May
10
comment Cryptographically secure keyed rolling hash function
@cyril42e, have you benchmarked it? The AES-NI instructions are surprisingly fast. So you might want to implement, benchmark, and see if it meets your performance requirements. If it doesn't, I suggest editing your question to describe your performance requirements and how close this scheme gets and what you tried, to improve performance. Selecting the fastest block cipher for your platform is beyond the scope of this question, but you can find lots of other questions here that talk about that, or you can ask a new question.
May
9
revised Cryptographically secure keyed rolling hash function
Add an attack.
May
9
revised Cryptographically secure keyed rolling hash function
added 1277 characters in body
May
9
comment Cryptographically secure keyed rolling hash function
Thanks for the update. I'm still not clear on how Attic and Tarsnap work. Is the substitution applied to the input data, or to the output of the Rabin-Karp/cyclic hash? I don't know what you mean by "HMAC of indexes". Would you like to try expressing it in mathematics?
May
9
comment On modeling a random oracle hash function which maps $\mathbb{G}_1 \rightarrow \mathbb{G}_2$
What do you mean by "model a random oracle hash function"? Also, do you require it to be a group homomorphism?
May
9
comment Cryptographically secure keyed rolling hash function
Also, if you want us to comment on the security of Tarsnap or Attic, please define more precisely what you mean by "random secret substitution".
May
9
answered Cryptographically secure keyed rolling hash function
May
2
awarded  Nice Answer
May
1
answered reverse an identicon to its source string
May
1
revised Is the CONF key sharing Problem equivalent to discrete log problem?
added 318 characters in body; added 7 characters in body; added 15 characters in body; added 18 characters in body; added 26 characters in body
May
1
answered Is the CONF key sharing Problem equivalent to discrete log problem?
Apr
29
comment Pseudocode for constant time modular exponentiation
You might have missed the "constant time" in the title (and also mentioned once more in the question). I don't blame you, because that wasn't emphasized in the question as it might have been, and the question didn't mention what prior research he'd done (a shortcoming of the question). But I don't think Alex Gaynor was looking for a generic description of the RSA algorithm; I think he was looking for a description of how to make a constant-time implementation of RSA. That said, I agree that the question could have been clearer.
Apr
29
revised Pseudocode for constant time modular exponentiation
added 171 characters in body
Apr
29
comment Pseudocode for constant time modular exponentiation
@figlesquidge, I beg to differ. It does answer the question (just not in way the author had expected). This is an XY problem: the author wants a constant-time RSA implementation (that's the X) and thinks the right approach is to implement it himself even though he doesn't understand the math (Y). I'm telling him that Y is not the answer to X; that the right answer is Z (use well-vetted code, or hire a cryptographer). P.S. "Don't do it" is a perfectly acceptable answer if you explain why: meta.stackexchange.com/q/8891/160917
Apr
29
comment Pseudocode for constant time modular exponentiation
@CodesInChaos, The fact that GnuPG failed does not mean that it is a good idea for a beginner who lacks a strong math background to try to implement RSA on their own. If the OP cannot understand mathematical descriptions of solutions to the problem, the OP probably shouldn't be trying to implement this himself (maybe he needs to hire a qualified cryptographer). Would you hire a random person off the street to design a bridge, if they told you they couldn't understand some of the core elements of bridge engineering (finite elements, differential equations, structural modeling)?