algo.c

来自「这是一个基于ADSP2188平台的加密、解密C语言程序。加密解密算法采用的是TE」· C语言 代码 · 共 56 行

C
56
字号
 //algo.c
 
#define DELTA 		0x9e37
#define TEA_CIRCLE	32

#include <stdio.h> 
#include <asm_sprt.h> 

extern unsigned int  v[512],k[4];
extern int vl;

void coder()
{
	int i;
	vl=vl/2;
	for (i=0;i<vl;i++){
	
	int tmp1,tmp2,tmp3,tmp4;
	int n=TEA_CIRCLE;
	int y = v[2*i], z = v[2*i+1];
	unsigned int sum=0;
	
	while (n-->0)
	{ 
		sum += DELTA;
		y += (z<<4) + k[0]^z + sum^(z>>5)+k[1];
		z += (y<<4) + k[2]^y + sum^(y>>5)+k[3];
	} 	
	v[2*i]=y;v[2*i+1]=z;
							}

}


void decoder()
{
	int i;
	vl=vl/2;
	for (i=0;i<vl;i++){

	int n=TEA_CIRCLE;
	int y = v[2*i], z = v[2*i+1];
	unsigned int sum=DELTA<<5;
	
	while (n-->0)
	{ 
		z -= (y<<4) + k[2]^y + sum^(y>>5)+k[3];
		y -= (z<<4) + k[0]^z + sum^(z>>5)+k[1];
		sum-=DELTA;
	} 
	
	v[2*i]=y;v[2*i+1]=z;
							}

}  

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?