Cyphernomicon Top
Cyphernomicon 18.5

Loose Ends and Miscellaneous Topics:
Neural Nets and AI in Crypto


   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