Hot answers tagged

13

Assuming that: the functions $F_k(s) = {\rm hash}(k + s)$ form a pseudorandom function family (PRF) indexed by the key $k$, and each key is only used to encrypt one message, then this construction is provably1 secure against chosen-plaintext attacks. Being a PRF is not a standard property of a cryptographic hash function, so one cannot just assume that ...


11

There are several possible attacks. Off the top of my head, if an attacker manages to fool you into encrypting a very long message consisting of zeros (00.......00000), then the resulting ciphertext can be used to decrypt all the ciphertexts encrypted with that key. That kind of attack would be a chosen-plaintext attack. That means that your cipher doesn't ...


4

The XOR state is irreversible without the proper key which is what I understand, so whats the point of all of the other operations that happen on the key? Suppose all we had was secret keys and the XOR operation. Well, actually, it is possible to build a secure cipher out of that, called the one time pad. One time pads offer perfect secrecy, but suffer ...


3

All of the mathematical operations within the s-boxes, shift row, and mix column should be known to the attacker, correct? Yes, see Kerckhoff's principle I understand they could be hard to calculate but aren't they static operations for the most part? I'm interpreting "static operations" to mean subBytes + shiftRows + mixColumns + addRoundKey, and that ...


3

The actual "encryption" is done on this line: mysecretmessage[i] ^= ((mysecretvalue>>(8*(i%4)))&255); Clearly, this line XORs every byte (or at least, every element; but it makes sense to assume that this is indeed a byte array) of mysecretmessage with some value derived from mysecretvalue and the byte counter i. So what does the expression ((...



Only top voted, non community-wiki answers of a minimum length are eligible