9,824 reputation
12450
bio website github.com/CodesInChaos
location Frankfurt, Germany
age
visits member for 3 years, 3 months
seen 5 hours ago

Sep
4
comment Would xoring 2 independant AES CTRs to produce p-rand introduce vulnerabilities?
You should fix your notation so that different variables get different symbols. (e.g. $k_1$ and $k_2$). With its current definition your function is simply zero.
Sep
4
comment Is this correct way to generate stream cipher using AES CTR mode?
Note that even without key-reuse, using a fixed IV enables multi-target attacks. Not a big issue with AES-256, but something I'd avoid with AES-128.
Sep
3
comment Encryption-Decryption-Encryption
@poncho 20 seconds too slow :)
Sep
3
comment Encryption-Decryption-Encryption
Related: Why do we use encrypt-decrypt-encrypt (EDE) in 3DES, rather than encrypting three times?
Sep
3
comment What is the exact purpose of length padding in Merkle–Damgård hash functions?
BLAKE uses a similar technique, but combines it with a traditional padding. In Blake2 we replaced the traditional padding with zeros since that's simpler, still secure and reduces the number of compression function calls if the message length is an integral number of blocks (important for tree hashing).
Sep
3
comment What is the exact purpose of length padding in Merkle–Damgård hash functions?
Normal compression functions have two inputs, the chaining value and the message block. Skein uses a tweakable compression function which has a third input. It uses this input to signal the end of the message end of the message, preventing length extension attacks. It also uses it to pass a kind of block counter to each compression, so a unique compression function is used for each position in the hash, which improves second pre-image resistance compared to MD hashes. Take a look at the Skein paper, it's pretty readable.
Sep
3
comment What is the exact purpose of length padding in Merkle–Damgård hash functions?
MD has a security reduction for the collision resistance of the whole hash to the collision resistance of the compression function. This reduction relies on the message length being part of the padding. For details, check the question I linked as duplicate of this one.
Sep
3
comment What is the exact purpose of length padding in Merkle–Damgård hash functions?
MD hashes do put the length into the padding. I interpret the question as asking why they use the length in the padding instead of a simpler padding, like the one you suggest. My favourite hashes (Skein and Blake2) use even simpler padding (just zeros) and use a different mechanism of signaling the end of the message.
Sep
3
comment What is the exact purpose of length padding in Merkle–Damgård hash functions?
But that doesn't explain why the padding contains the length of the message. At least that's how I understand the question, but it's so vague that your interpretation of "why is padding used" might also be what the OP wants.
Sep
3
comment What is the exact purpose of length padding in Merkle–Damgård hash functions?
Clearly including the length of the message in the padding in Merkle-Damgaard hashes does not prevent length extension attacks since they are vulnerable to this attack.
Sep
3
comment Entropy of the key
1) Just search for a proof for additivity of Shannon entropy. This is such a basic property that you should find plenty. 2) 0.9954 is the entropy per bit. The entropy of the whole is obviously 1000 times that value.
Sep
3
comment Entropy of the key
For the first 5 bits it's $P(0)=1$ and $P(1)=0$, for the other 995 bits it's $P(0)=0.5$ and $P(1)=0.5$.
Sep
3
comment Entropy of the key
It's not a one-time pad if the key is not randomly and uniformly generated.
Aug
28
comment Repeatable crypto
1) AES-SIV 2) convergent encryption AKA message locked encryption AKA content-hash-key (CHK). Be sure to include a convergence secret, to avoid the confirmation and learning the remaining information attacks
Aug
27
comment Is hashing a list of hashes safe?
There is one common pitfall: In hashtrees you often need to tag leaves and inner notes differently, to ensure an unambiguous tree structure. You didn't include enough context to know if this applies to your scheme as well, but I suspect that you need to use different prefixes when hashing a list of hashes and when hashing a plain file.
Aug
27
comment Is using EAX mode with a 64-bit block cipher a bad idea?
@owlstead 1) I don't get your question. In my comment I worry about birthday attacks, and D.W.'s answer confirms that the proof of security breaks down as you approach the birthday bound. So we're saying pretty much the same thing, except that D.W. wasn't too lazy to look at the details. 2) As a software guy, a cipher not being available doesn't enter my considerations. There are so many good ciphers that I certainly wouldn't bother with a 64 bit cipher, unless I specifically want one. For my taste even 128 bit blocks are a bit on the low side, I prefer 256 bit blocks.
Aug
26
comment Are variable-length crypto hash functions still susceptible to collisions?
You don't gain any collision resistance by increasing the output size beyond the capacity. A chain is only as strong as its weakest link, and the link between each consumed block is the capacity.
Aug
26
comment Partial hash code protocol for security tokens providing signatures
One link I found: community.oracle.com/thread/1751753 which mentions an APDU format.
Aug
25
comment Found a way to crack AES-128, what now?
1) Consider implementing it. That way you can be sure you made no mistake and you have evidence that you're not crank. Extraordinary claims require extraordinary evidence. 2) Write a paper using LaTeX typesetting and following proper cryptographic notation and submit it to a conference or journal.
Aug
23
comment Efficiently map $2^n$ unique 64-bit vectors to $2^n$ $n$-bit vectors where $n < 64$?
@Jean You can always use a standard hash function, if the number of collisions is acceptable is for you to decide.