tea加密算法

TEA对称加密算法

安稳与你 提交于 2020-01-13 03:22:55
  今天在看 《Distributed Systems Concepts and Design》 这本书的时候,在讲到分布式系统的安全性的时候,给出了TEA算法,书本上有现成的代码,所以摘录下来以备后用。下面摘自百度百科的简短介绍:   TEA算法由剑桥大学计算机实验室的David Wheeler和Roger Needham于1994年发明[3]。它是一种分组密码算法,其明文密文块为64比特,密钥长度为128比特。TEA算法利用不断增加的Delta(黄金分割率)值作为变化,使得每轮的加密是不同,该加密算法的迭代次数可以改变,建议的迭代次数为32轮。   加密算法代码如下: 1 void encrypt(unsigned long k[], unsigned long text[]) 2 { 3 unsigned long y = text[0]; 4 unsigned long z = text[1]; 5 unsigned long delta = 0X9E3779B9; 6 unsigned long sum = 0; 7 int n; 8 9 for(n = 0; n < 32; n++) 10 { 11 sum += delta; 12 y += ((z << 4) + k[0]) ^ (z + sum) ^ ((z >> 5) + k[1]); 13 z += ((y <