《【安全課件】第18講--序列密碼的編碼層次》由會(huì)員分享,可在線閱讀,更多相關(guān)《【安全課件】第18講--序列密碼的編碼層次(18頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、1序列密碼的編碼層次序列密碼的編碼層次一、編碼層次一、編碼層次前饋邏輯、時(shí)序邏輯、篩選邏輯和控制邏輯前饋邏輯、時(shí)序邏輯、篩選邏輯和控制邏輯(一)前饋邏輯(一)前饋邏輯 主要由初始亂源發(fā)生器主要由初始亂源發(fā)生器( (線性或非線性的反線性或非線性的反饋移位寄存器等饋移位寄存器等),),抽頭的變換以及前饋函數(shù)三部抽頭的變換以及前饋函數(shù)三部分組成。分組成。2bFSR1l2lrl ( )f x1 1、初始亂源發(fā)生器、初始亂源發(fā)生器:為前饋函數(shù)f(x)提供具有良好統(tǒng)計(jì)特性的輸入序列。在應(yīng)用中,以線性反饋移位寄存器作為初始亂源線性反饋移位寄存器作為初始亂源發(fā)生器是最常見的發(fā)生器是最常見的,給一個(gè)n級(jí)本原線性
2、移存器注入n比特初態(tài),便可以產(chǎn)生周期為2n-1的二元序列, “代價(jià)”是非常低的, 但低廉的代價(jià),同時(shí)也導(dǎo)致了序列比特間“強(qiáng)烈的”線性制約關(guān)系, 對(duì)于n級(jí)本原移存器只需截收到2n個(gè)連續(xù)信號(hào)就可求出唯一解。因此它不能直接作為密鑰不能直接作為密鑰(亂數(shù)亂數(shù))輸出使用輸出使用。利用非線性前饋函數(shù)f(x)就可以“破壞”這種線性制約性,起到提高序列線性復(fù)雜度的作用。32 2、抽頭變換、抽頭變換:3 3、前饋函數(shù)、前饋函數(shù): r r 個(gè)抽頭個(gè)抽頭l1 1, ,l2 2,lr r作為前饋函數(shù)作為前饋函數(shù)f(x)的輸入的輸入, ,它可它可以由密鑰因素來控制以由密鑰因素來控制, ,起到增加密鑰變化量的作用起到增加
3、密鑰變化量的作用, ,它它與前饋函數(shù)一起構(gòu)成一個(gè)前饋網(wǎng)絡(luò)。與前饋函數(shù)一起構(gòu)成一個(gè)前饋網(wǎng)絡(luò)。 前饋函數(shù)f(x)是一個(gè)非線性布爾函數(shù)或多輸出的非線性布非線性布爾函數(shù)或多輸出的非線性布爾函數(shù)爾函數(shù) ,它一方面“破壞”輸入序列連續(xù)比特的線性制約關(guān)系,即提高輸入序列的線性復(fù)雜度;另一方面, f(x)又不能破壞輸入序列良好的偽隨機(jī)特性,同時(shí)還要考慮到輸入信息在輸出序列中的泄漏。 非線性變換應(yīng)滿足非線性變換應(yīng)滿足:能將能將LFSR序列的良好統(tǒng)計(jì)特性傳遞序列的良好統(tǒng)計(jì)特性傳遞給所生成的密鑰序列,使輸出序列的周期足夠大;輸出序列給所生成的密鑰序列,使輸出序列的周期足夠大;輸出序列能抗線性逼近,且不能泄露能抗線性
4、逼近,且不能泄露LFSR的結(jié)構(gòu)和狀態(tài)。的結(jié)構(gòu)和狀態(tài)。4(二)、時(shí)序邏輯(二)、時(shí)序邏輯 時(shí)序邏輯是一種有記憶變換,使輸出不僅與當(dāng)前時(shí)刻的輸入因素有關(guān),而且與以前時(shí)刻的輸入和輸出因素有關(guān),從而實(shí)現(xiàn)輸入信息的縱向擴(kuò)散。1 1、累加器變換、累加器變換輸入為: ;輸出為:累加器變換定義為: ;且123 ,aa a a123 ,bb b b1iiimma,1,2,iibm i可以看出:30123bmaaa2012bmaa101bma52 2、實(shí)數(shù)和序列、實(shí)數(shù)和序列( (R.RueppelR.Rueppel于于19851985年提出年提出) )1()iiiiiiiiiizabssabab s設(shè)輸入序列為a
5、、b,定義實(shí)數(shù)和序列z如下:其中s稱為進(jìn)位序列,假設(shè) 。10s 3333332212 11 1 2zabsaba ba a babb2222221 1zabsaba b111zab則 實(shí)數(shù)和序列實(shí)現(xiàn)數(shù)據(jù)的由低位向高位的擴(kuò)散實(shí)現(xiàn)數(shù)據(jù)的由低位向高位的擴(kuò)散,即高位不僅受當(dāng)前輸入的影響,而且受以前輸入的影響。6Macb3 3、 調(diào)換存儲(chǔ)變換調(diào)換存儲(chǔ)變換 調(diào)換存儲(chǔ)區(qū)M包含 個(gè)存儲(chǔ)單元,a是輸入序列,b是輸出序列,c是k路控制序列。2k工作過程如下: 在第i時(shí)刻,由序列c的k比特確定M中存儲(chǔ)單元的地址,從該地址中讀出的數(shù)據(jù)即為輸出,然后把a(bǔ)中相應(yīng)的值置入該存儲(chǔ)單元中。7(三)、篩選邏輯(三)、篩選邏輯 篩
6、選邏輯的作用就是破壞二元序列比特間的跟隨關(guān)系,增加算法的復(fù)雜性。自控采樣自控采樣:就是控制序列對(duì)其自身進(jìn)行采樣,當(dāng)它的某一位為1時(shí),走兩步輸出;為0時(shí),走一步輸出。例如:控制序列為:11111000110111010100001001.得到的輸出序列為:1 1 1 001 01 1 1 1 0001 01.8(四)、控制邏輯(四)、控制邏輯 作用:控制算法中的各個(gè)編碼環(huán)節(jié),例如控制源移存器的不等距采樣、抽頭位置的選取、前饋函數(shù)的選擇等??刂七壿嫳旧磉€起到了增加密鑰變化量,提高算法復(fù)雜性的作用。9 模擬的序列密碼算法模擬的序列密碼算法注:注:所謂n階拉丁方陣階拉丁方陣,是一個(gè)僅含有n個(gè)不同元素的
7、方陣,且方陣的每行和每列正好包括每個(gè)元素各一次。 s線性移存器cLLo源移存器拉丁方Mgcicmcmcabb前饋函數(shù)前饋函數(shù)f(x)調(diào)換存儲(chǔ)調(diào)換存儲(chǔ)控制移存器控制移存器抽頭抽頭10 線性移位寄存器線性移位寄存器L-c是控制移存器是控制移存器,抽頭抽頭c-g控制源移存器控制源移存器L-o的動(dòng)作的動(dòng)作,如c-g為0時(shí),L-o走一步輸出;為1時(shí)走兩步輸出。抽抽頭頭c-i控制從源移存器的抽頭控制從源移存器的抽頭,即前饋函數(shù)f(x)的輸入,如c-i為0時(shí)取L-o的第1,3,5,7,.位置上的抽頭;為1時(shí)取L-o的第2,4,6,8,.位置上的抽頭。 a為前饋函數(shù)f(x)的輸出序列(若干路),它與L-c的輸
8、出序列c-m(若干路)通過拉丁方變換得到序列c-m ,以它作為調(diào)換存儲(chǔ)M的地址序列。b序列即為最后的輸出序列(密鑰序列)。 上圖中,從線性控制移存器L-c抽出的各抽頭序列,起到了控制作用,屬于控制邏輯;源移存器L-o、抽頭s以及前饋函數(shù)f(x)構(gòu)成前饋邏輯;調(diào)換存儲(chǔ)M起到了打亂序列時(shí)序的作用,屬于時(shí)序邏輯;從L-c抽出的抽頭c-g控制源移存器L-o的動(dòng)作,對(duì)其產(chǎn)生的序列進(jìn)行不等距采樣,屬于篩選邏輯。11191817141( )1fxxxxx22212( )1fxxx23222183( )1fxxxxx1754( )1fxxx121314LFSR1LFSR2LFSR3鐘控b191817141( )1f xxxxx22212( )1fxxx23222183( )1fxxxxx151617vP1216.1,6.2,6.6v作業(yè)文檔中的題目18