4

Throughout history, some cryptographic systems were broken by finding patterns in encrypted messages (like frequent chars in a particular language), and thereby discovering the cipher. These classic systems, which relied on algorithms unknown to the attacker, were broken by analyzing the messages and detecting patterns. This allowed attackers to induce the algorithm that was used.

The security of modern cryptography is based on a large key and applying non-reversible mathematics to a message to obtain an encrypted message. In these modern systems it is impossible to apply reverse engineering to a message because it requires more computational capacity than available.

Since there is currently a lot of storage capacity to store an giant amount of encrypted messages, knowing that it was generated with the same key and the same algorithm, it is not possible to analyze them, for instance by finding repetitive patterns, to be able to deduce the key?

Maarten Bodewes
  • 96,351
  • 14
  • 169
  • 323
Diego
  • 143
  • 4

1 Answers1

5

In general, no, you won't be able to find the key. The amounts of possible permutations that may be used by a block cipher is staggering. It's much higher than the key space itself. So without somehow breaking the algorithm you're out of luck.

Many cryptographic attacks require staggering amounts of storage to be even reasonably successful in bringing down the security of a cipher significantly. In that regard the increase of storage capacity is certainly beneficial. More storage capacity can certainly aid cryptanalysis. But that's something different as having a lot of pre-generated ciphertext.

Having lots of ciphertext can certainly aid attacks. Those attacks are however not so much on the block cipher itself - and, by implication the key - but on the mode of operation. Many modes of operation have maximum inputs or restrictions on their use. There are certainly protocols do not sufficiently take these into account. This can lead to repetition of blocks being used as input for the block cipher; this information can be used to leak information about the plaintext (rather than the key).

Stream ciphers are possibly more vulnerable against this kind of attack. There is no proof that these ciphers are secure so finding a pattern in a stream cipher may be somewhat easier than finding one in a block cipher. It's still not all that likely that you'd find a key though, other properties (such as the key stream being biased) are more likely to fail first.

It's very unlikely that you can find the key without performing an explicit attack on the cipher. Just looking for patterns isn't going to help you. Mercury isn't rising.

Maarten Bodewes
  • 96,351
  • 14
  • 169
  • 323