| ??? 06/03/05 20:04 Read: times |
#94320 - Here it is Responding to: ???'s previous message |
Vignesh here is the code
v is the data to be encrypted (0x12345678) w is the resulted encrypted data, so after calling decipher(); w = 0x12345678. k is the key. If you try this on a PC compiler it should work w/o a problem. Thanks
void encipher(unsigned long *v,unsigned long *w,
const unsigned long * const k);
void decipher(unsigned long *v,unsigned long *w,
unsigned long * k);
unsigned long v = 0x12345678;
unsigned long w = 0;
unsigned long k = 0x7364e829 ;
//unsigned long x = 0;
void Main(void)
{
unsigned long v = 0x12345678;
//unsigned long x = 0;
// printf ("%xn", v);
encipher(&v, &w, &k); // (0x12345678)
decipher(&w, &w, &k); // (0x12345678)
// printf ("%xn", x);
while (1)
{
PCON |= 0x00;
}
}
void encipher(unsigned long *v,unsigned long *w,
const unsigned long * const k)
{
register unsigned long y=v[0],z=v[1],sum=0,delta=0x9E3779B9,
a=k[0],b=k[1],c=k[2],d=k[3],n=32;
while(n-->0)
{
sum += delta;
y += (z << 4)+a ^ z+sum ^ (z >> 5)+b;
z += (y << 4)+c ^ y+sum ^ (y >> 5)+d;
}
w[0]=y; w[1]=z;
}
void decipher(unsigned long *v,unsigned long *w,
unsigned long * k)
{
register unsigned long y=v[0],z=v[1],sum=0xC6EF3720,
delta=0x9E3779B9,a=k[0],b=k[1],
c=k[2],d=k[3],n=32;
/* sum = delta<<5, in general sum = delta * n */
while(n-->0)
{
z -= (y << 4)+c ^ y+sum ^ (y >> 5)+d;
y -= (z << 4)+a ^ z+sum ^ (z >> 5)+b;
sum -= delta;
}
w[0]=y; w[1]=z;
}
|
| Topic | Author | Date |
| TEA | 01/01/70 00:00 | |
| Endianess | 01/01/70 00:00 | |
| Any recommendations? | 01/01/70 00:00 | |
| Assess your requirements | 01/01/70 00:00 | |
| Test vectors | 01/01/70 00:00 | |
| platform-dependent | 01/01/70 00:00 | |
| Why TEA? | 01/01/70 00:00 | |
| Did you Mean DES | 01/01/70 00:00 | |
| Yes, DES | 01/01/70 00:00 | |
| Here it is | 01/01/70 00:00 | |
| It would be better | 01/01/70 00:00 | |
| Go here! | 01/01/70 00:00 | |
| And what is your result? | 01/01/70 00:00 | |
| Not right? | 01/01/70 00:00 | |
| I expected that... | 01/01/70 00:00 | |
| Here are the results I am gettng | 01/01/70 00:00 | |
| Michael is right: | 01/01/70 00:00 | |
| MS Visual C. | 01/01/70 00:00 | |
| Recipe for success | 01/01/70 00:00 | |
| problem with "standard implementation".. | 01/01/70 00:00 | |
| Example for the user | 01/01/70 00:00 | |
| like this? | 01/01/70 00:00 | |
| What else? | 01/01/70 00:00 | |
| ??? | 01/01/70 00:00 | |
I noticed that | 01/01/70 00:00 | |
| Statics init to zero | 01/01/70 00:00 | |
| Code Problems | 01/01/70 00:00 | |
| Didn't search first? | 01/01/70 00:00 | |
| It's easy? | 01/01/70 00:00 | |
| Useful fast shift and roll functions | 01/01/70 00:00 |



