XTEA加密算法

时间:2022-05-19 03:29:24

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加密算法的更多相关文章

  1. 介绍XXTEA加密算法及其C实现

    介绍XXTEA加密算法及其C实现 http://en.wikipedia.org/wiki/XXTEA “微型加密算法(TEA)及其相关变种(XTEA,Block TEA,XXTEA)都是分组加密算法 ...

  2. 【转】TEA、XTEA、XXTEA加密解密算法&lpar;C语言实现)

    ref : https://blog.csdn.net/gsls200808/article/details/48243019 在密码学中,微型加密算法(Tiny Encryption Algorit ...

  3. 适用于单片机的数据加密算法:xxtea

    转:https://www.cnblogs.com/LittleTiger/p/4384741.html 各位大侠在做数据传输时,有没有考虑过把数据加密起来进行传输,若在串口或者无线中把所要传的数据加 ...

  4. Linux Kernel&lpar;Android&rpar; 加密算法总结&lpar;一&rpar;(cipher、compress、digest)

    1. Linux内核支持哪些加密算法 ? 内核支持的加密算法非常多,包含: 对称加密算法.如AES,3DES. 对称password*的发展趋势将以分组password为重点. 分组password ...

  5. 理解加密算法(三)——创建CA机构,签发证书并开始TLS通信

    接理解加密算法(一)--加密算法分类.理解加密算法(二)--TLS/SSL 1 不安全的TCP通信 普通的TCP通信数据是明文传输的,所以存在数据泄露和被篡改的风险,我们可以写一段测试代码试验一下. ...

  6. 在&period;NET Core 里使用 BouncyCastle 的DES加密算法

    .NET Core上面的DES等加密算法要等到1.2 才支持,我们可是急需这个算法的支持,文章<使用 JavaScriptService 在.NET Core 里实现DES加密算法>需要用 ...

  7. 使用 JavaScriptService 在&period;NET Core 里实现DES加密算法

    文章<ASP.NET Core love JavaScript>和<跨平台的 NodeJS 组件解决 .NetCore 不支持 System.Drawing图形功能的若干问题> ...

  8. Android数据加密之异或加密算法

    前言: 这几天被公司临时拉到去做Android IM即时通信协议实现,大致看了下他们定的协议,由于之前没有参与,据说因服务器性能限制,只达成非明文传递,具体原因我不太清楚,不过这里用的加密方式是采用异 ...

  9. &lbrack;C&num;&rsqb; 简单的 Helper 封装 -- SecurityHelper 安全助手:封装加密算法(MD5、SHA、HMAC、DES、RSA)

    using System; using System.IO; using System.Security.Cryptography; using System.Text; namespace Wen. ...

随机推荐

  1. 大数据项目实践:基于hadoop&plus;spark&plus;mongodb&plus;mysql&plus;c&num;开发医院临床知识库系统

    一.前言 从20世纪90年代数字化医院概念提出到至今的20多年时间,数字化医院(Digital Hospital)在国内各大医院飞速的普及推广发展,并取得骄人成绩.不但有数字化医院管理信息系统(HIS ...

  2. SPOJ &colon; DIVCNT2 - Counting Divisors &lpar;square&rpar;

    设 \[f(n)=\sum_{d|n}\mu^2(d)\] 则 \[\begin{eqnarray*}\sigma_0(n^2)&=&\sum_{d|n}f(d)\\ans&= ...

  3. GitHub 基本常用知识解答

    1.Fork.Watch.Star 是什么意思? fork的意思是从别人的代码库中复制一份到你自己的代码库,与普通的复制不同,fork包含了原有库中的所有提交记录, fork后这个代码库是完全独立的, ...

  4. &lbrack;Algorithms&lpar;Princeton&rpar;&rsqb; Week1 - PercolationStats

    public class PercolationStats { private int N; private int T; private double[] results; public Perco ...

  5. shell基础二十篇 一些笔记

    shell基础二十篇 转自 http://bbs.chinaunix.net/thread-452942-1-1.html 研讨:Bash 内建命令 read (read命令更具体的说明见博客收藏的一 ...

  6. Myeclipse 添加server library

    来自网络资料 (1)File->New->Other (2)弹出窗口勾上Show All Wizards,然后在type fiter text那里输入Server,选中server-&gt ...

  7. hdu1166(线段树)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1166 线段树功能:update:单点增减 query:区间求和 #pragma comment(lin ...

  8. CSS实现禁止文字选中

    E10平台预览第四版中包含了对 CSS3 新属性 -ms-user-select 的支持,Web 开发人员可以利用这一新属性轻松精确的控制用户可以在网站上选择哪些文本. user-select:non ...

  9. 2017-2018-1 20155321《信息安全技术》实验二——Windows口令破解

    2017-2018-1 20155321<信息安全技术>实验二--Windows口令破解 实验原理 口令破解方法 口令破解主要有两种方法:字典破解和暴力破解. 字典破解是指通过破解者对管理 ...

  10. NSURLSession学习笔记(一)简介

    一.URL Session的基本概念 1.三种工作模式: 默认会话模式(default):工作模式类似于原来的NSURLConnection,使用的是基于磁盘缓存的持久化策略,使用用户keychain ...