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