Reputation
18,516
Top tag
Next privilege 20,000 Rep.
Access 'trusted user' tools
Badges
1 28 75
Impact
~445k people reached

Jan
9
comment Do we have anyway of knowing if avoiding self-permutation in RC4 makes it any stronger?
... However, the RC4 internal state also includes the $i$ and $j$ indices, which are initialized to fixed values; thus, the full RC4 state space has $256^2 \cdot 256!$ states, of which only $256!$ (those with $i=j=0$) are possible on the first round (and some, like the Finney states, are provably unreachable on any round).
Jan
9
comment Do we have anyway of knowing if avoiding self-permutation in RC4 makes it any stronger?
@IamNick: All the 256! permutations can, indeed, be reached; to show this, first note that a Fisher-Yates shuffle can produce any permutation, and then that any execution of the Fisher-Yates shuffle on {0, ..., 255} can be simulated by RC4 key setup with a suitably chosen key. In fact, this directly yields an algorithm for reconstructing the key based on the final permutation, which is exactly what I've presented above. [...]
Jan
9
comment Why can’t the public key exponent in RSA be negative?
Good point, @Meysam. I've edited my answer to correct that.
Jan
9
comment Why can’t the public key exponent in RSA be negative?
While not precisely a duplicate, at least my answer to this related question also answers yours.
Jan
9
comment Do we have anyway of knowing if avoiding self-permutation in RC4 makes it any stronger?
Technically, since RC4 key length is capped at 256 bytes (and the key is repeated if it's shorter than that), just concatenating $k_{ip}$ and $k_u$ won't work; you'd have to actually run the key setup twice, first with $k_{ip}$ and then with $k_u$. Still, for any initial permutation $p_1$ and any target permutation $p_2$, there is an RC4 key (possibly several, in fact, but at least one is easy to find) that transforms $p_1$ into $p_2$. In that sense, every key in the OP's modified RC4 is provably equivalent to some key in normal RC4.
Jan
7
comment Rule 30 Cellular Automaton for Cryptography
This paper seems to say "no, it's not secure", but I haven't read it fully yet.
Jan
7
comment Why IV does not have to be secret yet has to be random
You may also find this question useful.
Jan
7
comment Permutation of keys that guarantees different hashes
@fgrieu: I suspect the OP actually wants $$\exists H,m\ \forall x,y: (x \ne y \land H(x) = H(y)) \implies H(m(x)) \ne H(m(y)),$$ rather than $$\exists H,x,y\ \forall m: x \ne y \land H(x) = H(y) \land (m \ne {\rm id} \implies H(m(x)) \ne H(m(y))).$$
Jan
7
comment Permutation of keys that guarantees different hashes
@petermlm: Yes, but if $H(x) = H(y)$ for all $x$ and $y$ (that's what $\forall$ means), then the output of $H$ is constant.
Jan
7
comment What is the difference between MACTripleDES and TripleDES?
That would be a valid question on Stack Overflow, but not here. (Or you could just look at the documentation, and specifically the ComputeHash(Byte[]) method). Also, you cannot "encrypt" or "decrypt" anything with a MAC; that's not what they're for.
Jan
7
comment What is the difference between MACTripleDES and TripleDES?
You mean this thing? If so, this question on SO might be helpful.
Jan
7
comment Permutation of keys that guarantees different hashes
You might want to clarify your question. The only functions that satisfy $H(x) = H(y)\ \forall x \ne y$ are constant ones, and those obviously cannot satisfy the second criterion. So, as written, the answer is trivially "no."
Jan
6
comment Hash function that allows to decide if A > B if you only have hash(A) and hash(B)?
Related, not quite duplicate: crypto.stackexchange.com/questions/8160/…
Jan
6
comment Homemade Randomized RSA
You can use the public key to implement an encryption oracle, but that's not the only thing you can do with it. So, you know $e$ (since it's public), and have a guess for $m$. What can you do with those? Will it help you answer @Henrick's question?
Jan
3
comment Is there an asymmetric encryption algorithm where the public key cannot be derived from the private key
I just posted a question about the security of this scheme.
Jan
3
comment Is there an asymmetric encryption algorithm where the public key cannot be derived from the private key
Hmm, yes, that might work. You'd presumably need a non-standard way of generating $e$ and $d$ (since simply setting e.g. $e = 65537$ is obviously a non-starter here), but just picking a random $e$ coprime to $\lambda(n)$ might work. I've never seen any actual security analysis for this RSA variant, though; in particular, I wonder just what kind of message padding it would need to be secure both as an encryption scheme and as an authentication scheme at the same time.
Jan
3
comment Is there an asymmetric encryption algorithm where the public key cannot be derived from the private key
Doesn't knowing both the encryption and the decryption exponent allow factoring the modulus?
Jan
3
comment What is the correct definition of the blowfish F-function?
It seems to me that you've misinterpreted the pseudocode here while translating it to C: the code is clearly using x + y mod 2**32 to mean "add x and y modulo 2**32", or, in other words, "add x and y using 32-bit integer arithmetic" -- not "reduce y modulo 2**32 and add the result to x" like your C code reads.
Jan
3
comment Uniformly distributed secure floating point numbers in [0,1)
@user: I did. There does not appear to be any basis for that assertion, as the code given in the answer actually gives exactly the same results as casting to float and dividing.
Jan
3
comment Why does DES implement so much Cross Wiring?
@RichieFrame: Your comment seem to directly contradict the answer given by Yehuda Lindell below. If you don't agree with the answer, or think there's more to this, you might want to consider adding an answer of your own.