At 1:49 PM -0400 9/6/99, [EMAIL PROTECTED] wrote:
>On Mon, 6 Sep 1999, Arnold Reinhold wrote:
>
> > If a field worker might have access to a computer in country but
> > would not be in a position to use PGP, I'd suggest CipherSaber, which
> > is based on RC4 and is simple enough to program from memory (see
> > http://ciphersaber.gurus.com). Almost all PCs come with Qbasic built
> > in or on the CD-ROM. I haven't tried it, but CipherSaber should fit
> > easily into most of the newer graphing calculators (The $200 TI-92+
> > even has a qwerty keyboard. See http://www.ti.com/calc).
>
>Yeah, I have no doubt that RC4 could be implemented quite easily on
>TI calculators (certainly on the 85, 86, 92 and 89 .. and probably
>on the 82 and 83 as well .. though I haven't programmed them).
The 82 has a maximum list length of 99 values, which would make it a
pain to implement RC4's 256 byte S array. The others look more than
capable. They all have alphanumeric displays and a full alphabet on
their keyboards.
>
>I did MD5 on my 92 awhile back.
In TI Basic? I'm impressed.
BTW, several of these units also permit assembly language
programming. The 83/83+ is Z80 based. The 89/92+ are 68000 based,
with 188K of RAM. PGP isn't out of the question on those.
>
>A couple of points in making an actual crypto application on the TI
>(as opposed to just doing an algorithm):
>
> Transferring ciphertext from the TI to a computer would require
> a utility on the computer to wrap up the ciphertext to make it look
> like a list to the TI. Then the TI can do nice, easy subscripting
> to access the list. A table might be needed to display the plaintext,
> since I don't know if they use ASCII.
I was thinking of the calculators more as stand-alone cipher
machines, a la Enigma, but with modern, strong encryption (RC4).
Ciphertext would be entered or written down as hex pairs or even
3-digit decimal numbers. The ciphertext could be transmitted via
FAX, e-mail, snail mail or, tediously, by voice. As long as
CipherSaber's 10-byte IV is sent correctly, a single ciphertext
garble will only cause the corresponding plaintext letter to be
wrong. FAX has an advantage in that it is harder to screen for
ciphertext than e-mail and it is more universally available.
An interesting variant would be to restrict plaintext to the 26
letters of the alphabet (same as Enigma and Solitiare). Ciphertext
would then also be composed of letters of the alphabet. A simple way
to do this would be to discard RC4 cipher stream output bytes that
are greater than 233. (234 = 9*26). Reduce cipher stream bytes that
are not discarded modulo 26, and then add or subtract them from the
numerical value of the letter (A=0, B=1,...). This should be at least
as strong as RC4. The values will be at least as uniformly
distributed as RC4, you are using less entropy per cycle and the
discarded bytes provide added mixing.
Ciphertext would be the same size as plaintext except for the IV.
The IV could be sent as 20 hex digits coded as [A-P]. For a small to
medium network, another alternative is to base the IV on the date and
time of the message, along with some code indicating the sender,
perhaps the numerical value of the sender's initials. Remember, the
IV only has to be unique.
Of course it wouldn't be much more effort to support both 26 symbol
and 256 symbol modes.
Staples stocks the TI-83+ at $92.99. So for under a hundred bucks and
a little time spent in TIBasic programming you can own an
off-the-shelf coding machine using strong encryption, interoperable
with CipherSaber programs on other platforms, in a reasonably
portable and innocent-looking package. And it will still do math.
Anyone care to try it?
Arnold Reinhold