`
hereson2
  • 浏览: 452038 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

TEA算法的VB实现代码的使用说明

阅读更多
自从公开了TEA算法的VB代码之后一直有人追问我如何调用这两个过程,如何取得加密/解密结果的问题,在此就针对这点做一个补充说明

关于我给出的TEA算法VB实现的模块代码仅仅实现了TEA算法中最基本的:
以128位密匙(长度4的长整型数组)加密(解密)64位数据(长度2的长整型数组)

用法与算法描述中的C代码基本一样,仅增加了一个可以选择加密轮次的参数,提供16轮和32轮两种选择

由于C代码中使用的是指针参数,我在这个模块里索性就模仿C语言描述,利用ByRef参数返回运算结果

TEAEncode(V() as Long,K() as Long,lType As Integer)过程中,数组V既是提供明文的参数,也是返回加密后密文的参数
TEADecode(V() as Long,K() as Long,lType As Integer)过程中,数组V既是提供密文的参数,也是返回解密后明文的参数

具体范例如下:

Dim V(0 to 1) As Long
Dim K(0 to 3) As Long

'以下是试验用64位明文

V(0)=&H12345678
V(1)=&H87654321

'以下是试验用128位密匙

K(0)=&H11111111
K(1)=&H22222222
K(2)=&H33333333
K(3)=&H44444444

'显示输出明文
Print "明文:" & V(0) & " -- " & V(1)

'以下演示加密过程
Call TEAEncode(V,K,2) 'TEA算法 32轮加密
Print "加密结果:" & V(0) & " -- " & V(1)

'以下演示解密过程
Call TEADecode(V,K,2) 'TEA算法 32轮加密
Print "解密结果:" & V(0) & " -- " & V(1)

------------------------------------------------------
另外副上TEA算法描述中给出的C代码:

void decode(long* v,long* k) {
unsigned long n=32, sum, y=v[0], z=v[1],
delta=0x9e3779b9 ;
sum=delta<<5 ;
/* start cycle */
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 ;
}
/* end cycle */
v[0]=y ; v[1]=z ; }


void code(long* v, long* k) {
unsigned long y=v[0],z=v[1], sum=0,delta=0x9e3779b9, n=32;
unsigned long m; /* a key schedule constant */
while (n-->0) { /* basic cycle start */
sum += delta ;
printf("%lu;%lu;%lu\n",sum,sum-delta,delta);
y += (z<<4)+k[0] ^ z+sum ^ (z>>5)+k[1] ;
z += (y<<4)+k[2] ^ y+sum ^ (y>>5)+k[3] ; /* end cycle */
}
v[0]=y;v[1]=z ;}
分享到:
评论

相关推荐

    TEA 算法的加密解密模块 vb源码

    TEA 算法的加密解密模块,可用于程序注册保护等方面,vb源码

    VB加密算法代码集锦.rar

    这个加解密源码几乎包括了世界上几个最著名的加密算法:Blowfish、CryptAPI、DES、Gost、RC4、XOR、Skipjack、TEA、Twofish,曾获源码5星推荐 Business-strengthCompression.zip: 商用压缩+加密程序 ...

    几个著名算法的加密解密VB源码

    这个加解密源码几乎包括了世界上几个最著名的加密算法:Blowfish、CryptAPI、DES、Gost、RC4、XOR、Skipjack、TEA、Twofish

    VB Blowfish、CryptAPI、DES、Gost、RC4、XOR等加密算法集.rar

    VB 6.0 Blowfish、CryptAPI、DES、Gost、RC4、XOR等加密算法集,这个加解密源码几乎包括了世界上几个最著名的加密算法:Blowfish、CryptAPI、DES、Gost、RC4、XOR、Skipjack、TEA、Twofish,曾获源码5星推荐。...

    加密算法 模块 加密算法 模块

    标准算法模块是集DES、3DES、AES、RSA、MD5、BlowFish、TEA、RC6等标准算法为一体的算法包,同时在模块中使用了Anti-Debug和程序自校验功能(涉及到软件的加壳和CRC32)、软件使用次数限制,更好的保护您的软件。...

    加密算法模块

    标准算法模块是集DES、3DES、AES、RSA、MD5、BlowFish、TEA、RC6等标准算法为一体的算法包,同时在模块中使用了Anti-Debug和程序自校验功能(涉及到软件的加壳和CRC32)、软件使用次数限制,更好的保护您的软件。...

    加密算法模块 2004年7月19日更新

    标准算法模块是集DES、3DES、AES、RSA、MD5、BlowFish、TEA、RC6等标准算法为一体的算法包,同时在模块中使用了Anti-Debug和程序自校验功能(涉及到软件的加壳和CRC32)、软件使用次数限制,更好的保护您的软件。...

    Visual Basic 常用加密压缩算法

    这个加解密源码几乎包括了世界上几个最著名的加密算法:Blowfish、CryptAPI、DES、Gost、RC4、XOR、Skipjack、TEA、Twofish,曾获源码5星推荐 Business-strengthCompression.zip: 商用压缩+加密程序 ...

    VBCrypto源码库实例大全

    摘要:VB源码,算法相关,Crypto  VBCrypto源码库大全源码,这是一个良好的编译算法,由如下算法组成:10种流行的加密算法(Blowfish, Twofish, Rijndael, Skipjack, Serpent, Gost, RC2, RC4, TEA, DES, 3DES, 3DES...

    jiamisuanfamokuai.zip_RSA  C语言_VB加壳_blowfish dll_自校验_自校验 delphi

    标准算法模块是集DES、3DES、AES、RSA、MD5、BlowFish、TEA、RC6等标准算法为一体的算法包,同时在模块中使用了Anti-Debug和程序自校验功能(涉及到软件的加壳和CRC32)、软件使用次数限制,更好的保护您的软件。...

    vb Blowfish, DES Gost, Simple XOR, RC4,Skipjack,TEA,Twofish

    vb 著名加密算法 源码 演示 需要的朋友快下去

    加密算法模块 2004.8.12

    标准算法模块是集DES、3DES、AES、RSA、MD5、BlowFish、TEA、RC6等标准算法为一体的算法包,同时在模块中使用了Anti-Debug和程序自校验功能(涉及到软件的加壳和CRC32)、软件使用次数限制,更好的保护您的软件。...

    Tea.zip_加密解密_C#_

    C#实现的TEA加密算法。与VB实现的tea算法一致。

Global site tag (gtag.js) - Google Analytics