18.5.1. "What about neural nets and AI in crypto?"
- Of limited use, at least in breaking modern ciphers. Marvin
Minsky once said that if you don't understand how to solve
a problem, adding randomness usually doesn't help.
- The shape of the solution space is very spiky, very poorly-
suited to hill-climbing or divide-and-conquer methods
+ Neural nets are not likely to do well with modern ciphers
(e.g., RSA, IDEA, DES, etc.), mainly because of the shape
of the solution space. Instead of the "rolling hills and
valleys" that neural nets (and related methods, such as
genetic algorithms, simulated annealing, etc.) do well in,
the solution space for modern ciphers offers very little in
the way of "learning" opportunities: you either have the
solution (the key), or you don't.
Think of a needle standing up from a flat plain...a NN or
any other hill-climber could wander for years and never
find it. Well-designed modern ciphers like RSA and IDEA
appear to admit no analysis based on "nonrandom"
properties. If anybody has found shortcuts to factoring the
modulus in RSA, for example, they haven't let on.
I suspect there are uses in peripheral aspects, such as
guessing passwords (when people have not picked high-
entropy passwords, but have instead used familiar names).
Or in traffic analysis. Those who munch on lots of traffic
may well be using neural nets, custom signal processing,
etc. to "prepare" the captured traffic for further
analysis. A safe bet, in fact.
But the move in modern cryptology is definitely away from
using anything with "structure" that can be learned. Put
another way, neural nets and such work well in structured
environments, where there's something to _learn), but not
in the high-entropy, seemingly random world of encrypted
data.
+ AI may be useful in other areas
- protocol generation
- SIGINT
18.5.2. Evolutionary or Genetic Programming
- a la Holland, Koza
- RNGs
Next Page: 18.6 Miscellaneous Advanced Crypto Ideas
Previous Page: 18.4 Chaotic Cryptography
By Tim May, see README
HTML by Jonathan Rochkind