青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

S.l.e!ep.¢%

像打了激速一樣,以四倍的速度運(yùn)轉(zhuǎn),開心的工作
簡單、開放、平等的公司文化;尊重個(gè)性、自由與個(gè)人價(jià)值;
posts - 1098, comments - 335, trackbacks - 0, articles - 1
  C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

TEA算法在QQ中的應(yīng)用

Posted on 2010-01-25 16:19 S.l.e!ep.¢% 閱讀(1761) 評論(0)  編輯 收藏 引用 所屬分類: Algorithm
TEA算法在QQ中的應(yīng)用
2007年08月23日 星期四 22:15
靈鑰科技
前言
TEA算法被廣泛地應(yīng)用于計(jì)算機(jī)數(shù)據(jù)加密領(lǐng)域,OICQ的數(shù)據(jù)安全采用了TEA算法。本文討論了TEA的算法的原理及實(shí)現(xiàn),并揭示了QQ中該算法的應(yīng)用,本文是靈鑰科技公司(www.panakes.com)在即時(shí)通信密碼研究公開的第一篇論文,今后我們將陸續(xù)發(fā)表相關(guān)的論文及相應(yīng)的產(chǎn)品。

TEA算法簡介
TEA算法是由劍橋大學(xué)計(jì)算機(jī)實(shí)驗(yàn)室的 David Wheeler和 Roger Needham 于1994年發(fā)明. TEA是Tiny Encryption Algorithm的縮寫。特點(diǎn)是加密速度極快,高速高效,但是抗差分攻擊能力差。

TEA加密算法是一種分組密碼算法,其明文密文塊64比特(8字節(jié)),密鑰長度128比特(16字節(jié))。TEA加密算法的迭代次數(shù)可以改變,建議的迭代次數(shù)為32輪,盡管算法的發(fā)明人強(qiáng)調(diào)加密16輪就很充分了。兩個(gè)TEA Feistel周期算為一輪。圖1示例了TEA一輪的加密流程。

???

??

??

以下示例了TEA的C語言加密算法,TEA的解密算法與加密算法類似。

#define TEA_ROUNDS 0x20
#define TEA_DELTA 0x9E3779B9
#define TEA_SUM 0xE3779B90

void tiny_encrypt(unsigned long *const v, unsigned long *const w,
const unsigned long *const k)
{
register unsigned long
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)值作為變化, ,就是黃金分割率。它的作用是使得每輪的加密是不同。 的準(zhǔn)確值可能不太重要。但是在這里,它被初始化為

=0x9e3779b????

QQ是如何利用TEA進(jìn)行加密的?
TEA算法被廣泛應(yīng)用于QQ的數(shù)據(jù)加密中,QQ采用16輪的TEA算法加密,在這時(shí)采取16輪加密時(shí)而不采取標(biāo)準(zhǔn)的32輪加密時(shí)為了減少驗(yàn)證服務(wù)器的壓力。QQ在數(shù)據(jù)加密前采用了密碼學(xué)中的常用的填充及交織技術(shù),減少加密數(shù)據(jù)的相關(guān)性,增加破譯者的破解難度。??

下表列出了QQ 應(yīng)用TEA算法幾個(gè)方面

??

序號
應(yīng)用
相關(guān)文件

1
通訊報(bào)文的加密/解密
???

2
消息記錄的加密/解密
MsgEx.db

3
本地消息密碼、首次登錄時(shí)間、提示內(nèi)容驗(yàn)證密碼
Matrix.db

4
消息備份文件
*.bak



QQ的TEA算法源程序分析
QQ在進(jìn)行TEA加密前采用ntohl函數(shù)對原文數(shù)據(jù)和加密密鑰進(jìn)行了變換,從網(wǎng)絡(luò)字節(jié)順序轉(zhuǎn)換位主機(jī)字節(jié)順序進(jìn)行加密后,再通過htonl函數(shù)將數(shù)據(jù)轉(zhuǎn)換為網(wǎng)絡(luò)字節(jié)順序的數(shù)據(jù)。

為什么要這樣做呢?因?yàn)椴煌挠?jì)算機(jī)使用不同的字節(jié)順序存儲(chǔ)數(shù)據(jù)。因此任何從Winsock函數(shù)對IP地址和端口號的引用和傳給Winsock函數(shù)的IP地址和端口號均時(shí)按照網(wǎng)絡(luò)順序組織的。

?? 為防止分析者分析出QQ是采用TEA加密算法的,程序的設(shè)計(jì)者采用了sub????? eax, 61C88647h 指令,而不采用Add eax 9e3779b9h指令。因?yàn)榉治稣咧恍枰袛?e3779b9h(即是我們前面提的黃金分割率的值)就知道采用了TEA加密算法。

sub_409A43 proc near ; CODE XREF: sub_409B8C+AEp
; sub_409B8C+109p ...

var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h

push ebp
mov ebp, esp
sub esp, 10h
push ebx
push esi
mov esi, [ebp+arg_0]
push edi
push dword ptr [esi] ; netlong
call ntohl
push dword ptr [esi+4] ; netlong
mov edi, eax??????????????????????????????? ;y
call ntohl
mov ebx, eax?????????????????????????????? ;z
mov eax, [ebp+arg_4]
lea ecx, [ebp+var_10]
lea esi, [ebp+var_10]
sub eax, ecx
mov [ebp+arg_0], 4
mov [ebp+arg_4], eax
jmp short loc_409A7C
; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪?
.text:00409A79
loc_409A79:????????????????????????????? ; CODE XREF: sub_409A43+49 j
mov eax, [ebp+arg_4]

loc_409A7C:????????????????????????????? ; CODE XREF: sub_409A43+34 j
push dword ptr [eax+esi]???????????? ; netlong
call ntohl?????????????????????????????????? ;對k[0],k[1],k[2],k[3]進(jìn)行ntohl變化,
mov [esi], eax
add esi, 4
dec [ebp+arg_0]
jnz short loc_409A79


push 10h??????????????????????????????????? ;做十六輪TEA運(yùn)算
xor eax, eax
pop ecx

loc_409A93: ; CODE XREF: sub_409A43+88 j
mov edx, ebx
mov esi, ebx
shr edx, 5???????????????????????????????? ;z>>5
add edx, [ebp+var_C]??????????????? ;z>>5+k[1]
sub eax, 61C88647h???????????????? ;sum=sum+delta delta:0x9e3779b9
shl esi, 4 ;z<<4
add esi, [ebp+var_10]??????????????? ;z<<4+k[0]
xor edx, esi????????????????????????????? ;(z>>5+k[1]) ^ (z<<4+k[0])
lea esi, [eax+ebx]???????????????????? ;sum+z
xor edx, esi????????????????????????????? ;(z<<4+k[0]) ^ (sum+z)^(z>>5+k[1])
add edi, edx???????????????????????????? ;y+=(z<<4+k[0]) ^ (sum+z)^(z>>5+k[1])

mov edx, edi
mov esi, edi
shr edx, 5??????????????????????????????? ;y>>5
add edx, [ebp+var_4]??????????????? ;y>>5+k[3]
shl esi, 4???????????????????????????????? ;y<<4
add esi, [ebp+var_8]???????????????? ;y<<4+k[2]
xor edx, esi???????????????????????????? ;(y>>5+k[3])^(y<<4+k[2])
lea esi, [eax+edi]???????????????????? ;(sum+y)
xor edx, esi???????????????????????????? ;(y<<4+k[2])^(sum+y)^(y>>5+k[3])
add ebx, edx?????????????????????????? ;z+=(y<<4+k[2])^(sum+y)^(y>>5+k[3])
dec ecx
jnz short loc_409A93


push edi ; hostlong
call htonl
mov esi, [ebp+arg_8]
push ebx ; hostlong
mov [esi], eax???????????????????????? ;加密結(jié)果
call htonl
mov [esi+4], eax???????????????????? ;加密結(jié)果
pop edi
pop esi
pop ebx
leave
retn
sub_409A43 endp


?? 結(jié)論
作為一種分組加密算法,TEA加密算法在其發(fā)展的過程中,目前出現(xiàn)了幾種針對TEA算法設(shè)計(jì)的缺陷攻擊方法,使得原有的TEA加密算法變得不安全,在過去的十幾年中,TEA算法進(jìn)行了若干次的改進(jìn),歷經(jīng)XTEA, Block TEA, XXTEA幾個(gè)版本。目前最新的算法是XXTEA。

QQ采用了最初的TEA算法做其核心的加密算法,QQ在采用TEA算法時(shí)采用了16輪的加密,其加密復(fù)雜度比32輪減了許多。利用TEA算法的設(shè)計(jì)缺陷,使得快速破解QQ密碼成為可能。

值得一提的QQ在利用TEA算法做加密時(shí),采用了交織及隨機(jī)填充隨機(jī)數(shù)的技術(shù),增加了密碼分析者分析難度,從一定程度上保護(hù)了信息的安全。
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美激情视频一区二区三区在线播放| 狼狼综合久久久久综合网| 日韩亚洲综合在线| 亚洲二区在线| 亚洲精品久久7777| 这里只有精品视频| 午夜精品短视频| 久久精品亚洲一区二区三区浴池| 久久精品国产久精国产爱| 美日韩精品视频| 亚洲精品中文字幕有码专区| 亚洲一区二区三| 久久在线免费观看| 欧美日韩99| 国产欧美日韩精品专区| 韩国一区二区在线观看| 亚洲激情国产精品| 亚洲欧美中文日韩v在线观看| 久久九九精品| 亚洲破处大片| 亚洲精品视频在线| 欧美亚洲午夜视频在线观看| 玖玖国产精品视频| 国产精品激情电影| 亚洲高清av在线| 午夜在线观看免费一区| 亚洲国产va精品久久久不卡综合| 亚洲一区二区黄| 久久综合激情| 国产毛片精品国产一区二区三区| 亚洲区一区二| 久久免费一区| 亚洲国产精品一区二区www在线| 国产精品99久久不卡二区| 久久亚洲国产成人| 亚洲网站啪啪| 久久亚洲一区| 国产精品入口尤物| 一区二区三区黄色| 亚洲国产欧美一区二区三区同亚洲| 欧美一区二视频| 国产精品一区二区久久久| 亚洲性人人天天夜夜摸| 亚洲经典在线| 免费毛片一区二区三区久久久| 国产视频久久久久| 午夜精品在线看| 一本色道精品久久一区二区三区| 欧美gay视频激情| 亚洲第一精品久久忘忧草社区| 久久国产66| 欧美亚洲尤物久久| 国产日韩在线看| 欧美影院久久久| 亚洲男人第一网站| 国产精品美腿一区在线看| 国产精品99久久久久久久女警| 亚洲国产日韩欧美在线动漫| 久久久亚洲影院你懂的| 国产一区二区三区在线观看免费视频| 亚洲欧美综合v| 亚洲自拍偷拍视频| 国产区精品视频| 久久精品官网| 欧美一区二区三区四区在线观看| 欧美视频在线一区二区三区| 亚洲天天影视| 亚洲一区日本| 国产真实乱子伦精品视频| 久久亚洲美女| 猛男gaygay欧美视频| 亚洲精品视频在线播放| 亚洲黄色小视频| 欧美丝袜第一区| 亚洲欧美日本国产专区一区| 亚洲欧美日韩中文视频| 狠狠久久五月精品中文字幕| 免费欧美日韩国产三级电影| 欧美激情一区二区三区在线| 亚洲欧美日韩国产成人精品影院| 欧美中文在线字幕| 亚洲精品国产品国语在线app| 亚洲看片免费| 国产手机视频一区二区| 免费一级欧美片在线播放| 欧美va亚洲va香蕉在线| 一区二区成人精品 | 女主播福利一区| 亚洲日本va在线观看| 一区二区三区你懂的| 国语自产精品视频在线看一大j8| 亚洲精品久久久久久久久久久久久| 亚洲精品一区二区三区婷婷月| 国产精品一二三四区| 欧美顶级艳妇交换群宴| 国产精品美女一区二区| 亚洲电影自拍| 国产一二三精品| 最新成人av网站| 国产亚洲人成a一在线v站| 亚洲大胆美女视频| 国产精品理论片在线观看| 欧美粗暴jizz性欧美20| 国产精品你懂的在线| 欧美国产日本| 国产一区二区三区奇米久涩| 亚洲欧洲免费视频| 国产伊人精品| 一区二区三区欧美成人| 亚洲国产裸拍裸体视频在线观看乱了中文 | 一区二区三区四区在线| 一区在线免费观看| 亚洲一区在线免费| 一区二区三区高清在线观看| 老司机aⅴ在线精品导航| 欧美影院午夜播放| 国产精品xnxxcom| 亚洲国产精品久久久久婷婷老年 | 国产欧美一级| 亚洲精品久久久久久一区二区| 韩日成人在线| 亚洲一区免费观看| 一区二区三区国产| 欧美极品在线视频| 理论片一区二区在线| 国产精品有限公司| 亚洲午夜精品| 亚洲欧美综合另类中字| 国产精品高潮呻吟视频| 夜夜精品视频一区二区| 夜色激情一区二区| 欧美二区在线播放| 亚洲电影免费在线 | 美女久久网站| 在线免费观看视频一区| 久久免费99精品久久久久久| 久久频这里精品99香蕉| 狠狠色香婷婷久久亚洲精品| 香蕉久久精品日日躁夜夜躁| 先锋影音久久| 国产精品伊人日日| 亚洲男人第一av网站| 欧美一乱一性一交一视频| 国产欧美大片| 欧美一区二区性| 欧美成人午夜激情视频| 亚洲巨乳在线| 亚洲私人黄色宅男| 亚洲欧美美女| 狠狠色狠狠色综合日日91app| 久久综合网hezyo| 最新亚洲电影| 亚洲欧洲av一区二区| 国产欧美精品日韩精品| 欧美一区二区三区喷汁尤物| 久久看片网站| 亚洲黄色一区| 欧美视频中文字幕在线| 午夜精品在线看| 欧美黄在线观看| 在线亚洲免费| 国产欧美日韩精品一区| 美女主播视频一区| 99热这里只有精品8| 午夜久久久久| 亚洲黑丝在线| 国产欧美日韩伦理| 免费成人小视频| 亚洲一区中文| 亚洲第一福利社区| 午夜欧美电影在线观看| 国模精品一区二区三区色天香| 欧美国产91| 亚洲午夜av在线| 免费视频一区| 午夜电影亚洲| 亚洲国产日韩欧美在线图片| 欧美日韩麻豆| 老司机午夜精品| 亚洲欧美中文日韩v在线观看| 亚洲第一中文字幕| 久久精品三级| 亚洲男人影院| 亚洲伦理网站| 亚洲国产成人不卡| 国产精品久久二区二区| 蜜桃av久久久亚洲精品| 欧美一区二区国产| 99re热精品| 久久亚洲美女| 久久超碰97人人做人人爱| 夜夜爽99久久国产综合精品女不卡 | 亚洲一区二区三区国产| 亚洲国产精品第一区二区三区| 国产精品一区二区久久久| 欧美午夜a级限制福利片| 欧美久久一级| 欧美高清不卡在线| 欧美成人免费一级人片100| 久久久久国产精品一区|