New answers tagged

0

No (assuming by “better” you mean “cryptographically strong”). What you are trying to do is finding a pre-image of $X$ under the extra condition that $D_i$ must be a prefix of the pre-image. Cryptographic hash functions are designed to make finding pre-images computationally infeasible.


0

I think I can spot an implicit assumption that you're making that could easily trip this up: Assumption: None of the ciphers is its own inverse. Counterexample: Stream ciphers are a popular class of algorithms where encryption and decryption are the same function: encyrpt(key, encrypt(key, plaintext) = decrypt(key, encrypt(key, plaintext)) = plaintext. ...


0

I am no expert in cryptography, so this method of encryption sounded pretty good until you explained how the password was the only thing that seemed to matter. While this does mean that if someone gets the encrypted password it will be difficult to decrypt. It also means that this method would be very prone to brute force attacks. This is why RSA is so ...


2

This is not very secure. You directly leak the symbol distribution, because only the order of symbols changes. For short enough messages this allows easy decryption – e.g. "dr olllWeoH" is quite clearly "Hello World". Even for long messages or binary values, the fact that you leak e.g. a crucial byte may be enough. You also have not defined how the same key ...


1

In cryptography it is common to reason about the probability of an event in the probability space of all the random choices made (i.e. the random bits generated) during an algorithm's execution. So, in this description, "over the random coins of HGD" means the probability is computed over the probability space defined by the random bits used during HGD ...


0

I made a toy cipher that functioned in this manner. It had a bytewise transposition step that was performed by an invertible randomized permutation, similar to the Fisher-Yates shuffle, but easily invertible. Key material was used to select the next "random" index to shuffle, so as to enable decryption. At first, I really liked the idea, figuring that ...


0

Keeping the Algorithm secure gives an advantage. Like GOST cipher was kept secret until its public release in 1994 whereas it was being used by Russians in 1970 too. So what we learn is, Algorithm must be vetted for security by experts and then efforts should be made to keep it secret from adversary. But just trying to keep a week cipher secret only ...


0

AES ShiftRows operations ensures that each new column contains one byte from one of the 4 old columns. Thus it achieves Full diffusion in 2 rounds. You are right that there could have been other arrangement / shuffle of bytes to meet this criteria too. But if we analyze AES design, we will find that speed and memory requirement on all types of platforms ...


0

If the number of files is fixed, then concatenating the hashes (in a well-defined order) constitutes a hash function. Inverting it requires inverting the hash of one of the files, so if the per-file hash function is a cryptographic hash, then so is that 1000-file hash. If the number of files is variable, then the natural way to combine the hashes would be ...


1

What you're looking for is called a Merkle tree. BLAKE2b, a modern hash and an evolution of one of the SHA-3 finalists (BLAKE), supports tree hashing natively. Edit: This may or may not actually be what you're looking for. Initially hashing the tree will take more work ($\mathcal{O}(n\log(n))$ operations) than just hashing the set of hashes, but subsequent ...


2

Generally speaking, using proprietary encryption is a major problem, because the algorithms which are used are not subject to the same amount of review they would be if public. But it is possible to gain some advantages this way, by taking advantage of public knowledge. Maurer & Massey (1993) prove that a cascade of ciphers with independent keys is at ...


1

It depends your compilation options but the function ecurve_mult in MIRACL/source/mrcurve.c seems to use the w-ary non-adjacent form (wNAF) method.


1

To prove an encryption scheme to be perfectly secure, we need to prove: $$P[M=m|C=c]=P[M=m]$$ where $c$ is a cipher text and $m$ is a plain text. From Bayes theorem, we have: $$P[M=m|C=c]=\frac{P[C=c|M=m] \cdot P[M=m]}{P[C=c]}$$ It is noteworthy that: $$P[C=c|M=m]=P[K=k]$$ where $K$ is the key space and $k$ is a particular key. Now: $$P[C=c]=P[K=k]=\frac{...


1

I am wondering why people are using RSA keys when some types of double substitution ciphers seem to be just as secure if not better off. First of all, RSA is an asymmetric cipher while a substitution cipher is a symmetric cipher. Asymmetric ciphers are used to achieve different security needs, e.g. TLS authentication or non-repudiation of documents. Or, ...


5

It depends on the block cipher in question - specifically its key schedule. Knowing any round key of AES-128 would let you calculate the key, because the schedule is reversible. OTOH, e.g. TEA would retain secrecy of most of the key and might remain secure, because its round keys are small enough parts of the key. In the case of DES, it is weak enough to be ...


7

Thanks for the question! You are correct that there is a bug here. Indeed, the sentence "choose $\mathbf{b}_i$ s.t. $\ldots$" makes no sense: the LHS is in $H$, but the RHS may not be. Fortunately, there is a simple fix which guarantees $\mathbf{y}'_i \in H$. (This must have been what we intended in the first place, based on how the rest of the proof goes;...



Top 50 recent answers are included