ticalc.org
Basics Archives Community Services Programming
Hardware Help About Search Your Account
   Home :: Community :: Articles :: Calc Crypto and the GPC
Calc Crypto and the GPC

Posted on 3 September 1998

The following text was written by S.T.L.:

Well, it's late at night (yet again) and I'm in the mood for a good rant. Well, this article explores one particular idea, but it's also about a general issue. And somehow, I get to another particular idea after the middle. Ah well. I initally had a long 2-line name, but I suppose "Calc Crypto" is acceptable for "Calculator Encryption".

Quite a while ago, I started to become fascinated with Number Theory (primes and such) and I had a TI-85. Obviously in class, when I had all my work done, I fiddled around with it. I made primality proving programs and all sorts of stuff. But the TI-85 was pretty limited because much of Number Theory involves really huge numbers.

Anyways, that meant that if I *wanted* to do anything remotely nifty, I had to whittle it down into a smaller version so my TI-85 could run the thing. Thus, after reading one of my books, I had an idea. It basically goes back to something that a lot of my classmates do, but I hardly ever: passing notes.

Now, I'm not one to advocate passing notes. But, I know enough to know some features of them:

  • A passed note has to be done in relative secrecy. After all, the teacher certainly can't know what's in the note, eh?
  • A passed note has to be done quickly. This is more of a side-effect of writing them on paper, because if it is passed slowly, then anyone can open it up and read it. You *could* give it to Al, "Hey Al, give this to Bob in your next class, cause I don't have him in any of my classes" but then you have to trust Al.
  • A passed note doesn't contain that much information, but it can contain a fair amount, up to a written pages' worth.

This got me thinking. What if industrial-strength encryption was provided on TI calculators? Now, I'm not talking about cheesy, "I dreamed this up last night" encryption, because every programmer seems to fancy himself a cryptographer. I'm talking about an encryption algorithm that is used in commercial software, and has no easy way to break it. (Yes, it's related to Number Theory.) This could solve problems of classroom communication. (And yes, it could be used elsewhere.) But first, an interlude.

Words used here:

  • Encryption: Scrambling a message so no one can read it, without a Secret Key.
  • Decryption: Descrambling said message with the Secret Key.
  • Public Key Encryption: Most encryption involves two people sharing one secret key. The stuff I'm thinking of allows one person to give everyone their Public Key, which allows messages to be SENT to them, but only their Secret Key would let them read it.
  • Compression: Making a message take up less space.

And we're back.... Now, what would public-key encryption do for note passing? First of all:

  • Forget secrecy. You can scrawl the note on the blackboard, and the teacher won't be able to read it, without intercepting your TI. (Solution: decrypt the message in another class, or get a locking program.)
  • Forget timeliness. You can (w/o scrawling the note on the blackboard) write it down on a sheet of paper, and get your classmates to give it to someone - but you could let them do it next class. Then you don't have to trust them not to read it.

Of course, all these things would be hard unless the program could compress messages. With the ideas I currently have, public keys would be a string of 64 characters, and messages 64 or 128. This is because I know a way for extremely simple Special Purpose Compression, it would really only work for the Calculator Encryption project.

And, importantly, all someone would have to do is give out their Public Key to everyone who has the encryption program. Their Secret Key remains on their calculator, their Public Key goes everywhere. (Public encrypts messages, Secret decrypts messages.)

Well, I've done this for the TI-85 already. Problem was, it used really, really cheesy 8-bit encryption. I can crack that in my head. But with the TI-92, I could program 384-bit encryption. That's the low end of commercial PC software, and the best part is: while it's not immune to the government, or even to a large corporation, it will defeat most anyone a high schooler fears. (Though a large, well-funded university could be amused for a month trying to break it.) I've already got plans as to how to actually implement this thing, too.

My question to everyone, is this concept of Calculator Encryption USEFUL or WORTHLESS? I've only thought of one application for this, but it probably has more. And there are more questions along with this: exactly what SORT of programs would be useful on a TI calculator? For example:

  • I got this idea for Calculator Encryption off of the PC program PGP.
  • The TI-92 Text Editor is basically a PC's NOTEPAD.EXE.
  • Spreadsheets?
  • Games? (Well, I know the answer to this one, but I had to mention it, else everyone would tell me I forgot it.)
  • General Purpose Compressors? (Very, VERY hard to implement, I would guess, but possible.)
  • Other programs?

Actually, the idea of the General Purpose Compressor is VERY interesting. Probably more interesting than Calculator Encryption. *ahem* I think I want to talk about that for a little while. Well, I've gone from a particular idea, to a general idea, back to a particular idea that will turn out to be pretty general. Hehehe. Anyways...

If one had (let's use an abbreviation) a GPC, what TI calculators could it run on? Of course, the TI-92+, the TI-92, and the TI-89. (After all, if it won't run on them, where WOULD a GPC run?) Most likely I could see a TI-86 or TI-85 assembly program running it. Putting a GPC on a TI-83 or TI-82 is doubtful, but maybe a programmer would find a way. Ironically, the more lower-end the calculator, the nifiter a GPC would be. A General Purpose Compressor would crunch programs/data into a smaller space, thus (in effect) giving you more memory, at the cost of not being able to use the compressed program until uncompression. Sort of like the TI-92+ data archive.

Now, I envision a BRIGHT future for a GPC. Imagine being able to store twice the amount of data your calculator should hold (it would probably be closer to 1.5x, but let's stick with 2x). For a TI-85, that's about 40K (or is it 50? I don't remember). For a TI-92, that would be 120K. For a TI-92+, it could store an absolutely amazing 1MB of data! (Though still, no single uncompressed program/data could be more than 180K. Ah, I'll live with it.)

In fact, games (arrrgh! Ah well, I suppose I have to explore what a GPC means to them too) could have a large compressed bundle of levels included with them. When one level is needed, it could be uncompressed, used, then recompressed to make room for the next level. Thus you could create truly massive games with 2x the amount of levels you'd have without a GPC.

And I bet there's all SORTS of nifty applications for a General Purpose Compressor. Though it's 3 in the morning, and I can barely think coherent thoughts. *ahem* I, for one, would love to craft a GPC, though I don't have the assembly skills to do so. Probably it'd be a project close to making a shell.

Right now, the Special Purpose Compressor I have in mind doesn't really compress at all. All it does is transform integers into strings. What it does it convert an integer into base 2. Then it converts the base 2 to base 64. This of course saves space, and makes a 384-bit integer into a 64-character string. This is because the binary expression "110010011011" can be represented as the hexadecimal (base 16) expression "C9B". I think. I'm rusty on my Bin-Hex translating skills. But a General Purpose Compressor could work on real numbers, strings themselves, lists, matrices, and programs.

What's odd is that a list on the TI-92 seems to take up less space than the identical list on the TI-85. Hmmmm. I do't have time to explore this further. (The reason follows). Perhaps it uses some sort of compression already.

Ah, a quick note: I've been writing articles with a very short amount of time between them, but I'll slow down - I go back to school soon. And it does take me a while to become obsessed enough about something to write a good article. :-D

Well, thank you for sticking with me through this long rant. I have enough of my thoughts, what I'd appreciate are YOUR thoughts! Let's see....

  • Would Calculator Encryption be a useful, or worthless idea?
  • Where else could Calculator Encryption be used?
  • What other programs would be useful or worthless?
  • Would the General Purpose Compressor be useful or worthless?
  • What could the General Purpose Compressor be used in?
  • Anything else?

  Reply to this item

Re: Article: "Calc Crypto and the GPC"
ffolkes

I think that GPC is a GREAT idea. I have thought about it for weeks and weeks. I think that it would be incredibly useful for the reasons stated by the author.
I think that encryption would be useful for text files that you'd want to keep secret. Obviously, you could also encrypt pictures, but unless you like black and white low resolution porno, there's no need for that.
I'd be interested in working on a projects like these if anyone wanted to start a "group" or "team" of people to work on them. I don't know much about assembly but I sell web pages, and I'd love to make a real nice one for the makers of TI stuff (including GPC and encryption). (<-for free)

Another interesting point would be that is should change a lot--If it wasn't a key type program, and the teacher had a calc and pluged yours in and used the same encrypter/decrypter you used, she could read it. A simple way to defeat it....after all, if you can get it, your teacher can get it to, right?

Reply to this comment    4 September 1998, 05:31 GMT


Re: Re: Article: "Calc Crypto and the GPC"
S.T.L.
(Web Page)

Nifty - a GPC would be darn useful.
I agree with your point - it must be so that some of the key is stored in the memory of the individual. It wouldn't be too hard to take, say, the lower bits of the key, and transform it into an 8-character string. Certainly less secure than the whole key, but if the teacher confiscates your TI, you're pretty screwed already.

Reply to this comment    4 September 1998, 23:46 GMT

The need for Calc Crypto
Justin Smith

I must say that I am truly fascinated by your suggestions involving number theory based cryptography applications on the calculator. However, I don't think the applications you describe are really the best possible use of this technology. Passing notes on your calculator does seem, well, juvenile (kind of reminds me of the days when my school issued everyone in algebra classes a TI-81... sigh...). I'm not saying that the development of a calculator based cryptography platform is a bad idea, but it seems that a full scale platform with public keys and the like would never be used to its full extent, considering that:
1. Most of the population would not understand or simply would not see the advantage in using the program.
2. A relatively small percentage of TI calc owners use the models that would have the power/memory to support encryption/decryption. (I figure only the 92 series, the 85/86 series, and the forthcoming 89 could really handle it well).
3. If you were to use your calculator as a means of regular message transfer, it would be foolish to use it for matters that require such high security.
Once again, I am not saying that Calc Crypto is a bad idea. It's just that realistically its shortcomings on the TI calc platform would hinder its usage to the point that most people wouldn't bother.

By the way, this is my first post to ticalc.org, so I appologize if I stepped over the line or anything.

Reply to this comment    4 September 1998, 06:11 GMT

Re: The need for Calc Crypto
S.T.L.
(Web Page)

<<I must say that I am truly fascinated by your suggestions involving number theory based cryptography applications on the calculator. >>
Thank you.
<<However, I don't think the applications you describe are really the best possible use of this technology. Passing notes on your calculator does seem, well, juvenile (kind of reminds me of the days when my school issued everyone in algebra classes a TI-81... sigh...).>>
I agree too. I don't advocate the passing of notes, but then again, it was 3 AM, and I was half-asleep. That's how I write all my articles. :-D
<< I'm not saying that the development of a calculator based cryptography platform is a bad idea, but it seems that a full scale platform with public keys and the like would never be used to its full extent, considering that: >>
Of course not, but it would have its uses.
<<1. Most of the population would not understand or simply would not see the advantage in using the program. >>
No, they would not. However, many people do love "secret decoder rings" and the like.
<<2. A relatively small percentage of TI calc owners use the models that would have the power/memory to support encryption/decryption. (I figure only the 92 series, the 85/86 series, and the forthcoming 89 could really handle it well). >>
Exactly. The TI-92 and 92+ definitely could handle it. A port of the program and functions to the 89 would also be possible. However, the 85 and the 86 probably do not have the capabilites to support public key encryption.
<<3. If you were to use your calculator as a means of regular message transfer, it would be foolish to use it for matters that require such high security. >>
Yes, but how much security does a high schooler need? PGP is availiable for industrial-strength uses. Calculator Encryption would be medium strength.
<<Once again, I am not saying that Calc Crypto is a bad idea. It's just that realistically its shortcomings on the TI calc platform would hinder its usage to the point that most people wouldn't bother. >>
But some would.
<<By the way, this is my first post to ticalc.org, so I appologize if I stepped over the line or anything. >>
Nah, it's kewl. Way to go.
:-D

Reply to this comment    4 September 1998, 23:50 GMT


Re: The need for Calc Crypto
Kyle

I still have my TI-81

Reply to this comment    19 May 1999, 12:53 GMT

Re: Article: "Calc Crypto and the GPC"
Chernobyl

Actually, why not make a 'ZIP' utitlity. You could use something like this to store MORE games and othe crap on your calc! I'd like that =) I don't know what other uses you might find for this except to shrink games but that's really just up to the programmers out there. Programs like Mathew Shepcar's 'Bloat' for the 86 provides some compression. But the idea of making a full scale encryption/compression program could be usefull for some of these ideas.

Reply to this comment    4 September 1998, 06:31 GMT

Re: Re: Article: "Calc Crypto and the GPC"
im sleepy and dont care

thats all it is win zip for a calculator (plus the code stuff)

Reply to this comment    4 September 1998, 10:38 GMT


Re: Re: Re: Article: "Calc Crypto and the GPC"
S.T.L.
(Web Page)

Please, man, read the article BEFORE you post, not after. Calculator Encryption and a GPC would be two separate programs. Not only that, but WinZip - argh, you newbie. Call it PKZip, it was the first utility, before WinZip, a GPC would be PKZip for a calculator. *sigh*

Reply to this comment    4 September 1998, 23:52 GMT


Re: Re: Re: Re: Article: "Calc Crypto and the GPC"
Eric Benoit

Nah, TIZip!
PK is from the guy who designed it, Phil Katz.

Reply to this comment    7 September 1998, 01:44 GMT


Re: Re: Article: "Calc Crypto and the GPC"
Cal Folds (LoStCauSe)

Actually, I think general compression has been tryed befor, with not to good of results. The problem is that it is much harder to compress the randomness of a program. Text on the other hand is fairly easy allowing the compression algorithms to be much smaller, which is important because whats the point of getting compression to double memory, when the actuall program takes up half of it anyway?

Reply to this comment    6 September 1998, 02:14 GMT

Re: Article: "Calc Crypto and the GPC"
Nathan Ernst
(Web Page)

As for practicality, there really is none. But, it could be an interesting exercise in programming/and encryption methods. I'd be very interested in seeing how it is done. Encryption has always held a slight fascination w/ me. When I made a simple encryption program on my 83 in basic to keep people outa my games, I used a method with matices to do it (I think it's taught in some math books, that's where I learned it). So, I'd be more than happy to at least see the method posted. Who knowns, maybe it'll even make a nice little project on the side to work on in assembly.

Reply to this comment    4 September 1998, 06:50 GMT


Re: Re: Article: "Calc Crypto and the GPC"
S.T.L.
(Web Page)

Every programmer seems to fancy himself a cryptographer, and without exception, if they haven't had training IN cryptography, they outright suck. This program would be only for the TI-92 and 92+ (a port for the 89 is possible, but I sure wouldn't do it, I have no 89.) I am using a well-known public-key method, purely mathematical, and it will be in TI-Basic. NOT assembler. The required number theory functions are not available in assembler, and I can't code assembler. :-D

Reply to this comment    5 September 1998, 00:44 GMT

Re: Article: "Calc Crypto and the GPC"
L.T.S.

Nobody that can understand cryptography has any friends worth passing notes to.

Reply to this comment    4 September 1998, 06:52 GMT


Re: Re: Article: "Calc Crypto and the GPC"
T.L.S

No, but the nonexistant notes are darn secure.

Reply to this comment    4 September 1998, 21:55 GMT


Re: Re: Re: Article: "Calc Crypto and the GPC"
S.T.L.
(Web Page)

Wow, permutations of my initals. Ha ha ha.

Reply to this comment    5 September 1998, 21:34 GMT

Re: Article: "Calc Crypto and the GPC"
Sayyid
(Web Page)

There aer two encryption programs I know of, both are found in the 85 basic/ Programs archive.

encrypt.zip- for encrypting messages using a continuously changing encrypter/decrypter

rsa.zip- RSA encryption system for numbers

Reply to this comment    4 September 1998, 07:41 GMT

Re: Article: "Calc Crypto and the GPC"
anonymous

Dude, you need to get to sleep earlier.

Reply to this comment    4 September 1998, 08:10 GMT


Re: Re: Article: "Calc Crypto and the GPC"
S.T.L.
(Web Page)

Dude, I know I have to get to sleep earlier.

Reply to this comment    5 September 1998, 00:47 GMT

Stuff
Matt Reed

Come on people. If you really need to tell someone something, you can wait 60 minutes when the period is over and catch them in the hallway. And, you dont need to hide your message on a calc IR link or no. Also, Teachers are not going to go take your calc, plug it in to his or hers then decript your magical message. Teachers dont really care that much. Just setten' you right.

A stuffing program would be very very good. Having 50k on a Ti-85 without a E2 is a really cool thing (with E2 something like 1 MB). I would use a stuffing thing allot if it was made.

Reply to this comment    4 September 1998, 08:21 GMT

Re: Stuff
the sleepy one from a couple messages ago

my teachers do whenever they catch us passing notes the make huge copys of them and put them on the wall this would solve our problem

p.s. who ever makes it please port it to the 83

Reply to this comment    4 September 1998, 10:42 GMT


Re: Stuff
Master Nick
(Web Page)

Maybe your teachers don't care, but if my teachers saw me passing notes or even using my calc, they will take it and keep it till the end of the year(the calc I mean). They will also read the note to the class and all the standard stupid stuff. With the encryption, they wouldn't have a good reason to take my calc. When they see the encrypted message on the calc, I could just say it crashed or something. Since my teachers are all mentally deficient it would be a good excuse too.

Reply to this comment    4 September 1998, 18:10 GMT


Re: Re: Stuff
S.T.L.
(Web Page)

To the person a couple back -
I will make Calculator Encryption, I have decided that. However, this is what I will NOT do:
Port it to any calculator besides the 89. And even that's doubtful.

This is precisely to STOP people like you. I do not advocate the passing of notes, but a good RSA encryption program is needed. By making it for the TI-92, only advanced math students will have access to it. By the way, any calculator BUT the TI-92 and 89 would not have the capability to run it, the mathematics required is too intense.

Sorry, but I'm a nerd. And as a rule, I don't advocate unnerdly things. :-D

Now, to the person immediately before me:
Yes, I see your point. However, I do admit it won't be THAT useful. But it will be, slightly.

Reply to this comment    5 September 1998, 00:52 GMT

1  2  3  4  5  6  

You can change the number of comments per page in Account Preferences.

  Copyright © 1996-2010, the ticalc.org project. All rights reserved. | Contact Us | Disclaimer