XTEA加密算法
#include <stdint.h>
/* take 64 bits of data in v[0] and v[1] and 128 bits of key[0] - key[3] */
void encipher(unsigned int num_rounds, uint32_t v[], uint32_t const key[]) {
unsigned int i;
uint32_t v0=v[], v1=v[], sum=, delta=0x9E3779B9;
for (i=; i < num_rounds; i++) {
v0 += (((v1 << ) ^ (v1 >> )) + v1) ^ (sum + key[sum & ]);
sum += delta;
v1 += (((v0 << ) ^ (v0 >> )) + v0) ^ (sum + key[(sum>>) & ]);
}
v[]=v0; v[]=v1;
}
void decipher(unsigned int num_rounds, uint32_t v[], uint32_t const key[]) {
unsigned int i;
uint32_t v0=v[], v1=v[], delta=0x9E3779B9, sum=delta*num_rounds;
for (i=; i < num_rounds; i++) {
v1 -= (((v0 << ) ^ (v0 >> )) + v0) ^ (sum + key[(sum>>) & ]);
sum -= delta;
v0 -= (((v1 << ) ^ (v1 >> )) + v1) ^ (sum + key[sum & ]);
}
v[]=v0; v[]=v1;
}
XTEA加密算法的更多相关文章
- 介绍XXTEA加密算法及其C实现
介绍XXTEA加密算法及其C实现 http://en.wikipedia.org/wiki/XXTEA “微型加密算法(TEA)及其相关变种(XTEA,Block TEA,XXTEA)都是分组加密算法 ...
- 【转】TEA、XTEA、XXTEA加密解密算法(C语言实现)
ref : https://blog.csdn.net/gsls200808/article/details/48243019 在密码学中,微型加密算法(Tiny Encryption Algorit ...
- 适用于单片机的数据加密算法:xxtea
转:https://www.cnblogs.com/LittleTiger/p/4384741.html 各位大侠在做数据传输时,有没有考虑过把数据加密起来进行传输,若在串口或者无线中把所要传的数据加 ...
- Linux Kernel(Android) 加密算法总结(一)(cipher、compress、digest)
1. Linux内核支持哪些加密算法 ? 内核支持的加密算法非常多,包含: 对称加密算法.如AES,3DES. 对称password体制的发展趋势将以分组password为重点. 分组password ...
- tea加密算法及其变种的研究
tea 介绍 "TEA" 的全称为"Tiny Encryption Algorithm" 是1994年由英国剑桥大学的David j.wheeler发明的. T ...
- 理解加密算法(三)——创建CA机构,签发证书并开始TLS通信
接理解加密算法(一)--加密算法分类.理解加密算法(二)--TLS/SSL 1 不安全的TCP通信 普通的TCP通信数据是明文传输的,所以存在数据泄露和被篡改的风险,我们可以写一段测试代码试验一下. ...
- 在.NET Core 里使用 BouncyCastle 的DES加密算法
.NET Core上面的DES等加密算法要等到1.2 才支持,我们可是急需这个算法的支持,文章<使用 JavaScriptService 在.NET Core 里实现DES加密算法>需要用 ...
- 使用 JavaScriptService 在.NET Core 里实现DES加密算法
文章<ASP.NET Core love JavaScript>和<跨平台的 NodeJS 组件解决 .NetCore 不支持 System.Drawing图形功能的若干问题> ...
- Android数据加密之异或加密算法
前言: 这几天被公司临时拉到去做Android IM即时通信协议实现,大致看了下他们定的协议,由于之前没有参与,据说因服务器性能限制,只达成非明文传递,具体原因我不太清楚,不过这里用的加密方式是采用异 ...
随机推荐
- mysql解决中文乱码问题
安装文件 my.ini default-character-set=gbk 安装文件 db.opt default-character-set=gbkdefault-collation=gbk_chi ...
- Qt_DX
#ifndef MY_FRAME__HH__ #define MY_FRAME__HH__ #include <QtGui/QWidget> struct IDirect3D9; stru ...
- java 类型转换(摘自网络)
java基本类型转换规则 1.基本数据类型的转换是指由系统根据转换规则自动完成,不需要程序员明确地声明不同数据类型之间的转换. 转换在编译器执行,而不是等到运行期再执行. 2.基本数据类型 ...
- 第二次冲刺spring会议(第三次会议)
[例会时间]2014/5/6 21:15 [例会地点]9#446 [例会形式]轮流发言 [例会主持]马翔 [例会记录]兰梦 小组成员:兰梦 ,马翔,李金吉,赵天,胡佳奇
- Just do it!!!
从今日起,开个开发自己个人轻量级博客,加油!!!!!
- spring之json数据的接受和发送
配置spring对json的注解方式. <!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 --> <bean class="org.springf ...
- 请问如何查询一个APP的Android和iOS下载量?
作者:Jasmine Jiang链接:http://www.zhihu.com/question/28533067/answer/87871598来源:知乎著作权归作者所有,转载请联系作者获得授权. ...
- 正则匹配 sql语句参数
List<string> listcommand = new List<string>(); string sql = "update BMDMB set bmdmb ...
- GitHub使用指导
GitHub 用过Git的小伙伴想必都知道GitHub是个什么东东,我这里就简单介绍一下吧.Git是一个分布式的版本控制系统,而GitHub可以托管各种Git库,并提供一个Web界面,方便查看Git库 ...
- Linux相关
可以用secureCRT远程连接Linux系统,进入tomcat,并且启动tomcat:bin/startup.sh 查看实时日志状态:tail -f logs/catalina.out