On 8/11/07, Jared <jared@hatwhite.com> wrote:
breasts. Better to stay with the industry-standard term for the
smallest particle of ternary calculation: "trit."

I didn't know there was an industry.  I thought the whole point of the discussion was that the industry was strictly binary.
 
 So here is something that WILL
get people interested, once they get over the "No way, that's
impossible" barrier:
. . .
 
The software running inside that "impossible" black box is ternary,
and uses pattern-based analysis to decrypt. Instead of decrypting a
small string by using hundreds of thousands of password strings,
each varying by a single character until you stumble upon the
correct one, you decrypt by studying the layers of _patterns_
generated by any encryption process. Once you open the first
layer, the others become successively easier, because each layer
gives clues to the next.

Anyone using a password like this isn't really protecting their data from an attacker with crypto knowledge (or access to common cracking tools).

 
The only way to prevent such pattern-based analysis from cracking
open any binarily-encrypted clump of data, or even a packet stream,
is to generate TRULY RANDOM keys, which can only be created ... you
guessed it ... within a ternary pattern-based algorithm. You already
know that binary algorithms can NEVER create true randomnness, but
can only emulate it with ever-increasingly fine precision. Like
approaching infinity; you are always approaching it, but never quite
get there.


I must call bullshit on this.  Ternary computation does not possess any magical properties.  A number is a number, and the same algorithm written in base 2, 3, 8, or 10 can also be done in 16, 256, etc.  The reason why computers normally can't do randomness is that they aren't designed for it.  They take inputs and perform calculations in such a way that the same inputs always generate the same outputs.  They are specifically designed to do things like error correction to prevent producing different outputs from the same inputs.

If you want to add randomness to computers, you need to design circuits to produce random data.
Start with something like a Geiger counter.  Every time it records a hit, take the time of the event (with a clock that can do millisecond or finer resolution), subtract the previous event time, and throw away all but the last few bits or trits of the delta.  Take as additional events every valid SYN-ACK packet received by the TCP stack, keypresses that are at least 3 seconds after the previous keypress (you don't want to use the internal timings of typing, because a person might have a rhythm that introduces a bias into the data), and the pixels of webcams aimed at busy intersections.  The idea is to use a lot of different sources for the events, so that an attacker with access to one source will be unable to know what other events intervened between those of which he is aware.
 
 If you are curious, here's an encrypted hint: "Babble
code is for babies."

Here's my encrypted answer: "The Falcon flies east in the evening."