Thanks for all the help so far. I'm still looking, and I found this so far : http://vader.brad.ac.uk/tea/tea.shtml Its way overkill for what I'm trying to do. Even on my 16F876 all the keys and arrays would suck up quite a bit of space. I'm trying it on a compiler set up for 16 bit variables and just cutting everything in half (64 bit key instead of 128, decode 32 bits of data instead of 64, etc.). I'll let you know if it works and pass on the code for the cc5 C compiler if it does. Erik Reikes Software Engineer Xsilogy, Inc. ereikes@xsilogy.com ph : (858) 535-5113 fax : (858) 535-5163 cell : (858) 663-1206