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

S.l.e!ep.¢%

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

TEA算法在QQ中的應用

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

TEA算法簡介
TEA算法是由劍橋大學計算機實驗室的 David Wheeler和 Roger Needham 于1994年發明. TEA是Tiny Encryption Algorithm的縮寫。特點是加密速度極快,高速高效,但是抗差分攻擊能力差。

TEA加密算法是一種分組密碼算法,其明文密文塊64比特(8字節),密鑰長度128比特(16字節)。TEA加密算法的迭代次數可以改變,建議的迭代次數為32輪,盡管算法的發明人強調加密16輪就很充分了。兩個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)值作為變化, ,就是黃金分割率。它的作用是使得每輪的加密是不同。 的準確值可能不太重要。但是在這里,它被初始化為

=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加密算法的,程序的設計者采用了sub????? eax, 61C88647h 指令,而不采用Add eax 9e3779b9h指令。因為分析者只需要判斷9e3779b9h(即是我們前面提的黃金分割率的值)就知道采用了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]進行ntohl變化,
mov [esi], eax
add esi, 4
dec [ebp+arg_0]
jnz short loc_409A79


push 10h??????????????????????????????????? ;做十六輪TEA運算
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???????????????????????? ;加密結果
call htonl
mov [esi+4], eax???????????????????? ;加密結果
pop edi
pop esi
pop ebx
leave
retn
sub_409A43 endp


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

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

值得一提的QQ在利用TEA算法做加密時,采用了交織及隨機填充隨機數的技術,增加了密碼分析者分析難度,從一定程度上保護了信息的安全。
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美在线观看网站| 久久精品视频亚洲| 国产精品你懂的在线欣赏| 欧美精品一区二区三区蜜桃| 免费欧美电影| 欧美99在线视频观看| 欧美成人一品| 欧美日韩高清不卡| 国产精品热久久久久夜色精品三区 | 久热精品在线视频| 久久人人爽国产| 欧美电影资源| 欧美日韩二区三区| 国产精品尤物| 国产在线拍偷自揄拍精品| 欲色影视综合吧| 精品av久久久久电影| 亚洲国产高清自拍| 亚洲视频香蕉人妖| 久久全国免费视频| 亚洲国产高清一区二区三区| 亚洲国产综合视频在线观看| 日韩视频一区二区三区在线播放免费观看 | 中文精品在线| 久久九九全国免费精品观看| 欧美高清视频免费观看| 久久麻豆一区二区| 伊人一区二区三区久久精品| 日韩亚洲欧美一区| 久久精品国产一区二区三| 亚洲电影视频在线| 亚洲欧美卡通另类91av| 免费视频一区二区三区在线观看| 欧美日韩一区不卡| 在线观看日韩欧美| 亚洲自啪免费| 欧美成人嫩草网站| 午夜精品福利一区二区三区av | 久久久精品国产免费观看同学| 欧美国产欧美综合 | 欧美精品在线一区二区| 国产日韩欧美日韩| 一本色道久久88精品综合| 久久久久久尹人网香蕉| 亚洲精品在线看| 久久精品中文字幕一区| 国产精品毛片一区二区三区| 亚洲免费观看高清完整版在线观看| 欧美在线播放一区| 亚洲图片激情小说| 欧美精品久久一区二区| 亚洲黄色免费| 欧美福利视频在线| 毛片基地黄久久久久久天堂| 国语精品一区| 久久久精品视频成人| 亚洲欧美激情一区二区| 欧美午夜一区二区| 亚洲一区二区视频| 亚洲一区二区三区高清| 国产精品国产精品国产专区不蜜| 亚洲精品乱码久久久久久蜜桃麻豆| 久久人人97超碰国产公开结果| 午夜欧美精品| 国内精品写真在线观看| 嫩草伊人久久精品少妇av杨幂| 久久国产主播精品| 亚洲电影免费在线| 亚洲国产精品一区二区第一页| 免费不卡在线观看| 亚洲美女av在线播放| 亚洲精品欧美一区二区三区| 欧美日韩高清免费| 午夜性色一区二区三区免费视频| 亚洲欧美不卡| 激情视频一区| 亚洲欧洲精品天堂一级| 欧美视频在线观看视频极品| 性欧美长视频| 久久男女视频| 国产一区二区三区丝袜| 国产精品国产三级国产普通话三级 | 亚洲视频一区二区免费在线观看| 国产精品播放| 久久精品国产999大香线蕉| 久久精品成人| 91久久在线| 9人人澡人人爽人人精品| 国产精品自在欧美一区| 欧美成年人在线观看| 欧美日韩黄色一区二区| 欧美亚洲视频在线看网址| 久久久成人精品| 一区二区av| 久久精品国产免费看久久精品| 亚洲乱码国产乱码精品精| 亚洲一区二区三区四区中文 | 宅男噜噜噜66一区二区66| 亚洲欧美影院| 亚洲美女精品一区| 亚洲一区视频| 亚洲欧洲日本一区二区三区| 亚洲视频免费观看| 亚洲欧洲一区二区在线观看| 亚洲天堂av电影| 亚洲精品在线视频观看| 午夜在线电影亚洲一区| 一区二区欧美日韩| 久久天天躁夜夜躁狠狠躁2022 | 蜜臀久久99精品久久久久久9 | 在线成人性视频| 一区二区三区免费看| 亚洲高清在线观看一区| 亚洲免费一级电影| 亚洲视频在线一区| 农村妇女精品| 久久久www免费人成黑人精品| 欧美激情欧美激情在线五月| 久久人91精品久久久久久不卡| 欧美午夜www高清视频| 亚洲福利视频免费观看| 黄色一区二区在线观看| 亚洲自拍三区| 午夜激情综合网| 欧美亚洲成人网| a91a精品视频在线观看| 99视频日韩| 欧美乱人伦中文字幕在线| 亚洲电影激情视频网站| 亚洲动漫精品| 久久久亚洲影院你懂的| 亚洲一区二区久久| 久久综合给合| 在线亚洲自拍| 在线成人激情视频| 欧美一乱一性一交一视频| 精品二区视频| 欧美一区=区| 亚洲愉拍自拍另类高清精品| 女女同性精品视频| 美女精品国产| 国产一区自拍视频| 亚洲欧美日韩视频二区| 国产精品99久久久久久白浆小说| 久久综合久久综合久久| 麻豆精品在线视频| 影音先锋中文字幕一区| 久久精品综合| 老巨人导航500精品| 狠狠操狠狠色综合网| 久久精品国产清高在天天线 | 欧美一区二区三区免费在线看| 欧美伦理a级免费电影| 亚洲理论电影网| 亚洲午夜电影网| 国产美女在线精品免费观看| 久久国产黑丝| 91久久国产精品91久久性色| 亚洲精品久久久久久一区二区| 欧美国产成人在线| 在线视频亚洲欧美| 欧美在线亚洲一区| 精品不卡一区| 欧美精品国产一区| 亚洲永久免费视频| 欧美风情在线观看| 亚洲一区二区三区在线播放| 国产在线精品自拍| 欧美福利视频在线观看| 一本色道久久综合亚洲精品小说 | 欧美国产第一页| 亚洲深夜av| 美女日韩欧美| 亚洲桃色在线一区| 国产主播一区二区三区四区| 欧美精品久久久久久久久久| 亚洲欧美在线播放| 欧美国产专区| 久久成人18免费网站| 亚洲精品美女免费| 国产精品亚洲成人| 免费成人性网站| 亚洲欧美精品在线| 亚洲国产另类 国产精品国产免费| 亚洲综合色婷婷| 在线观看一区视频| 国产精品久久婷婷六月丁香| 蜜臀av国产精品久久久久| 亚洲在线不卡| 亚洲级视频在线观看免费1级| 性久久久久久久| 日韩一区二区久久| 在线播放日韩| 久久久噜噜噜久久狠狠50岁| 国产精品一区二区久久国产| 欧美a级片网站| 久久国产主播精品| 亚洲影院污污.| 国产精品99久久久久久久久久久久 | 一区二区三区免费在线观看|