当前位置:首页 » 密码管理 » tea加密解密

tea加密解密

发布时间: 2024-03-09 14:48:25

㈠ F2:D7:5E:F5:CC:C1的密码是多少

协议分析:获取各类登录会话密钥

我们知道QQ的一些会话密钥是在登录过程中生成的,尤其是Session Key,有了它便可以解密出聊天文本内容。本文主要是了解一下QQ的加密机制,首先是用嗅探工具Wireshark 捕获本地发至8000端口的UDP数据包,然后使用瞎锋闭 QQCrypter 工基州具对各类磨裂文本进行加解密分析。

帐号资料

QQ号码(HEX):739317986 2C 11 18 E2

QQ密码 MD5 一次密文:D1 C2 DC FC BF D4 1C E1 10 3A 25 47 5B 64 F7 A5

QQ密码 MD5 二次密文:17 05 FB D8 1D 0D B4 37 79 7E 55 75 6C B8 E8 D2

IP地址(HEX):192.168.1.101 C0 A8 01 65

数据包分析

密钥A:

02 // 命令类别

1C 27 // QQ2010 Beta3版本号

00 91

46 60

2C 11 18 E2 // QQ号码

02 00 00 00 01 01 01 00 00 64 00

3E 12 2D 44 39 61 C5 34 80 7E D1 26 AD 30 50 29 //密钥A

6B 1C 4B 2C 30 0B 4C 56 90 14 32 56 F3 AF 69 20 // 以下蓝色内容为密文

62 C0 80 80 DE 26 CE EA E6 E6 8C BE F5 8A E7 45

87 F1 BD AC 59 0E 87 47 1D FE 4E 46 02 51 5D 00

03

用TEA解密如下:

00 01 00 00 08 04 01 E0 00 00 03 20 00 00 00 01

00 00 0B 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

密钥B:

02

1C 27

00 DD

16 B2

2C 11 18 E2

02 00 00 00 01 01 01 00 00 64 00

33 BA 7C E2 A1 C2 B4 8E DC 8D 19 49 2E 54 D6 23 //密钥B

// 以下蓝色内容为密文

93 29 E2 EA 3E 02 DE D2 2D 7C 6D 70 DB 25 F5 74

57 4B 03 8A B9 DF EF 0D A3 EF 49 3C A8 F6 7D FE FD 1D 22 82 27 F2 39 03 91 95 02 C9 C2 FB 8E 5D EA 8F 0C 54 F8 74 D0 84 53 A3 62 58 71 D8 12 AA 06 DA C4 9F FF AD 1D 57 23 09 0C AF 6D A9 2E 44 9E 7C CD E6 85 E3 73 27 76 98 29 32 1E 8F 50 66 F6 3C D7 F4 BD A6 C4 07 DF DE 7E A4 68 B5 2A ED 7E 81 27 C2 1D 11 7A 14 28 1D 38 FF 89 9B 74 FF 96 62 96 E9 E1 B1 B3 85 95 F4 16 32 14 31 96 91 49 E5 E8 14 27 2C 52 96 16 0C 63 4C 0B B0 E6 18 43 A6 0B 3B 87 8C 98 C2 A8 7F 2E EC A7 9E 94 B2 00 43 AC D4 B1 68 55 A4 55 9B 62 35 75 93 AE 5F A7 32 67 6C 43 66 0E 4A 06 B6 87 72 1E 0A B7 B3 04 D8 AB 80 0E 5F AA A1 3A 24 1E B5 58 F1 70 EF 41 58 2F 77 50 85 97 9E B2 0A DF C9 16 AC 64 50 5F F7 B7 66 67 CE 83 74 0B 68 69 A8 37 51 37 F5 79 C2 9B E4 E6 CA 77 AC 02 BE 34 9B 8C B4 93 EE DE BC 4F 46 21 BA 72 5A 6B 23 7C 2C 11 E0 6A 02 D2 5E E7 BC FD 0E FB 52 16 93 B6 B0 C2 52 B2 42 58 93 27 BF 19 93 C1 F4 7D BB 48 48 37 91 81 00 AE 51 D4 15 22 4C 26 28 4E 50 50 F2 5E A3 B2 04 1A 17 FA 91 BE 3D 7D 82 70 71 43 4B 5C 44 AB D4 BF 65 D1 DC AB 5D E0 68 36 35 1D 93 88 6E C5 85 02 57 68 87 71 0F 2A 6F 4B 48 0D E1 AE 95 99 A6 57 49 A6 D5 86 04 42 87 F3 C6 23 9A 42 A3 52 23 9D B9 67 92 A7 1B 1A 7C 56 98 9B B3 A9 A3 25 5E 2B 74 A8 78 DC C5 11 40 A3 13 2D ED 88 4F 11 2B 59 D6 EC 13 61 BA 57 EB 6F 4C 67 95 DA EA BA 0C FA 3E 2B 86 3A D8 84 05 7F 3B 27 A6 94 49 CA F4 23 6D C0 AD 97 08 E2 C7 15 27 0B 8E 10 CD 02 1A 63 13 15 BF 4A B3 66 87 AC 2A 42 09 D5 4A DD F8 1C 0C B0 0A DD 09 F5 7F 28 60 61 55 E7 25 73 A4 BC FB 9C 5E 87 C7 CD 8A A9 46 9A 14 FD B1 03 F5 AA 2F 9C 84 32 52 A6 70 D5 FC 62 DA DA 74 B3 67 3F 84 C9 67 25 A8 8B 7E 93 72 41 8F 0C C4 34 5C 10 9F 5D 9D C2 F4 93 A0 D9 61 45 C1 B7 54 A3 76 F7 31 D8 A1 CE 8E 94 1D C7 B4 C4 49 EA BD 7C 78 77 1E CF 5D CE 5E 81 4F EC 64 AA 6A B5 E2 41 BA 4E 00 D6 D7 7F B9 96 8F

03

用密钥B (33 BA 7C E2 A1 C2 B4 8E DC 8D 19 49 2E 54 D6 23)经TEA算法解密,内容如下:

00 DE 00 01 00 00 08 04 01 E0

00 00 03 20 00 00 00 01 00 00 0B 17

00 38

53 5E 98 F6 D7 43 46 75 8F 78 8A 60 FB 8E D7 4A

5C 4A 4C 42 A2 A2 C1 37 8D 21 55 CC B6 26 5F 02

AE 1C 87 79 23 9B FD CE 96 28 82 E0 AB 08 28 FA

C3 9C B0 7C 76 5C F5 F5

00 78 //0x78表示十进制数值 120

D5 FE 11 59 59 04 90 82 BA 36 50 54 4D 49 44 B8 //120个字节的开始块

22 72 00 BA 2D F3 5C 4C 3F B6 45 B1 D3 16 1C A9 4D 12 33 B0 79 11 BB 68 79 6E 2E 1B 1C E1 C9 F8 19 4B F1 35 AA EB 62 F2 D7 77 48 70 1D B4 40 CB 85 F8 74 15 5E 6C 32 9F 07 E4 B0 2A 61 35 4B 54 CC 85 F4 EA 6C 5A 42 F8 DB 18 A3 8F 9B 42 AD 5E 9A 5E FE 89 4C 18 71 2A 33 6A E9 D1 9F CE 0F DA 99 ED 65 F8 F6 E2 0D 66 //120个字节的结束块

00 14 82 FE 87 6D 6D 10 52 50 50 CD 61 98 54 F7 2F 82 EE 6A EB D5 01 77 2E 01 7F 5D 41 8F 00 10 8D CD 83 D5 BB B4 1F 4C CA 15 5C 38 D4 69 F1 30 02 66 45 A3 96 00 10 49 1F 22 31 08 12 D4 98 70 1F A3 63 9F 4B 56 AB 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

密钥C和D:

我们用QQ密码 MD5 二次密文(17 05 FB D8 1D 0D B4 37 79 7E 55 75 6C B8 E8 D2)作为密钥,对上面的120个字节 数据块作解密处理,可以得到密文:

52 40 0C 93 00 01 2C 11 18 E2 00 00 03 20 00 00

00 01 00 00 0B 17 00 00 00

D1 C2 DC FC BF D4 1C E1 10 3A 25 47 5B 64 F7 A5 //这个16位的数据正好是QQ密码

//经过MD5一次加密的密文

4C 75 25 59 00 00 00 00 00 00 00 00 00 00 00 00

00 3A FF 40 28 00 00 00 00 00 00 00 00 00 10

08 97 8A 39 E8 96 72 49 AC 26 E6 8B 63 E4 D7 44 //这个16位的数据是密钥 C

27 1E 92 DE F4 F4 9A 68 B2 E4 8D 84 BC EC 42 41 //这个16位的数据是密钥 D

密钥E和F:

㈡ 轻量级 加密算法 有哪几种

注:(以下内容我是从网上找的,不知道能不能帮到你..这些问题我也不怎么懂!!)
1.AES(Advanced Encryption Standard),
AES是一个使用128为分组块的分组加密算法,分组块和128、192或256位的密钥一起作为输入,对4×4的字节数组上进行操作。AES的每一轮加密都包含4个阶段,分别是AddRoundKey,SubBytes,ShiftRows,和MixColumns。众所周之AES是种十分高效的算法,尤其在8位架构中,这源于它面向字节的设计。
AES 适用于8位的小型单片机或者普通的32位微处理器,并且适合用专门的硬件实现,硬件实现能够使其吞吐量(每秒可以到达的加密/解密bit数)达到十亿量级。同样,其也适用于RFID系统。[3]高效的实现和算法的免费使用为AES在无线局域网和后来出现的相关协议中的应用铺平了道路。
2.DESL(Data Encryption Standard Lightweight Extension),
数据加密标准(DES)是由美国联邦信息处理标准在1976年为美国选出的一种加密算法。作为一个分组加密算法,DES在64位大小的分组快上进行操作,其密钥同样也是64位。[10]DES的大致结构由Feistel网络组成,此网络中包括含有8个S-Boxes的16次完全相同的基本轮回,一次初始排列,一次最终排列和一个独立的密钥次序表。
3.XXTEA
TEA微型加密算法最初是由David Wheeler和Roger Needham在1994年以Fast Software Encryption工作室的名义发表的,设计的重点在于描述与实现的简单性。它是一种分组加密算法,以128位的密钥对64位的分组块进行操作。[6]TEA遭受到等效密钥的困扰——每个密钥与其他是那个密钥是等效的,也就是说有效的密钥长度只有126位。此算法易受到相关密钥(Related Key)攻击法的攻击。

㈢ 什么是TEA算法

TEA算法被广泛地应用于计算机数据加密领域,OICQ的数据安全采用了TEA算法。本文讨论了TEA的算法的原理及实现,并揭示了QQ中该算法的应用,本文是灵钥科技公司(www.panakes.com)在即时通信密码研究公开的第一篇论文,今后我们将陆续发表相关的论文及相应的产品。

TEA算法简介
TEA算法是由剑桥大学计算机实验室的DavidWheeler和RogerNeedham于1994年发明.TEA是TinyEncryptionAlgorithm的缩写。特点是加密速度极快,高速高效,但是抗差分攻击能力差。

TEA加密算法是一种分组密码算法,其明文密文块64比特(8字节),密钥长度128比特(16字节)。TEA加密算法的迭代次数可以改变,建议的迭代次数为32轮,尽管算法的发明人强调加密16轮就很充分了。两个TEAFeistel周期算为一轮。图1示例了TEA一轮的加密流程。

以下示例了TEA的C语言加密算法,TEA的解密算法与加密算法类似。

#defineTEA_ROUNDS0x20
#defineTEA_DELTA0x9E3779B9
#defineTEA_SUM0xE3779B90

voidtiny_encrypt(unsignedlong*constv,unsignedlong*constw,
constunsignedlong*constk)
{
registerunsignedlong
y=v[0],
z=v[1],
a=k[0],
b=k[1],
c=k[2],
d=k[3],
n=TEA_ROUNDS,
sum=0,
delta=TEA_DELTA;

while(n-->0){
sum+=delta;
y+=(z<<4)+a^z+sum^(z>>5)+b;
z+=(y<<4)+c^y+sum^(y>>5)+d;
}
w[0]=y;
w[1]=z;
}

TEA算法利用的不断增加的(即源程序中的delta)值作为变化,,就是黄金分割率。它的作用是使得每轮的加密是不同。的准确值可能不太重要。但是在这里,它被初始化为

=0x9e3779b

QQ是如何利用TEA进行加密的?
TEA算法被广泛应用于QQ的数据加密中,QQ采用16轮的TEA算法加密,在这时采取16轮加密时而不采取标准的32轮加密时为了减少验证服务器的压力。QQ在数据加密前采用了密码学中的常用的填充及交织技术,减少加密数据的相关性,增加破译者的破解难度。

下表列出了QQ应用TEA算法几个方面

序号
应用
相关文件

1
通讯报文的加密/解密

2
消息记录的加密/解密
MsgEx.db

3
本地消息密码、首次登录时间、提示内容验证密码
Matrix.db

4
消息备份文件
*.bak

QQ的TEA算法源程序分析
QQ在进行TEA加密前采用ntohl函数对原文数据和加密密钥进行了变换,从网络字节顺序转换位主机字节顺序进行加密后,再通过htonl函数将数据转换为网络字节顺序的数据。

为什么要这样做呢?因为不同的计算机使用不同的字节顺序存储数据。因此任何从Winsock函数对IP地址和端口号的引用和传给Winsock函数的IP地址和端口号均时按照网络顺序组织的。

为防止分析者分析出QQ是采用TEA加密算法的,程序的设计者采用了subeax,61C88647h指令,而不采用Addeax9e3779b9h指令。因为分析者只需要判断9e3779b9h(即是我们前面提的黄金分割率的值)就知道采用了TEA加密算法。

sub_409A43procnear;CODEXREF:sub_409B8C+AEp
;sub_409B8C+109p...

var_10=dwordptr-10h
var_C=dwordptr-0Ch
var_8=dwordptr-8
var_4=dwordptr-4
arg_0=dwordptr8
arg_4=dwordptr0Ch
arg_8=dwordptr10h

pushebp
movebp,esp
subesp,10h
pushebx
pushesi
movesi,[ebp+arg_0]
pushedi
pushdwordptr[esi];netlong
callntohl
pushdwordptr[esi+4];netlong
movedi,eax;y
callntohl
movebx,eax;z
moveax,[ebp+arg_4]
leaecx,[ebp+var_10]
leaesi,[ebp+var_10]
subeax,ecx
mov[ebp+arg_0],4
mov[ebp+arg_4],eax
jmpshortloc_409A7C
;哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪?
.text:00409A79
loc_409A79:;CODEXREF:sub_409A43+49j
moveax,[ebp+arg_4]

loc_409A7C:;CODEXREF:sub_409A43+34j
pushdwordptr[eax+esi];netlong
callntohl;对k[0],k[1],k[2],k[3]进行ntohl变化,
mov[esi],eax
addesi,4
dec[ebp+arg_0]
jnzshortloc_409A79

push10h;做十六轮TEA运算
xoreax,eax
popecx

loc_409A93:;CODEXREF:sub_409A43+88j
movedx,ebx
movesi,ebx
shredx,5;z>>5
addedx,[ebp+var_C];z>>5+k[1]
subeax,61C88647h;sum=sum+deltadelta:0x9e3779b9
shlesi,4;z<<4
addesi,[ebp+var_10];z<<4+k[0]
xoredx,esi;(z>>5+k[1])^(z<<4+k[0])
leaesi,[eax+ebx];sum+z
xoredx,esi;(z<<4+k[0])^(sum+z)^(z>>5+k[1])
addedi,edx;y+=(z<<4+k[0])^(sum+z)^(z>>5+k[1])

movedx,edi
movesi,edi
shredx,5;y>>5
addedx,[ebp+var_4];y>>5+k[3]
shlesi,4;y<<4
addesi,[ebp+var_8];y<<4+k[2]
xoredx,esi;(y>>5+k[3])^(y<<4+k[2])
leaesi,[eax+edi];(sum+y)
xoredx,esi;(y<<4+k[2])^(sum+y)^(y>>5+k[3])
addebx,edx;z+=(y<<4+k[2])^(sum+y)^(y>>5+k[3])
dececx
jnzshortloc_409A93

pushedi;hostlong
callhtonl
movesi,[ebp+arg_8]
pushebx;hostlong
mov[esi],eax;加密结果
callhtonl
mov[esi+4],eax;加密结果
popedi
popesi
popebx
leave
retn
sub_409A43endp

结论
作为一种分组加密算法,TEA加密算法在其发展的过程中,目前出现了几种针对TEA算法设计的缺陷攻击方法,使得原有的TEA加密算法变得不安全,在过去的十几年中,TEA算法进行了若干次的改进,历经XTEA,BlockTEA,XXTEA几个版本。目前最新的算法是XXTEA。

QQ采用了最初的TEA算法做其核心的加密算法,QQ在采用TEA算法时采用了16轮的加密,其加密复杂度比32轮减了许多。利用TEA算法的设计缺陷,使得快速破解QQ密码成为可能。

值得一提的QQ在利用TEA算法做加密时,采用了交织及随机填充随机数的技术,增加了密码分析者分析难度,从一定程度上保护了信息的安全。

更多信息请访问www.panakes.com

TEA(Tiny Encryption Algorithm) 是一种优秀的数据加密算法,虽然它比 DES(Data Encryption Standard) 要简单得多, 但有很强的抗差分分析能力,加密速度也比 DES 快得多,而且对 64 位数据加密的密钥长达 128 位,安全性相当好。 下面的程序来自卢开澄《计算机密码学》(清华大学出版社)。

补充:为了使这段程序更加实用,我将其整理为几个单元, 分别用于 Delphi 和 C++Builder 。包括对数据流 TMemoryStream 和字符串的加密/解密功能, 对字符串的加密/解密还通过 Base64 编码/解码,保持加密后的字符串仍为字符串。

// v[2] : 64bit data, k[4] : 128bit key

void encipher( unsigned long * const v, const unsigned long * const k )
{
register unsigned long y = v[0], z = v[1], sum = 0, delta = 0x9E3779B9,
a = k[0], b = k[1], c = k[2], d = k[3], n = 32;

while ( n-- > 0 )
{
sum += delta;
y += ( z << 4 ) + a ^ z + sum ^ ( z >> 5 ) + b;
z += ( y << 4 ) + c ^ y + sum ^ ( y >> 5 ) + d;
}
v[0] = y;
v[1] = z;
}

void decipher( unsigned long * const v, const unsigned long * const k )
{
register unsigned long y = v[0], z = v[1], sum = 0xC6EF3720, delta = 0x9E3779B9,
a = k[0], b = k[1], c = k[2], d = k[3], n = 32;

// sum = delta << 5, in general sum = delta * n
while ( n-- > 0 )
{
z -= ( y << 4 ) + c ^ y + sum ^ ( y >> 5 ) + d;
y -= ( z << 4 ) + a ^ z + sum ^ ( z >> 5 ) + b;
sum -= delta;
}
v[0] = y;
v[1] = z;
}

㈣ 为什么说TEA算法安全性高

tea算法在安全学领域,TEA(Tiny Encryption Algorithm)是一种分组加密算法,它的实现非常简单,通常只需要很精短的几行代码。TEA 算法最初是由剑桥计算机实验室的 David Wheeler 和 Roger Needham 在 1994 年设计的。

TEA算法使用64位的明文分组和128位的密钥,它使用Feistel分组加密框架,需要进行 64 轮迭代,尽管作者认为 32 轮已经足够了。该算法使用了一个神秘常数δ作为倍数,它来源于黄金比率,以保证每一轮加密都不相同。但δ的精确值似乎并不重要,这里 TEA 把它定义为 δ=“(√5 - 1)231”(也就是程序中的 0×9E3779B9)。

之后 TEA 算法被发现存在缺陷,作为回应,设计者提出了一个 TEA 的升级版本——XTEA(有时也被称为“tean”)。XTEA 跟 TEA 使用了相同的简单运算,但它采用了截然不同的顺序,为了阻止密钥表攻击,四个子密钥(在加密过程中,原 128 位的密钥被拆分为 4 个 32 位的子密钥)采用了一种不太正规的方式进行混合,但速度更慢了。

㈤ 电子邮件证书有哪些功能

电子邮件证书是在互联网上证明电子邮件身份的唯一标识,用于加强身份认证,大大降低大型网站和各企事业单位部署基于客户端证书的强身份认证技术的成本,从而快速推动基于客户端证书的强身份认证技术在企业管理信息系统中的普及应用。

电子邮件证书主要是用来对电子邮件通信进行加密和数字签名的,为用户和员工提供双因素身份验证,保护通过网络发送的重要公司文档,并进行身份验证以确保他们有权访问在线服务器。

安全电子邮件证书应用

电子邮件证书应用范围比较广,适用于各行各业的电子邮件。电子邮件证书利用PKI的公钥加密技术,以电子邮件证书作为公钥的载体,发件人使用邮件接收者的数字证书中的公钥对电子邮件的内容和附件进行加密,加密后的邮件只能由接收者持有的私钥才能解密,因此只有邮件接收者才能阅读,其他人截获该邮件看到的只是加密后的乱码信息,这样就可确保电子邮件在传输过程中不被他人阅读,防止了机密信息的泄露

㈥ 招新——第一次尝试破解tea算法

     物拿正      开始接触逆向分析时,入门级别的一道题目,是一个师兄写的考核题《sotired》,尝试着破解了下,以下是具体的过程。

1、双击发现打不开,应该是linux系统下的文件(事实证明确实如此,我在虚拟机那里验证了一下,随便输入字符串,得到的答案是sorry~,给人crakeme的感觉,哈哈)

2、使用反汇编工具ida64位,将文件拖进去,找到main函数,使用F5大法,得到下面的界面:

看到sorry~和wow!congratulation!的字符串,可以推断出有字符串的对比,看到if语句,没错就是它了,看来temp[k]里面有我们想要的东西(用于匹配比较的正确密文)点进去,得到

这里利用一个小插件lazyida,哈哈哈(我比较懒),得到密文,

在这里需要声明下,因为最后读出来的那个0x00111885B有误(lazyida的原因),其实是0x32111885B才对,所以是 0x572CB9C1, 0x73A6EB63, 0x069E6A55, 0x818E33D9, 0x7ED0A862, 0x3211885B,这些16进制的数就是密文啦!有了密文,我们要破解它,就需要找密钥啦,回去看函数

想象下,用户输入一组字符串,for循环了3次,atoui函数猜测应该是某种转换函数,点进去

果然是移位加密转换,结果是int 型,所以v11[6]的字符数据全部被转换了数字,继续往下

又有3次循环,看到encipher函数应该是加密函数来的,然后传递了两个参数,一个是转化后的v11,另一个v7,这里就可以怀疑了,v7应该是密钥,而且用了引用,难道是地址吗?很奇怪,点进去v7,得到

这里又要怀疑了,前面4个都是?一个数字有4个数据,感觉很像数组的样子,于是尝试一波

转换为数组,然后F5大法刷新下!得到

看来我们的推断是正敏薯确的,v7是一个数组,里面的数据应该是密钥了!到此,我们成功地拿到了密文和密钥了,接下来就是解密罩悔了,解密前需要知道是怎么加密的,回到刚刚的encipher函数,进去

看到这里有人可能要很激动了,这个算法不就是tea算法吗?!(没错,虽然我一开始也不知道,于是我去谷歌了一波!)

tea算法就是把密文结合密钥进行移位再异或的运算,总共进行32轮。解密则是反过来求解,不过需要先算出delta的值,即9e3779b9*32后得到13c6ef3720,明显溢出了(手贱算了下,溢出。tea算法把溢出的忽略了,emmmm,我也不太懂其中的原因,能用先用着,哈哈哈),于是乎,可以写脚本了,打开c++,写入脚本

我们的密文和密钥修改好后,因为有密文有6个16进制的数,所以解密3次,得到结果

好啦,这就是我们的flag了,但是看不懂是吧,没关系,去转换下,谷歌走起!

大家记得把空格消除,然后把它和在一起转化,好啦,虚拟机linux操作系统打开,文件打开,输入flag,得到的就是WOw!congratulation!

以上便是我花了一个下午整理出来的一个逆向题目,希望对大家有帮助,也希望能多多交流哦,嘻嘻~

㈦ TEA加密算法的应用

QQTEA 算法建立在标准 TEA算法的基础上,使用16轮的加密(这是最低限,推荐应该是32轮)。QQ在使用这个算法的时候,由于需要加密不定长的数据,所以使用了一些常规的填充办法和交织算法。
1 填充算法
如果明文本身的长度不是8的倍数,那么还要进行填充以使其成为8的倍数。以字节为单位,令N=原始字符串+10+填充字节数n,则N应该是8的倍数。
具体的填充方法:第一个字节为:(random()&0xf8)|n,随后填充(n+2)个字节random()&0xff ,后面接原始数据,最后填充7 个字节0x00 。
因为使用了不同的随机数,所以填充的结果使得即使对于相同的明文,密文的结果也会不同。
2 交织算法
消息被分为多个加密单元,每一个加密单元都是8字节,使用TEA进行加密,加密结果与下一个加密单元做异或运算后再作为待加密的明文。

㈧ tea算法的密文解密

抽凯巴烟,最后被卖烟的老板
点了一根长长的蜡烛,
我们被强制聚在它交融的空气里,
那些满盖着金合欢树的群山,
如露出一丝曙光的希望
一么中中熟悉的的印哈哈

热点内容
安卓手机软件怎么用数据线连接 发布:2024-11-27 18:48:11 浏览:252
刀剑乱舞挂机脚本 发布:2024-11-27 18:37:56 浏览:504
截取字符串java 发布:2024-11-27 18:34:09 浏览:331
安卓导航怎么会黑屏 发布:2024-11-27 18:17:19 浏览:394
编译后代码放在单片机哪个位置 发布:2024-11-27 18:12:01 浏览:458
linux红帽安装 发布:2024-11-27 18:01:53 浏览:827
手机编程蓝牙 发布:2024-11-27 17:55:39 浏览:385
创维云电视怎么升级安卓系统 发布:2024-11-27 17:55:31 浏览:354
theisle游戏服务器搭建 发布:2024-11-27 17:47:43 浏览:210
xshell解压 发布:2024-11-27 17:35:14 浏览:359