Tuesday, July 18, 2006

'Random route' encryption may beat NSA taps

Even before the internet, engineers found that random routing was a good method of making telephone connections.

Randomnized routing decentralizes automated decision-making at relay points and tends to produce usable results. Otherwise, the best route, which varies from millisecond to millisecond, would require a "polynomial" solution to the traveling salesman problem or a futuristic quantum computer able to juggle enormous numbers.

But randomness is the tool of the cryptographer. And the National Security Agency is well aware of the problem of random routing, as James Bamford reported in his book about the NSA, Body of Secrets (Doubleday 2001). His unnamed spooks worry about digital voice signals being hard to track, with perhaps one talker's voice traveling by landline and the other's voice routed via satellite.

At any rate, it may be possible to refine the routing problem and effectively encrypt an internet message thus:

Perhaps using public key encryption to share private protocols, an algorithm arbitrarily chooses a binary digit string length [just to be fussy, we distinguish between BD length and bit, or quantity of information, found in a BD string]. Each string is given a tag (prefix or suffix) that gives time reaching the encoder and the final address. Then each string is sent independently to that address. The decoder reads the times and compiles the strings in the correct order, reconstituting the message.

Note that an eavesdropper would need to be very close (circuit-wise) to the transmitter in order to intercept the entire message. Otherwise, an eavesdropper, even if he had the keys, would very likely pick up only disjointed fragments of the message, since the probability of two fragments taking the same route is exponentially low. Of course, the eavesdropper program, on spotting something suspicious, might go to the address and intercept all incoming traffic -- but, it might be too late to get much of it.

String length can be a constant or vary, using random number or some deterministic function.

And, it would normally be a good idea to use some other encryption system on the entire message before transmitting the fragments.

But, as long as the receiver has the ability to order the fragments, a transmitter sending short fragments effectively scrambles the message in transit, making tapping highly problematic. So, even if Congress tries to ensure that only tappable-message technology is used on the internet, here we have, potentially, an easy way around such restrictions.

Now such a system might be used for internet voice phone and live video. However, because of the problem of lag times for each snippet, the transmitter would need to send out quite a few copies of each snippet, with redundant arrivals discarded. This procedure would tend to compile the message quite rapidly, though there is a small increase in the possibility of meaningful interception. Still, there might be an annoying, but possibly tolerable overall message lag time, such as one experiences with satellite cell phones.

Additionally, compression techniques would be helpful if security was more of an issue than quality of reception. That is, one can eliminate certain harmonics from a telephone transmission and still have it "close enough" to the source voice (something I suspect cell phone firms already do). Similarly, information can be systematically discarded from images without unacceptable degradation (as in the lossy JEPG system). Hence, sending multiple copies of fragments may make sense.

Such a system would, if efficacious, sidestep the NSA's current warrantless wiretap program.

And even if Congress imposes restrictions on what type of encryption commercial ventures may make available, two people with a relatively simple software package can potentially employ strong anti-wiretap encryption.

However, I realize that some unforeseen problem might work against this idea.


Post a Comment

Subscribe to Post Comments [Atom]

Links to this post:

Create a Link

<< Home