23,773 reputation
23199
bio website
location Paris, France
age
visits member for 3 years, 7 months
seen 23 mins ago

I'm an engineer with experience in applied cryptography, in particular in Smart Card systems.


Mar
26
comment The effect of truncated hash on entropy
The reasoning that keeping half the bits keeps half of the entropy is wrong, because the 256 bits of the hash of a 128-bit string are far from random. There is marginally less entropy in the hash truncated to 128 bits than there is in the 256-bit hash. Analogy: if you take the 2-bit hash that hashes 0 to 01 and 1 to 10, there's 1 bit of entropy in the output for random input. Truncate that to the first bit, and you still have 1 bit of entropy in its output.
Mar
26
comment The effect of truncated hash on entropy
Related to this. It does not change the problem that you use a 256-bit hash truncated to 128 bits, or a 128-bit hash. The entropy is slightly reduced from the original 128 bits, because of the collisions in the 128-bit hash; there are almost no collisions in the 256-bit hash.
Mar
26
comment Can machine learning analyze random number generator?
Are you asking if machine learning could analyze THE OUTPUT of a (P)RNG? Or if machine learning could analyze THE DEFINITION of a PRNG?
Mar
26
revised zendo data size restrictions
Addition per comment
Mar
25
comment Cycles in SHA256
First statement is wrong.
Mar
25
comment RSA weak padding
Your $f(x)=(1+2^8+2^{16}+2^{24})\times x=K\times x$ is restricted to $x$ an at-most-8-bit element of $\mathbb N$, and has $K$ and $f(x)$ in $\mathbb N$, is not it?
Mar
25
answered Cycles in SHA256
Mar
25
revised zendo data size restrictions
polish
Mar
25
comment RSA weak padding
Or more simply, find distinct $w$,$y$,$z$ each $\in[0,2^8-1]$ and not equal to $x$ with $x\cdot y=z\cdot w$; which is easy except if $x$ is prime an at least $131$.
Mar
25
answered zendo data size restrictions
Mar
25
revised Hash function such that fx(hash(s1),hash(s2)) = hash(concat(s1,s2))
Discuss principle of a practical implementation, and random reduction polynomial
Mar
25
revised Hash function such that fx(hash(s1),hash(s2)) = hash(concat(s1,s2))
Explain the simplest idea first, and in detail
Mar
25
revised Hash function such that fx(hash(s1),hash(s2)) = hash(concat(s1,s2))
polish update
Mar
25
revised Hash function such that fx(hash(s1),hash(s2)) = hash(concat(s1,s2))
polish update
Mar
25
revised Hash function such that fx(hash(s1),hash(s2)) = hash(concat(s1,s2))
There are simpler routes..
Mar
25
revised Hash function such that fx(hash(s1),hash(s2)) = hash(concat(s1,s2))
ceil->floor, fix a hash
Mar
25
comment Hash function such that fx(hash(s1),hash(s2)) = hash(concat(s1,s2))
@cygnusv: I have used $\pi$ to come up with a nothing-up-my-sleeves prime $p$. Any irrational mathematical constant will do, with some adjustments to the integers in the expression of $p$.
Mar
25
comment Hash function such that fx(hash(s1),hash(s2)) = hash(concat(s1,s2))
Right. Your solution becomes closer to mine, and simpler, which is a virtue; however it is more prone to collisions for messages differing by few bytes, in particular changing the two bytes 0100 to 00DF, 0101 to 00E0 etc, in any string, leaves its hash unchanged.
Mar
25
comment Hash function such that fx(hash(s1),hash(s2)) = hash(concat(s1,s2))
Is it $h(s)=\big(\sum_{i=0}^{n-1}s_i \cdot 31^{n-1-i}\big)\bmod 2^b$, for $b=32$? If so, we have a severe risk of collision after a mere $100,000$ strings of identical length. Also you need to somewhat embed $l_2$ into $h_2$.
Mar
25
answered Hash function such that fx(hash(s1),hash(s2)) = hash(concat(s1,s2))