国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品
電子工程網
標題:
HotWC3與DES加密算法之比較
[打印本頁]
作者:
hotpower
時間:
2009-7-21 19:31
標題:
HotWC3與DES加密算法之比較
本帖最后由 hotpower 于 2009-7-22 21:35 編輯
HotWC3與DES加密算法之比較
DES是上世紀70年代由IBM發明后被作為美國數據加密標準。HotWC3是中國的一位不懂數學的老菜農
的開心之作,以下簡稱為WC3加密算法。
1.加密體系歸屬
DES屬于分組加密法,WC3屬于流加密法。
DES分組為64位,即每次加密需要8個字節。
WC3內核采用CRC8算法,故分組為8位,即每次加密只需要1個字節。
DES為固定分組,WC3可根據內核的變化得到不同的分組數據位數。
例WC3采用CRC64時,分組也隨之變為64位. 故WC3的分組位數由CRCn(n=4,8,12,16,32,64,128,...)決定。
2.密鑰長度
DES的密鑰長度為56位(64-8),WC3的密鑰長度與CRCn算法有關。
內核為CRC8的WC3密鑰長度為112位。以下所有對比將全部采用CRC8的WC3或WC38。
3.子密鑰的產生
DES主密鑰為56位,產生16輪每輪48位的子密鑰。用以和半組32位明文每輪的混淆。
WC3主密鑰為112位,產生結構對稱的8對密鑰流,其中1對各為32位密鑰流,其他都為8位密鑰流。
由于流密碼的原因,WC3的“輪”即為每次的加密和解密過程。每輪8對密鑰流以不同方式和方向環移不同的位數。
每輪參與直接作用的密鑰即為本輪的子密鑰。WC3每輪的子密鑰為72位。
4.算法的f函數
f函數是DES加密法中最重要的部分,其重點就是S盒。其次是擴展及壓縮置換。
CRC8正運算函數和CRC8逆運算函數是WC3密碼不可缺少的部分,它同時具備了S盒和擴展作用。
DES右半部分明文數據為32位,每輪子密鑰的長度為48位,且每個S盒位6入4出,8個S盒共需48位輸入,故必須將明文
擴展到48位才能與子密鑰混淆,進入S盒進行非線性置換。
DES的32位明文經過擴展置換后為48位,原明文的一半即16位與密鑰中的16位作用,原明文的另一半16位要同32位
密鑰作用。
DES的S盒實際類同CRC4,它與CRC4同屬于0~15全排列表即16!=20922789888000個表。
用矩陣的行列表示為15!行16列,即DES和CRC4的S盒“祖宗”是個1307674368000行16列的矩陣。
每個S盒為4行16列,8個S盒也不過32行16列。
CRC4每個CRC權對應1個S盒,共16個S盒,每個S盒為16*16的矩陣,共256行16列,是DES的S盒的8倍。
WC3的S盒就是CRC8,每個CRC權對應1個S盒,共256個S盒,每個S盒為256*256的矩陣,共65536行256列。
DES的擴展置換實際是明文1個字節擴展半字節即擴展0.5倍,WC3采用明文與初值組合擴展256倍的方法。
DES的壓縮置換實際所有S盒4*8=32位出口的32位置換即交換,所謂壓縮是指S盒的48位入32位出的結果。
同理WC3在CRC8出入的關系是(8位明文+8位初值+8位權)24入8出(8位密文),實際也是所謂的壓縮。
DES的S盒和CRC的S盒的根本區別在于前者是所謂的“非線性”即不好用函數表述及實現,后者可用函數表述和實現。
5.算法的實現過程
DES和WC3都是對稱密碼體系,即加密和解密共用同一密鑰。
DES的加密和解密算法相同,不同的是子密鑰每輪次序的不同。
WC3的加密和解密算法不同,子密鑰流每輪次序相同。
WC3的加密過程為CRC8的正運算函數即CRC8編碼矩陣的查表過程。(對稱矩陣)
WC3的解密過程為CRC8的逆運算函數即CRC8解碼矩陣的查表過程。(非對稱矩陣)
6.安全性
DES設計壽命為10年,但至今還在沿用,說明它設計的合理,雖然S盒之謎留有遺憾。
每個密碼設計者都想使自己設計的密碼不可破解,當然這都是設計者本人的最大愿望。每個成熟的密碼
體系都要承受密碼分析學中的各種攻擊方法。
WC3的防護設計主要在兩個被攻擊的部位:密鑰流和加密算法。
與DES一樣,WC3也有弱密鑰和半弱密鑰之分。站在流加密法的角度,可認為是密鑰流偽周期固定且遠遠小于
明文流或密文流的長度。弱密鑰和半弱密鑰會大大降低密碼的安全強度。
WC3用適當的初始密鑰置換以降低此現象的發生概率,即用三角變換和星期及天干地支變換。故各自密鑰流
的命名也隨之而生。W(星期)C(CRC)3(三角)也由此而來。
密鑰流的設計考慮了軟硬件的實現和使用者對結構理解的簡潔,只采用了一般簡單的環移。為達到密鑰流
的偽隨機周期最大,采用了各個子密鑰流不同的環移互控方式。
在三角密鑰流即CRC初值密鑰流和CRC權值密鑰流設計上,采用交叉反序環移,雖然它和整體一個字(兩字節)
環移對密鑰的流動一樣,但反序會造成逆向分析的難度。
多對密鑰流同時保護WC3的重點CRC權以阻止對CRC8內核算法的攻擊。即阻止攻擊CRC編碼表。
日期和用戶密鑰流各為32位,由天地和星期流控制不同的移位次數,同時它們又反控其他密鑰流的移動。
天地和星期流除控制其他密鑰流的移動外還監視明文流和密文流的變化。阻止利用差分攻擊以及基于明文
和密文的攻擊。
擴展密鑰流主要隔離明文流和密文流和CRC8內核的直接聯系,阻止選擇明文的攻擊。
總之WC3的安全性在于密鑰流的偽隨機周期的長度和對CRC權值和方向的混淆。
7.對比總結
DES已應用30多個年頭,它是分組密碼設計的典范,尤其是其神秘的S盒傾倒了無數個分組密碼設計者。
WC3雖然屬于流密碼,本應該把重點放到密鑰流的偽隨機周期設計上面。DES的S盒之謎使WC3設計者本人
倍感興趣,它的左右分組結構非常清晰,故WC3的設計中DES的烙印很深。
從WC3的框架結構可以看出:
選擇CRC做WC3的內核算法后大大區別的以往的流密碼設計,CRC的初值和權滿足了WC3的左右對稱結構。
使本應該一路的密鑰流分成2個密鑰支流,這無形中加倍了密鑰的長度,增強了密碼體系的安全強度。
同時也了結了擁有S盒的夢想,雖然它是個“線性”的S盒,但它的矩(巨)陣和“多入口參數”可以彌補不是
“非線性”的遺憾,同時CRC的“線性S盒”也虛擬地造就了CRC擁有海量的CRC編解碼矩陣表格。
總之HotWC3是個密鑰位數及核算法可以隨意升降級別的流加密體系,它設計特點獨到,不隨大流。
HotWC3的設計原則:“各行其道、密鑰混淆、算法擴散”。它的安全性需要時間的考驗和專家的論證。
8.展望
菜農不圖謀什么,只要“曾經擁有”。是的,我做了,做到了。用心了,心用了。
密碼就是要被破解的,有人去破解,而且破解了,對于密碼的設計者不是遺憾而是“光榮和榮耀”~~~
因為他的“密碼”曾有無數人的關注和為之付出的努力,總比沒人重視要強百倍~~~
菜農此生在MCU方面不知“扒光”了多少程序設計者的“衣裳”,每次都向他“默默地致敬”~~~
菜農也等著有人向俺“默默地致敬”~~~
菜農
HotPower@126.com
2009.7.21 于西安雁塔菜地
點擊直接運行:
112位HotWC3/CRC通用網上演算器V2.19
作者:
宇宙飛船
時間:
2009-7-21 23:24
老農還沒有醒來?小心把電工們帶進胡同里去!俺費了那么多口水,褲子都不給俺穿一條!
作者:
宇宙飛船
時間:
2009-7-21 23:42
//WC3內核采用CRC8算法,故分組為8位,即每次加密只需要1個字節。
CRC的多項式產生的商只是
隨機數的一個子集
。
作者:
hotpower
時間:
2009-7-21 23:55
暈~~~傳統密碼只有分組之說,和什么多項式和隨機數扯不上。
作者:
宇宙飛船
時間:
2009-7-22 12:22
老農搞了這么多年的MCU編程,花了那么多的心血研究一些被誤認為是很牛皮的東東,竟連一條公式也沒能總結出來,還被那些眼高手低的理論家牽著鼻子走!真懷凝老農是否屬電工行列!
有時不得不嘆惜一下,搞技術還是需要一點天份的!
作者:
粉絲
時間:
2009-7-22 12:38
//----WC3內核采用CRC8算法,故分組為8位,即每次加密只需要1個字節。
CRC只要初中一年級的數學知識,看來老農至力于研究初級的算法,非把基礎打牢不可!
老夫不得不佩服!
作者:
賣西瓜
時間:
2009-7-22 13:38
樓上你初中一年級的數學也太厲害了吧
作者:
潛艇8421
時間:
2009-7-22 14:32
多項式除法的確是初中一年級第二學期學的,老農大可以考證一下老版本的初中數學課本(新版的俺不清楚)。
作者:
phoenixmy
時間:
2009-7-22 17:46
應該出個題目,看看誰能破解了這個算法
光在這里聽一些人磨嘴皮子,沒啥用處,浪費時間,呵呵
作者:
hotpower
時間:
2009-7-22 20:20
本帖最后由 hotpower 于 2009-7-22 20:38 編輯
知道“CRC長除法”算是“進步”,可惜“CRC長除法”只是菜農
說的“CRC”初值為0的特例。
俺把CRC已“升華”到CRC編解碼矩陣的時代。
http://blog.ednchina.com/hotpower/244919/message.aspx
#
數學上的CRC和菜農說的有些離譜,不信查些資料去~~~
中學的CRC有4個參數嗎???
我記得長除法好像只有2個~~~
http://www.gotop.com.tw/waweb2004/htm/correct/AEB001800/AEB001800.pdf
crc4.gif
用下面的,設置:CRC4,初值=0,權=9,輸入=D0F 結果看和上面一樣否???
http://www.hotc51.com/HotPower_HotWC3.html
若初值變一個,如何長除法???
估計這個中學老師沒教過吧~~~
作者:
宇宙飛船
時間:
2009-7-22 21:32
取三位CRC余值只有8種不同的數據輸出映射,離2^112次方差太遠了!
作者:
宇宙飛船
時間:
2009-7-22 22:44
用CR4 只要用16次掃描就能破解,CRC8也就是掃描256次就能破解!
要么在程序中固定多項式?要么就動態傳送多項式?老農說過算法公開,那就是講多項式已知!
那怎么加密?還有加密的必要嗎?
作者:
hotpower
時間:
2009-7-22 22:51
本帖最后由 hotpower 于 2009-7-22 23:00 編輯
算法公開,多項式卻是密鑰的一部分。飛船你理解的CRC是現在大家從數學中學的。
菜農說的CRC比其強大的多~~~
作者:
宇宙飛船
時間:
2009-7-22 23:23
//多項式卻是密鑰的一部分。
只要是搞MCU的電工,對CRC都不會陌生。多項式選4位--CRC4,別人只要窮舉16次就能破解,也就是說要達到窮舉2^112次方,多項式必然達到112位。
總共才112位的空間,多項式占完了,那待加密的數據放在哪?
作者:
xwj
時間:
2009-7-23 07:49
頂!
雖然俺沒時間看
作者:
一朝成名
時間:
2009-7-23 09:20
頂!
雖然俺沒時間看
xwj 發表于 2009-7-23 07:49
丫,老x出現了,不容易阿~
作者:
hotpower
時間:
2009-7-23 18:17
暈,建議你先看看“流密碼”的工作原理。
作者:
宇宙飛船
時間:
2009-7-24 02:08
老農又想對俺下迷藥了,俺是百毒不侵的。
別支開話題了,你還沒能自完其說那有可能占據了112位的多項式是怎么傳送的????
你最好想清楚再說,別露出馬腳讓俺有機會攻擊!
俺非得把把老農咂得再嘔吐多一次不可!
作者:
hotpower
時間:
2009-7-24 10:08
飛船你實在“無藥可醫”~~~
好好玩玩“演算器”,把密鑰改幾位試試便知。
再框圖畫的很清晰。只要密鑰流“無規則滾動”,就可造就千百萬個不重復的“密鑰流”。
作者:
宇宙飛船
時間:
2009-7-24 12:49
//---發表于 7 天前 22:25 | 只看該作者 老HOT
//---所以好的密碼系統必須要通過基于明文或密文等數十種方法的攻擊的~~~
//---算法不公開就不配成為“密碼”~~~
老農不要自打嘴吧喲,你看你先前下的迷藥多么的牛皮!
那好,俺現在就把“1234”輸入到你的算法去,出來的肯定是一般人不能識別的一堆亂碼。
假若你是基于CRC4的,俺只要窮舉CRC多項式1--->16 次。就能還原出 “1234” 來
假若你是基于CRC4*CRC8 , 俺只要窮舉多項式的次數16*256 次就能還原來。
跟2^112 次方差多少了????這么簡單的邏輯老農還在鉆啊???真搞不懂!!!
作者:
hotpower
時間:
2009-7-26 10:56
本帖最后由 hotpower 于 2009-7-26 10:59 編輯
拜托了,CRC8密鑰為65536個,CRC4密鑰為256個
HotWC3弱密鑰的解決方案
根據CRC可逆性質,CRC權值必須滿足:
右移CRC時,最高位為1,左移CRC時,最低位為1.
這在CRC的(本原)多項式中肯定是滿足的,但要作為CRC密鑰的一部分可能不會滿足。
因為CRC密鑰流是偽隨機在發生變化的,不能保證其可逆之條件。
列出CRC4權值及變換后的結果:
權值:0 1 2 3 4 5 6 7 8 9 A B C D E F(未變換前)
右移:8 9 A B C D E F 8 9 A B C D E F
左移:1 1 3 3 5 5 7 7 9 9 B B D D F F
可以看出:
0, 2, 4, 6從未用過,即最高位和最低位全為0的4個數據從未使用過。
而與之對應的最高位和最低位全為1的4個數據:
0+9=9,2+9=B,4+9=D,6+9=F在運算中替代了它們的作用。
其他數據在每個方向只用2次,而9,B,D,F卻用了4次。且同時出現在兩個矩陣中。
CRC權變換類似于DES的S盒入口前的擴展變換,但是在CRC運算前做壓縮置換。
壓縮置換是單向不可逆的,即權只使用了12個數,無法方向推出原先的數。
從CRC4編解碼矩陣中可以看出:
CRC編碼矩陣(權和方向已確定)為對稱矩陣,即行(初值)列(明文)可以交換。
其主對角線上的元素為0,即矩陣行列相等時元素為0,
也就是CRC最常用的一個特性---初值=明文時,密文=0.
再有一個很有趣的現象:
當右移CRC4,權值=0或8,或左移CRC4,權值=0或1時,CRC4編解碼矩陣相等。
即都是對稱矩陣。
在CRC編碼中,行=初值,列=明文,元素=密文,行列可以交換
在CRC解碼中,行=初值,列=密文,元素=明文,行列可以交換
此時初值、明文、密文的關系可以隨意轉換,即:
初值=[明文,密文]=[密文,明文]
明文=[初值,密文]=[密文,初值]
密文=[初值,明文]=[明文,初值]
故HotWC3有三個弱密鑰0x00,0x01,0x80,它們公用一個CRC編解碼矩陣。
初值、明文、密文的關系很清晰,但無法知道哪個矩陣是真的矩陣。
所以CRC編解碼矩陣是單向不可逆的,即:
一對CRC編解碼矩陣對應唯一的陣內元素初值、明文、密文,
反之,給定初值、明文、密文,無法對應唯一的編解碼矩陣。
歡迎光臨 電子工程網 (http://m.qingdxww.cn/)
Powered by Discuz! X3.4
主站蜘蛛池模板:
欧美视频在线观看xxxx
|
掀开奶罩边躁狠狠躁软学生
|
爱人 qvod
|
国产人妻麻豆蜜桃色
|
免费夜里18款禁用软粉色
|
午夜国产一区在线观看
|
欧美成人香蕉在线观看
|
亚洲综合视频在线观看
|
日本道久久
|
天天射天天干天天插
|
日韩在线视频网
|
亚洲性大片
|
亚洲精品一二区
|
99爱在线精品视频免费观看9
|
国产精品亚洲第一区二区三区
|
99精品电影
|
色屁屁影院
|
亚洲精品日本高清中文字幕
|
欧美日韩在线成人免费
|
日本一道dvd在线播放
|
亚洲免费播放
|
亚洲国产剧情一区在线观看
|
青青草国产免费久久久91
|
亚洲精品高清视频
|
一诺女王视频vk
|
高h肉文合集
|
欧美精品AV无码一区二区
|
伊人影院网
|
欧美激情国产日韩精品一区18
|
四虎影院2022
|
私人在线影院
|
泽井芽衣在线精品视频
|
国产又黄又硬又粗
|
污污又黄又爽免费的网站
|
日韩一及片
|
日本黄又粗暴一进一出抽搐文
|
亚洲精品乱码中文字幕无线
|
又粗又大又黄又爽的免费视频
|
国产精品网红女主播久久久
|
亚洲日韩精品AV中文字幕
|
日本 韩国 三级 国产 欧美
|