專利名稱:數(shù)據(jù)變換裝置和數(shù)據(jù)變換方法
技術(shù)領(lǐng)域:
本發(fā)明涉及進(jìn)行數(shù)據(jù)的編碼或數(shù)據(jù)的譯碼的數(shù)據(jù)變換裝置及其方法。
背景技術(shù):
下面,說明關(guān)聯(lián)的技術(shù)。
圖56是關(guān)聯(lián)的數(shù)據(jù)變換裝置的結(jié)構(gòu)和動作圖。
如圖56所示,進(jìn)行塊編碼處理的數(shù)據(jù)變換裝置由密鑰生成部20和數(shù)據(jù)攪拌部30構(gòu)成。
密鑰生成部20是生成用于進(jìn)行數(shù)據(jù)的編碼/譯碼的密鑰生成部。
數(shù)據(jù)攪拌部30是把輸入的數(shù)據(jù)編碼或譯碼的部。
密鑰生成部20由中間密鑰生成部40和密鑰調(diào)度部210構(gòu)成。中間密鑰生成部40輸入編碼密鑰,從輸入的編碼密鑰生成中間密鑰(密鑰KL)和輸出密鑰(密鑰KA)。密鑰調(diào)度部210輸入由中間密鑰生成部40生成的中間密鑰(密鑰KL)和輸出密鑰(密鑰KA)(密鑰KLL、密鑰KLH、密鑰KAL、密鑰KAH),調(diào)度應(yīng)該從輸入的各密鑰向數(shù)據(jù)攪拌部30供給的密鑰。這樣,在密鑰生成部20中,通過中間密鑰生成部40和密鑰調(diào)度部210,進(jìn)行密鑰的生成和密鑰的調(diào)度。
在數(shù)據(jù)攪拌部30中,當(dāng)輸入P(普通數(shù)據(jù))時,進(jìn)行把數(shù)據(jù)編碼的數(shù)據(jù)變換,把變換的數(shù)據(jù)作為C(編碼數(shù)據(jù))輸出。此外,數(shù)據(jù)攪拌部30當(dāng)輸入了P(編碼數(shù)據(jù))時,進(jìn)行把數(shù)據(jù)譯碼的數(shù)據(jù)變換,把變換的數(shù)據(jù)作為C(譯碼數(shù)據(jù))輸出。這樣,數(shù)據(jù)攪拌部30進(jìn)行數(shù)據(jù)的編碼處理和譯碼處理。
在數(shù)據(jù)攪拌部30中,主變換部320和副變換部330串聯(lián)。
主變換部320是進(jìn)行數(shù)據(jù)的非線性變換的部。即主變換部320具有1級或多級進(jìn)行數(shù)據(jù)的非線性變換的F函數(shù),或具有F函數(shù)的一部分,使用F函數(shù)或F函數(shù)的一部分,進(jìn)行數(shù)據(jù)的非線性變換。在圖57中,主變換部320具有1級以上的F函數(shù)。
副變換部330是具有進(jìn)行基于數(shù)據(jù)的線形變換的數(shù)據(jù)正變換部(FL)和進(jìn)行與數(shù)據(jù)正變換部(FL)相反的變換的數(shù)據(jù)逆變換部(FL-1)中的至少任意一個,并且根據(jù)輸入的密鑰,把使用數(shù)據(jù)正變換部(FL)或變換數(shù)據(jù)逆變換部(FL-1)輸入的數(shù)據(jù)進(jìn)行線性變換的部。
選擇器310是將主變換部320、副變換部330、P(普通數(shù)據(jù)或編碼數(shù)據(jù))和密鑰作為輸入信息,從輸入信號中選擇一個信號的選擇器。圖56所示的選擇器310具有三個將從4個輸入信號輸出一個輸出信號的4-1選擇器換算為從2個輸入信號選擇1個輸出信號的2-1選擇器。
運(yùn)算寄存器350是把作為主變換部320、副變換部330以及C(編碼數(shù)據(jù)或譯碼數(shù)據(jù))輸出的數(shù)據(jù)保持預(yù)定期間的存儲器。
這樣,在數(shù)據(jù)攪拌部30中,通過交替重復(fù)多次由主變換部320對輸入數(shù)據(jù)P(普通數(shù)據(jù)或編碼數(shù)據(jù))進(jìn)行非線性變換、由副變換部330進(jìn)行線性變換,來進(jìn)行數(shù)據(jù)的編碼/譯碼處理,并作為C(編碼數(shù)據(jù)或譯碼數(shù)據(jù))輸出。
下面,說明主變換部320的內(nèi)部結(jié)構(gòu)。
圖57是主變換部320的內(nèi)部結(jié)構(gòu)的一例。在圖57中,主變換部320由6個F函數(shù)部構(gòu)成。這里,如果假定F函數(shù)部由進(jìn)行一級的F函數(shù)處理的電路構(gòu)成,則在圖57所示的主變換部320中,進(jìn)行基于6級F函數(shù)的非線性數(shù)據(jù)變換處理。
關(guān)于6級F函數(shù)處理電路,主變換部320可以具有6個F函數(shù)處理電路,可以具有一個F函數(shù)處理電路,通過重復(fù)6次基于F函數(shù)的處理,進(jìn)行基于6級F函數(shù)的數(shù)據(jù)處理。
在主變換部320中,首先,輸入數(shù)據(jù)中被分割成的高位數(shù)據(jù)輸入到F函數(shù)部321a中。此外,也輸入由密鑰調(diào)度部210調(diào)度的密鑰1。在F函數(shù)部321a中,如上所述,使用密鑰對高位輸入數(shù)據(jù)進(jìn)行非線性變換。在EXOR電路322a中,取非線性變換的數(shù)據(jù)和低位輸入數(shù)據(jù)的異或。從EXOR電路322a輸出的數(shù)據(jù)成為F函數(shù)部321b的輸入數(shù)據(jù)。F函數(shù)部321b與F函數(shù)部321a同樣,進(jìn)行非線性變換處理,取由EXOR電路322b變換的數(shù)據(jù)和高位輸入數(shù)據(jù)的異或。從EXOR電路322b輸出的數(shù)據(jù)成為F函數(shù)部321c的輸入數(shù)據(jù)。這樣,由F函數(shù)部321b和EXOR電路322b、F函數(shù)部321c和EXOR電路322c、F函數(shù)部321d和EXOR電路322d、F函數(shù)部321e和EXOR電路322e、F函數(shù)部321f和EXOR電路322f進(jìn)行與基于F函數(shù)部321a和EXOR電路322a的處理同樣的處理。這樣,進(jìn)行6級(或重復(fù)6次)基于F函數(shù)部的數(shù)據(jù)的非線性變換后,輸出變換的數(shù)據(jù)。
這樣,把具有以下特性的非線性變換處理構(gòu)造稱作FEISTEL構(gòu)造輸入分割為高位數(shù)據(jù)和低位數(shù)據(jù)的數(shù)據(jù)中的任一個,把輸入的數(shù)據(jù)通過非線性進(jìn)行數(shù)據(jù)變換,輸出進(jìn)行數(shù)據(jù)變換的高位數(shù)據(jù)和低位數(shù)據(jù)的任一個,把輸出的高位數(shù)據(jù)和低位數(shù)據(jù)的數(shù)據(jù)的任一個與高位數(shù)據(jù)和低位數(shù)據(jù)的數(shù)據(jù)的另一方進(jìn)行異或運(yùn)算,通過切換輸出進(jìn)行異或運(yùn)算的數(shù)據(jù)、未輸入到所述F函數(shù)部的高位數(shù)據(jù)和低位數(shù)據(jù)的任意另一方,來切換輸出高位數(shù)據(jù)和低位數(shù)據(jù)。
作為把數(shù)據(jù)隨機(jī)化的代表性構(gòu)造,存在所述FEISTEL構(gòu)造和SPN(Substitution Permutation Network)構(gòu)造。具有SPN構(gòu)造的主變換部320在并行處理上優(yōu)異。而具有FEISTEL構(gòu)造的主變換部320在把硬件規(guī)模小型化上優(yōu)異。
須指出的是,SPN構(gòu)造象FEISTEL構(gòu)造那樣,不分割輸入數(shù)據(jù),具有重復(fù)由S層(非線性層)和P層(線形層)構(gòu)成的F函數(shù)的構(gòu)造。
說明副變換部330的內(nèi)部構(gòu)造。
圖58是表示構(gòu)成副變換部330的電路的圖。
圖58的副變換部330具有數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70。
在數(shù)據(jù)正變換部50中,取由AND電路54輸入的64位數(shù)據(jù)中的高位32位數(shù)據(jù)和密鑰1的邏輯積,循環(huán)左移1位,通過EXOR電路55取與輸入數(shù)據(jù)的低位32位的異或,把結(jié)果作為低位32位的輸出信號輸出,并且輸入到OR電路57中。在OR電路57中,取與密鑰2的邏輯或,通過EXOR電路56取與輸入數(shù)據(jù)的高位32位的異或,把結(jié)果作為高位32位的輸出信號輸出。這樣把64位的輸入數(shù)據(jù)進(jìn)行線性變換,作為64位的輸出信號輸出。
在數(shù)據(jù)逆變換部70中,取由OR電路74輸入的64位數(shù)據(jù)中的低位32位數(shù)據(jù)和密鑰3的邏輯或,通過EXOR電路75取與輸入數(shù)據(jù)的高位32位的異或,把結(jié)果作為高位32位的輸出信號輸出,并且輸入到AND電路77中。在AND電路77中,取與密鑰4的邏輯積,循環(huán)左移1位,通過EXOR電路76取與輸入數(shù)據(jù)的低位32位數(shù)據(jù)的異或,把結(jié)果作為低位32位的輸出信號輸出。這樣,通過數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70把64位輸入數(shù)據(jù)進(jìn)行線性變換,作為64位輸出信號輸出。須指出的是,從密鑰調(diào)度部210供給密鑰1~密鑰4。
圖59是表示作為副變換部330的另一例,共用數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70的電路的圖。
在圖59中,輸入切換數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70的切換信號,切換數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70。即在圖59所示的共用電路中,通過輸入切換信號,2-1選擇器99a切換輸入信號A和輸入信號E,2-1選擇器99b切換輸入信號C和輸入信號F。
首先,說明共用電路作為數(shù)據(jù)正變換部50工作的情形。
2-1選擇器99a從輸入信號E和輸入信號A中選擇輸入信號A,作為輸出信號B輸出,通過AND電路101取與密鑰1的邏輯積,循環(huán)左移1位后,通過EXOR電路91取與輸入數(shù)據(jù)的低位32位的異或,作為低位32位的輸出信號輸出,并且作為輸入信號C輸入到2-1選擇器99b。在2-1選擇器99b中,從輸入信號C和輸入信號F選擇輸入信號C,作為輸出信號D輸出。在OR電路92中取輸出信號D和密鑰2的邏輯或,通過EXOR電路92取與輸入數(shù)據(jù)的高位32位數(shù)據(jù)的異或,作為高位32位的輸出信號輸出。
下面,說明共用電路作為數(shù)據(jù)逆變換部70工作時的情形。
在2-1選擇器99b中,從輸入信號C和輸入信號F中選擇輸入信號F,作為輸出信號D輸出,通過OR電路92取與密鑰2的邏輯或,通過EXOR電路93取與輸入數(shù)據(jù)的高位32位的異或,作為高位32位的輸出信號輸出,并且作為輸入信號E輸入到2-1選擇器99a中。在2-1選擇器99a中,從輸入信號A和輸入信號E中選擇輸入信號E,作為輸出信號B輸出。在AND電路101中,取輸出信號B和密鑰1的邏輯或,循環(huán)左移1位后,通過EXOR電路91取與輸入數(shù)據(jù)的低位32位的異或,作為低位32位的輸出信號輸出。
圖60是表示對圖56所示的數(shù)據(jù)變換裝置,主變換部320具有處理未滿1級的F函數(shù)的1/2x(x≥1)F函數(shù)時的數(shù)據(jù)變換裝置的圖。
主變換部320在例如具有1/2F函數(shù)時,通過從主變換部320,經(jīng)過副變換部330、選擇器310和運(yùn)算寄存器350,到達(dá)主變換部320的路徑,進(jìn)行2周期的處理,能使通過F函數(shù)把數(shù)據(jù)進(jìn)行非線性變換的處理變?yōu)?次。為了進(jìn)行這樣的處理,在圖60所示的數(shù)據(jù)變換裝置中,與圖56所示的數(shù)據(jù)變換裝置比較,附加有從運(yùn)算寄存器350到選擇器310的路徑。
說明利用從運(yùn)算寄存器350到選擇器310的路徑的主變換部320的動作。
圖61就主變換部320的內(nèi)部結(jié)構(gòu)加以說明。
如圖61所示,主變換部320作為處理未滿1級的F函數(shù)的一例,由進(jìn)行1/2F函數(shù)處理的12級的F函數(shù)部(1/2F函數(shù))構(gòu)成。在圖61的主變換部320中,使用F函數(shù)部1321a、F函數(shù)部1321b、EXOR電路1322a和EXOR電路1322b,進(jìn)行使用圖57的主變換部320的數(shù)據(jù)變換。
在圖61的主變換部320中,首先說明第一級的處理。從高位輸入數(shù)據(jù)中分割的高位數(shù)據(jù)輸入到F函數(shù)部1321a中。此外,也輸入通過由密鑰調(diào)度部210調(diào)度的密鑰1的高位構(gòu)成的密鑰1H。F函數(shù)部1321a進(jìn)行使用密鑰1H的所述高位數(shù)據(jù)的非線性變換。變換的數(shù)據(jù)輸入到EXOR電路1322a中,與從低位輸入數(shù)據(jù)中分割的高位數(shù)據(jù)取異或。
從EXOR電路1322a輸出的數(shù)據(jù)在進(jìn)行EXOR電路1322b中的數(shù)據(jù)處理前,在運(yùn)算寄存器350中作為中間數(shù)據(jù)保持。
下面,說明第二級處理。從高位輸入數(shù)據(jù)中分割的低位數(shù)據(jù)被輸入到F函數(shù)部1321b中。此外,也輸入通過由密鑰調(diào)度部210調(diào)度的密鑰1的低位構(gòu)成的密鑰1L。F函數(shù)部1321b進(jìn)行使用密鑰1L的所述低位數(shù)據(jù)的非線性變換。變換的數(shù)據(jù)輸入到EXOR電路1322b中。
這里,產(chǎn)生把剛才保持在運(yùn)算寄存器350中的來自EXOR電路1322a的輸出數(shù)據(jù)即中間數(shù)據(jù)輸入到EXOR電路1322b中。因此,從運(yùn)算寄存器350到選擇器310的路徑成為必要。即通過使用從運(yùn)算寄存器350到選擇器310的路徑,能把保持在運(yùn)算寄存器350中的中間數(shù)據(jù)輸入到選擇器310中。選擇器310選擇輸入的中間數(shù)據(jù)。中間數(shù)據(jù)經(jīng)過運(yùn)算寄存器350輸入到主變換部320中,通過EXOR電路1322b取與F函數(shù)部1321b的輸出數(shù)據(jù)的異或。從EXOR電路1322b輸出的數(shù)據(jù)成為F函數(shù)部1321c的輸入數(shù)據(jù)。
這樣,與基于F函數(shù)部1321a、EXOR電路1322a、F函數(shù)部1321b、EXOR電路1322b的處理同樣的處理作為基于F函數(shù)部1321c、EXOR電路1322c、F函數(shù)部1321d、EXOR電路1322d的處理、基于F函數(shù)部1321e、EXOR電路1322e、F函數(shù)部1321f、EXOR電路1322f的處理、基于F函數(shù)部1321g、EXOR電路1322g、F函數(shù)部1321h、EXOR電路1322h的處理、基于F函數(shù)部1321i、EXOR電路1322i、F函數(shù)部1321j、EXOR電路1322j的處理、基于F函數(shù)部1321k、EXOR電路1322k、F函數(shù)部1321l、EXOR電路1322l的處理進(jìn)行。
在圖56和圖60所示的數(shù)據(jù)變換裝置中,密鑰生成部20為了生成在數(shù)據(jù)的編碼/譯碼中使用的密鑰,使用主變換部320的一部分和副變換部330的一部分。之所以在密鑰的生成中使用主變換部320的一部分和副變換部330的一部分是謀求數(shù)據(jù)變換裝置整體的小型化。
該密鑰生成動作的細(xì)節(jié)如后所述,但是為了使用主變換部320的一部分和副變換部330的一部分生成密鑰,如圖56所示,把從密鑰KL寄存器240輸出的中間密鑰(密鑰KL)輸入選擇器310中的路徑成為必要。因此,由于增加從密鑰KL寄存器240到選擇器310的路徑,阻礙了數(shù)據(jù)變換裝置的小型化。
此外,增加使用從密鑰KL寄存器240到選擇器310的路徑的對選擇器310的輸入信號數(shù),成為使構(gòu)成選擇器310的選擇器數(shù)增加的要因。因此,在這一點(diǎn)上,也阻礙數(shù)據(jù)變換裝置的小型化。
此外,如上所述,當(dāng)用多個周期進(jìn)行基于F函數(shù)的1次數(shù)據(jù)變換時,有必要把保持一定期間的中間數(shù)據(jù)輸入到主變換部320中。因此,由于增加從運(yùn)算寄存器350向選擇器310發(fā)送中間數(shù)據(jù)的路徑,阻礙數(shù)據(jù)變換裝置的小型化。
此外,因?yàn)槭褂脧倪\(yùn)算寄存器350到選擇器310的路徑的對選擇器310的輸入信號數(shù),所以成為使構(gòu)成選擇器310的選擇器數(shù)增加的要因。因此,在這一點(diǎn)上,也阻礙數(shù)據(jù)變換裝置的小型化。
在圖56和圖60所示的數(shù)據(jù)變換裝置的數(shù)據(jù)攪拌部30中,主變換部320和副變換部330串聯(lián)。因此,通過從主變換部320,經(jīng)副變換部330后,經(jīng)選擇器310,通過運(yùn)算寄存器350,回到主變換部320的路徑,唯一決定工作頻率,阻礙工作頻率的增加。因此,通過縮短用于數(shù)據(jù)攪拌部30中的數(shù)據(jù)處理的最大路徑,提高工作頻率,能大幅度提高處理速度。
此外,因?yàn)椴淮嬖诓煌ㄟ^主變換部320地把從選擇器310和運(yùn)算寄存器350輸出的數(shù)據(jù)輸入到副變換部330的路徑,所以無法靈活地應(yīng)對數(shù)據(jù)變換裝置的內(nèi)部結(jié)構(gòu)變更,在全體能進(jìn)行的動作中缺乏靈活性。
此外,如上所述,當(dāng)用多個周期進(jìn)行基于F函數(shù)的1次數(shù)據(jù)變換時,在1周期中成為變換對象的數(shù)據(jù)是輸入數(shù)據(jù)的一部分(1/2F函數(shù),輸入數(shù)據(jù)的1/2)。因此,有必要在數(shù)據(jù)攪拌部30中設(shè)置在運(yùn)算寄存器350中保持輸入數(shù)據(jù)的一部分變換數(shù)據(jù),在一定期間后向副變換部330發(fā)送的路徑,或在主變換部320中設(shè)置在一定期間后在主變換部320中傳送,向副變換部330發(fā)送的路徑。
當(dāng)使用圖59所示的數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70的共用電路時,A→B→C→D→E→B→C…的路徑相當(dāng)于環(huán)路。因此,在實(shí)際的電路中,由于切換信號的傳輸延遲差引起的紊亂、噪聲等的影響,需要下工夫,以免變成發(fā)射電路。此外,在具有所述環(huán)路(反饋環(huán)路)的電路中,邏輯合成工具無法對應(yīng),不能高效進(jìn)行邏輯合成。
本發(fā)明以數(shù)據(jù)變換裝置的小型化為目的。
此外,本發(fā)明以數(shù)據(jù)變換裝置的工作頻率的提高為目的。
發(fā)明內(nèi)容
本發(fā)明的一種數(shù)據(jù)變換裝置,輸入密鑰和數(shù)據(jù),并使用輸入的密鑰進(jìn)行輸入數(shù)據(jù)的編碼和數(shù)據(jù)的譯碼中的至少一種數(shù)據(jù)變換,其特征在于上述數(shù)據(jù)變換裝置具有對數(shù)據(jù)進(jìn)行變換的數(shù)據(jù)攪拌部、以及控制傳送信號的控制部,所述傳送信號指示傳送輸入的密鑰和輸入的數(shù)據(jù)中的任一個;其中所述控制部在傳送密鑰和數(shù)據(jù)中的任一個時,輸出傳送信號;所述數(shù)據(jù)攪拌部具有通過使用輸入的密鑰對數(shù)據(jù)進(jìn)行變換,至少進(jìn)行數(shù)據(jù)編碼和數(shù)據(jù)譯碼中的任一種數(shù)據(jù)變換,并且當(dāng)輸入由所述控制部輸出的傳送信號時,不進(jìn)行數(shù)據(jù)變換地傳送所輸入的密鑰和所輸入的數(shù)據(jù)中的任一個的副變換部。
所述數(shù)據(jù)攪拌部還具有輸入數(shù)據(jù),并對輸入的數(shù)據(jù)進(jìn)行非線性數(shù)據(jù)變換的主變換部;所述控制部在傳送數(shù)據(jù)時,輸出數(shù)據(jù)傳送信號作為傳送信號;所述副變換部輸入由所述控制部輸出的數(shù)據(jù)傳送信號和由所述主變換部進(jìn)行數(shù)據(jù)變換后的數(shù)據(jù),并按照輸入的數(shù)據(jù)傳送信號傳送輸入的數(shù)據(jù)。
所述數(shù)據(jù)變換裝置的其特征在于還具有生成密鑰的密鑰生成部;所述控制部在傳送密鑰時,輸出密鑰傳送信號作為傳送信號;所述副變換部輸入由所述控制部輸出的密鑰傳送信號和由所述密鑰生成部生成的密鑰,并按照輸入的密鑰傳送信號來傳送輸入的密鑰。
所述密鑰生成部還具有輸入編碼密鑰,并根據(jù)輸入的編碼密鑰生成中間密鑰的中間密鑰生成部;所述副變換部在輸入由所述控制部輸出的密鑰傳送信號時,按照輸入的密鑰傳送信號,把所述中間密鑰生成部生成的中間密鑰傳送給所述主變換部;所述主變換部重復(fù)變換輸出由所述副變換部傳送的中間密鑰的處理1次以上;所述副變換部重復(fù)變換輸出由所述主變換部輸出的中間密鑰的處理1次以上;所述主變換部和所述副變換部中的至少任一個重復(fù)變換輸出所述中間密鑰的處理1次以上;所述主變換部把由所述主變換部和所述副變換部中的至少任一個輸出的中間密鑰作為輸出密鑰輸出;所述中間密鑰生成部通過輸入由所述主變換部輸出的輸出密鑰,生成由中間密鑰和輸出密鑰構(gòu)成的擴(kuò)大密鑰。
所述中間密鑰生成部具有用于從輸入的6個密鑰中選擇1個密鑰的6-1KL選擇器、和把從6-1KL選擇器中選擇的一個密鑰作為中間密鑰保持的密鑰KL寄存器;所述6-1KL選擇器輸入編碼密鑰,并輸入由輸入的編碼密鑰、由所述密鑰KL寄存器保持的中間密鑰以及根據(jù)所述密鑰KL寄存器保持的中間密鑰以4個不同的移位數(shù)分別循環(huán)移位的4個密鑰構(gòu)成的6個密鑰,從輸入的6個密鑰中選擇1個密鑰;所述密鑰KL寄存器保持由所述6-1KL選擇器選擇的密鑰;所述副變換部在輸入從所述控制部輸出的密鑰傳送信號時,把保持在所述密鑰KL寄存器中的密鑰作為中間密鑰輸入,并傳送所輸入的中間密鑰。
所述中間密鑰生成部具有從輸入的4個密鑰中選擇1個密鑰的4-1選擇器、從輸入的3個密鑰中選擇1個密鑰的3-1KL選擇器、以及把從3-1KL選擇器選擇的一個密鑰作為中間密鑰保持的密鑰KL寄存器;所述4-1選擇器輸入根據(jù)由所述密鑰KL寄存器保持的中間密鑰以4個不同的移位數(shù)分別循環(huán)移位后的4個密鑰,并從輸入的4個密鑰中選擇一個密鑰;所述3-1KL選擇器輸入編碼密鑰,輸入由輸入的編碼密鑰、由所述4-1選擇器選擇的1個密鑰、保持在所述密鑰KL寄存器中的中間密鑰構(gòu)成的3個密鑰,并從輸入的3個密鑰中選擇1個密鑰;所述密鑰KL寄存器保持由所述3-1KL選擇器選擇的密鑰;所述副變換部在輸入從所述控制部輸出的密鑰傳送信號時,把保持在所述密鑰KL寄存器中的密鑰作為中間密鑰輸入,并傳送所輸入的中間密鑰。
所述副變換部具有進(jìn)行基于數(shù)據(jù)的線性的數(shù)據(jù)變換的數(shù)據(jù)正變換部(FL)、進(jìn)行與所述數(shù)據(jù)正變換部(FL)相反的數(shù)據(jù)變換的數(shù)據(jù)逆變換部(FL-1)中的至少任一個;所述數(shù)據(jù)正變換部(FL)和所述數(shù)據(jù)逆變換部(FL-1)中的至少任一個進(jìn)行數(shù)據(jù)變換,并且在所述控制部輸出傳送信號時,輸入所述控制部輸出的傳送信號,不進(jìn)行數(shù)據(jù)變換地按照輸入的傳送信號來傳送數(shù)據(jù)和密鑰中的至少任一個。
所述控制部輸出密鑰傳送信號即密鑰傳遞信號和掩碼信號作為傳送所輸入的密鑰的傳送信號;所述數(shù)據(jù)正變換部(FL)和所述數(shù)據(jù)逆變換部(FL-1)中的至少任一個在輸入了由所述控制部輸出的密鑰傳遞信號和掩碼信號時,通過根據(jù)輸入的密鑰傳遞信號而使輸入的數(shù)據(jù)無效,并且根據(jù)輸入的掩碼信號而使輸入的密鑰通過,來傳送密鑰。
所述控制部輸出數(shù)據(jù)傳送信號即數(shù)據(jù)傳遞信號作為傳送輸入的數(shù)據(jù)的傳送信號;所述數(shù)據(jù)正變換部(FL)和數(shù)據(jù)逆變換部(FL-1)中的至少任一個在輸入了由所述控制部輸出的數(shù)據(jù)傳遞信號時,通過根據(jù)輸入的數(shù)據(jù)傳遞信號而使輸入的密鑰無效,并且使輸入的數(shù)據(jù)通過,來傳送數(shù)據(jù)。
所述副變換部具有共用同一電路進(jìn)行執(zhí)行基于數(shù)據(jù)的線性的數(shù)據(jù)變換的數(shù)據(jù)正變換和執(zhí)行與所述正變換相反的數(shù)據(jù)變換的數(shù)據(jù)逆變換的1/2副變換部,通過1/2副變換部對數(shù)據(jù)進(jìn)行變換,并且在所述控制部輸出傳送信號時,輸入所述控制部輸出的傳送信號,并按照輸入的傳送信號,來傳送密鑰和數(shù)據(jù)中的至少任一個。
所述副變換部具有進(jìn)行基于數(shù)據(jù)的線性的數(shù)據(jù)變換的數(shù)據(jù)正變換部(FL)和進(jìn)行與所述正變換相反的數(shù)據(jù)變換的數(shù)據(jù)逆變換部(FL-1),所述數(shù)據(jù)正變換部(FL)和所述數(shù)據(jù)逆變換部(FL-1)串聯(lián)配置;所述數(shù)據(jù)正變換部(FL)和所述數(shù)據(jù)逆變換部(FL-1)中的任一個輸入由所述數(shù)據(jù)正變換部(FL)和所述數(shù)據(jù)逆變換部(FL-1)中的任一個進(jìn)行數(shù)據(jù)變換的數(shù)據(jù)、所傳送的密鑰、或所傳送的數(shù)據(jù)中的任一個,并使用所輸入的經(jīng)數(shù)據(jù)變換后的數(shù)據(jù)、所傳送的密鑰、或所傳送的數(shù)據(jù)中的任一個,來進(jìn)行數(shù)據(jù)變換、密鑰的傳送、數(shù)據(jù)的傳送中的任一種。
所述數(shù)據(jù)變換裝置的特征在于輸入128位、192位、或256位的任一密鑰,使用所輸入的密鑰,對所輸入的數(shù)據(jù)進(jìn)行數(shù)據(jù)變換。
本發(fā)明的一種數(shù)據(jù)變換方法,輸入密鑰和數(shù)據(jù),使用輸入的密鑰進(jìn)行對輸入的數(shù)據(jù)進(jìn)行編碼和數(shù)據(jù)譯碼中的至少一種數(shù)據(jù)變換,其特征在于當(dāng)傳送密鑰和數(shù)據(jù)中的任一個時,輸出用以指示傳送輸入的密鑰和輸入的數(shù)據(jù)中的任一個的傳送信號;通過使用輸入的密鑰對數(shù)據(jù)進(jìn)行變換,進(jìn)行數(shù)據(jù)編碼和數(shù)據(jù)譯碼中的至少任一種數(shù)據(jù)變換,并且在輸入所述輸出的傳送信號時,不進(jìn)行數(shù)據(jù)變換地傳送輸入的密鑰和輸入的數(shù)據(jù)中的至少任一個。
本發(fā)明的一種數(shù)據(jù)變換程序,輸入密鑰和數(shù)據(jù),使用輸入的密鑰進(jìn)行對輸入的數(shù)據(jù)進(jìn)行編碼和數(shù)據(jù)譯碼中的至少一種數(shù)據(jù)變換,其特征在于使計算機(jī)執(zhí)行以下處理當(dāng)傳送密鑰和數(shù)據(jù)中的任一個時,輸出用以指示傳送輸入的密鑰和輸入的數(shù)據(jù)中的任一個的傳送信號的處理;通過使用輸入的密鑰對數(shù)據(jù)進(jìn)行變換,進(jìn)行數(shù)據(jù)編碼和數(shù)據(jù)譯碼中的至少任一種數(shù)據(jù)變換,并且當(dāng)輸入所述輸出的傳送信號時,不進(jìn)行數(shù)據(jù)變換地傳送輸入的密鑰和輸入的數(shù)據(jù)中的至少任一個的處理。
在記錄本發(fā)明的數(shù)據(jù)變換程序的計算機(jī)可讀取記錄媒體中,該數(shù)據(jù)變換程序輸入密鑰和數(shù)據(jù),使用輸入的密鑰進(jìn)行輸入的數(shù)據(jù)的編碼和數(shù)據(jù)的譯碼中的至少任一種數(shù)據(jù)變換,其特征在于,使計算機(jī)執(zhí)行以下處理當(dāng)傳送密鑰和數(shù)據(jù)中的任一個時,輸出用以指示傳送輸入的密鑰和輸入的數(shù)據(jù)中的任一個的傳送信號的處理;通過使用輸入的密鑰對數(shù)據(jù)進(jìn)行變換,進(jìn)行數(shù)據(jù)編碼和數(shù)據(jù)譯碼中的至少任一種數(shù)據(jù)變換,并且當(dāng)輸入所述輸出的傳送信號時,不進(jìn)行數(shù)據(jù)變換地傳送輸入的密鑰和輸入的數(shù)據(jù)中的至少任一個的處理。
所述數(shù)據(jù)變換裝置的特征在于還具有生成密鑰的密鑰生成部;所述密鑰生成部還具有中間密鑰生成部,用于輸入編碼密鑰,根據(jù)輸入的編碼密鑰生成中間密鑰,根據(jù)生成的中間密鑰使用所述主變換部和所述副變換部生成輸出密鑰。
所述中間密鑰生成部具有輸入6個密鑰并從輸入的6個密鑰中選擇1個密鑰的6-1KL選擇器;把從所述6-1KL選擇器選擇的1個密鑰作為中間密鑰保持的密鑰KL寄存器;從6個密鑰中選擇1個密鑰的6-1KA選擇器;把由6-1KA選擇器選擇的1個密鑰作為輸出密鑰保持的密鑰KA寄存器;所述6-1KL選擇器輸入編碼密鑰,并輸入由所述輸入的編碼密鑰、由所述密鑰KL寄存器保持的中間密鑰、根據(jù)保持在所述密鑰KL寄存器中的中間密鑰以4個不同的移位數(shù)分別循環(huán)移位后的4個密鑰構(gòu)成的6個密鑰,從輸入的6個密鑰中選擇1個密鑰;
所述密鑰KL寄存器把由所述6-1KL選擇器選擇的密鑰作為中間密鑰保持;所述6-1KA選擇器輸入使用所述主變換部和所述副變換部生成的輸出密鑰,輸入由輸入的輸出密鑰、保持在所述密鑰KA寄存器中的輸出密鑰、根據(jù)保持在所述密鑰KA寄存器中的輸出密鑰以4個不同的移位數(shù)分別循環(huán)移位后的4個密鑰構(gòu)成的6個密鑰,從輸入的6個密鑰中選擇1個密鑰;所述密鑰KA寄存器把由所述6-1KA選擇器選擇的密鑰作為輸出密鑰保持。
所述中間密鑰生成部具有從2個密鑰中選擇1個密鑰的2-1選擇器、從4個密鑰中選擇1個密鑰的4-1選擇器、從3個密鑰中選擇1個密鑰的3-1KL選擇器、把由3-1KL選擇器選擇的密鑰作為中間密鑰保持的密鑰KL寄存器、從3個密鑰中選擇1個密鑰的3-1KA選擇器、把由3-1KA選擇器選擇的密鑰作為輸出密鑰保持的密鑰KA寄存器;所述2-1選擇器從保持在所述密鑰KL寄存器中的中間密鑰、保持在所述密鑰KA寄存器中的輸出密鑰中選擇1個密鑰;所述4-1選擇器輸入根據(jù)由所述2-1選擇器選擇的密鑰以4個不同的移位數(shù)分別循環(huán)移位后的4個密鑰,并從輸入的4個密鑰中選擇1個密鑰;所述3-1KL選擇器輸入編碼密鑰,輸入由輸入的編碼密鑰、由所述4-1選擇器選擇的密鑰、保持在所述密鑰KL寄存器中的中間密鑰構(gòu)成的3個密鑰,并從輸入的3個密鑰中選擇1個密鑰;所述密鑰KL寄存器把由所述3-1KL選擇器選擇的密鑰作為中間密鑰保持;所述3-1KA選擇器輸入使用所述主變換部和所述副變換部生成的輸出密鑰,輸入由輸入的輸出密鑰、所述4-1選擇器選擇的密鑰、保持在所述密鑰KA寄存器中的輸出密鑰構(gòu)成的3個密鑰,從輸入的3個密鑰中選擇1個密鑰;
所述密鑰KA寄存器把由所述3-1KA選擇器選擇的密鑰作為輸出密鑰保持。
所述中間密鑰生成部具有從2個密鑰中選擇1個密鑰的2-1KL選擇器、保持由2-1KL選擇器選擇的密鑰的密鑰KL寄存器、從2個密鑰中選擇1個密鑰的2-1KA選擇器、保持由2-1KA選擇器選擇的密鑰的密鑰KA寄存器、從2個密鑰中選擇1個密鑰的2-1選擇器、從8個密鑰中選擇1個密鑰的8-1選擇器;所述2-1KL選擇器輸入編碼密鑰,從輸入的編碼密鑰和保持在所述密鑰KL寄存器中的密鑰中選擇1個密鑰;所述2-1KA選擇器輸入使用所述主變換部和所述副變換部生成的輸出密鑰,從輸入的輸出密鑰和保持在所述密鑰KA寄存器中的密鑰中選擇1個密鑰;所述2-1選擇器從由所述2-1KL選擇器和所述2-1KA選擇器選擇的2個密鑰中選擇1個密鑰;所述8-1選擇器輸入根據(jù)所述2-1選擇器選擇的密鑰以8個不同的移位數(shù)分別循環(huán)移位后的8個密鑰,并從輸入的8個密鑰中選擇1個密鑰。
本發(fā)明的一種數(shù)據(jù)變換裝置,具有對數(shù)據(jù)進(jìn)行數(shù)據(jù)變換的數(shù)據(jù)攪拌部,其特征在于所述數(shù)據(jù)攪拌部并聯(lián)有輸入數(shù)據(jù)并對輸入的數(shù)據(jù)進(jìn)行非線性數(shù)據(jù)變換的主變換部、和對輸入的數(shù)據(jù)進(jìn)行線性數(shù)據(jù)變換的副變換部;所述主變換部輸入密鑰和數(shù)據(jù),使用輸入的密鑰,根據(jù)用于進(jìn)行非線性數(shù)據(jù)變換的函數(shù)即F函數(shù),對輸入的數(shù)據(jù)進(jìn)行非線性數(shù)據(jù)變換,并輸出非線性變換后的數(shù)據(jù);所述副變換部輸入密鑰和數(shù)據(jù),使用輸入的密鑰,對輸入的數(shù)據(jù)進(jìn)行線性變換,并輸出線性變換后的數(shù)據(jù);所述主變換部和所述副變換部通過反復(fù)進(jìn)行基于所述主變換部的數(shù)據(jù)變換和基于所述副變換部的數(shù)據(jù)變換,進(jìn)行數(shù)據(jù)的編碼和數(shù)據(jù)的譯碼中的至少一種數(shù)據(jù)變換。
所述主變換部具有F函數(shù)部,該F函數(shù)部多次重復(fù)使用輸入的密鑰、根據(jù)F函數(shù)對輸入的數(shù)據(jù)進(jìn)行非線性數(shù)據(jù)變換,并輸出數(shù)據(jù)變換后的數(shù)據(jù)的處理。
所述F函數(shù)部通過重復(fù)2X次使用輸入的密鑰、根據(jù)1/2XF函數(shù)(X≥0),對輸入的數(shù)據(jù)進(jìn)行非線性數(shù)據(jù)變換并輸出數(shù)據(jù)變換后的數(shù)據(jù)的處理,結(jié)束1次基于F函數(shù)的非線性數(shù)據(jù)變換并輸出結(jié)束的數(shù)據(jù),通過重復(fù)多次上述處理,進(jìn)行多次基于F函數(shù)的非線性數(shù)據(jù)變換。
所述F函數(shù)部輸入分割為高位數(shù)據(jù)和低位數(shù)據(jù)的數(shù)據(jù)的任一個,對輸入的數(shù)據(jù)進(jìn)行非線性數(shù)據(jù)變換,輸出數(shù)據(jù)變換后的高位數(shù)據(jù)和低位數(shù)據(jù)中的任一個,把輸出的高位數(shù)據(jù)和低位數(shù)據(jù)中的任一個與高位數(shù)據(jù)和低位數(shù)據(jù)中的另一個進(jìn)行異或運(yùn)算,切換輸出異或運(yùn)算后的數(shù)據(jù)、未輸入到所述F函數(shù)中的高位數(shù)據(jù)和低位數(shù)據(jù)中的另一個。
所述數(shù)據(jù)變換裝置的特征在于還具有生成密鑰的密鑰生成部;所述密鑰生成部具有中間密鑰生成部,輸入編碼密鑰,根據(jù)輸入的編碼密鑰生成中間密鑰,根據(jù)生成的中間密鑰、使用所述主變換部和所述副變換部生成輸出密鑰。
所述密鑰生成部還具有密鑰調(diào)度部,輸入由所述中間密鑰生成部生成的中間密鑰和預(yù)定常數(shù),根據(jù)輸入的中間密鑰、輸出密鑰和預(yù)定常數(shù)、按照預(yù)定條件調(diào)度在所述主變換部和所述副變換部進(jìn)行的數(shù)據(jù)變換中所使用的密鑰;所述主變換部和所述副變換部分別輸入由所述密鑰調(diào)度部調(diào)度的密鑰,并根據(jù)各自輸入的密鑰,對輸入到各自中的數(shù)據(jù)進(jìn)行數(shù)據(jù)變換。
所述中間密鑰生成部具有輸入6個密鑰并且從輸入的6個密鑰中選擇1個密鑰的6-1KL選擇器、把由所述6-1KL選擇器選擇的1個密鑰作為中間密鑰保持的密鑰KL寄存器、從6個密鑰中選擇1個密鑰的6-1KA選擇器、把由6-1KA選擇器選擇的1個密鑰作為輸出密鑰保持的密鑰KA寄存器;所述6-1KL選擇器輸入編碼密鑰,輸入由所述輸入的編碼密鑰、保持在所述密鑰KL寄存器中的中間密鑰、根據(jù)保持在所述密鑰KL寄存器中的中間密鑰以4個不同的移位數(shù)分別循環(huán)移位后的4個密鑰構(gòu)成的6個密鑰,并從輸入的6個密鑰中選擇1個密鑰;所述密鑰KL寄存器把由所述6-1KL選擇器選擇的密鑰作為中間密鑰保持;所述6-1KA選擇器輸入使用所述主變換部和所述副變換部生成的輸出密鑰,輸入由輸入的輸出密鑰、保持在所述密鑰KA寄存器中的輸出密鑰、根據(jù)保持在所述密鑰KA寄存器中的輸出密鑰以4個不同的移位數(shù)分別循環(huán)移位后的4個密鑰構(gòu)成的6個密鑰,并從輸入的6個密鑰中選擇1個密鑰;所述密鑰KA寄存器把由所述6-1KA選擇器選擇的密鑰作為輸出密鑰保持。
所述中間密鑰生成部具有從2個密鑰中選擇1個密鑰的2-1選擇器、從4個密鑰中選擇1個密鑰的4-1選擇器、從3個密鑰中選擇1個密鑰的3-1KL選擇器、把由3-1KL選擇器選擇的密鑰作為中間密鑰保持的密鑰KL寄存器、從3個密鑰中選擇1個密鑰的3-1KA選擇器、把由3-1KA選擇器選擇的密鑰作為輸出密鑰保持的密鑰KA寄存器;所述2-1選擇器從保持在所述密鑰KL寄存器中的中間密鑰、保持在所述密鑰KA寄存器中的輸出密鑰中選擇1個密鑰;所述4-1選擇器輸入根據(jù)由所述2-1選擇器選擇的密鑰以4個不同的移位數(shù)分別循環(huán)移位后的4個密鑰,并從輸入的4個密鑰中選擇1個密鑰;所述3-1KL選擇器輸入編碼密鑰,輸入由輸入的編碼密鑰、所述4-1選擇器選擇的密鑰、保持在所述密鑰KL寄存器中的中間密鑰構(gòu)成的3個密鑰,并從輸入的3個密鑰中選擇1個密鑰;所述密鑰KL寄存器把由所述3-1KL選擇器選擇的密鑰作為中間密鑰保持;所述3-1KA選擇器輸入使用所述主變換部和所述副變換部生成的輸出密鑰,輸入由輸入的輸出密鑰、所述4-1選擇器選擇的密鑰、保持在所述密鑰KA寄存器中的輸出密鑰構(gòu)成的3個密鑰,從輸入的3個密鑰中選擇1個密鑰;所述密鑰KA寄存器把由所述3-1KA選擇器選擇的密鑰作為輸出密鑰保持。
所述中間密鑰生成部具有從2個密鑰中選擇1個密鑰的2-1KL選擇器、保持由2-1KL選擇器選擇的密鑰的密鑰KL寄存器、從2個密鑰中選擇1個密鑰的2-1KA選擇器、保持由2-1KA選擇器選擇的密鑰的密鑰KA寄存器、從2個密鑰中選擇1個密鑰的2-1選擇器、從8個密鑰中選擇1個密鑰的8-1選擇器;所述2-1KL選擇器輸入編碼密鑰,并從輸入的編碼密鑰和保持在所述密鑰KL寄存器中的密鑰中選擇1個密鑰;所述2-1KA選擇器輸入使用所述主變換部和所述副變換部生成的輸出密鑰,從輸入的輸出密鑰和保持在所述密鑰KA寄存器中的密鑰中選擇1個密鑰;所述2-1選擇器從由所述2-1KL選擇器和所述2-1KA選擇器選擇的2個密鑰中選擇1個密鑰;所述8-1選擇器輸入根據(jù)所述2-1選擇器選擇的密鑰以8個不同的移位數(shù)分別循環(huán)移位后的8個密鑰,并從輸入的8個密鑰中選擇1個密鑰。
所述副變換部具有對數(shù)據(jù)進(jìn)行線性變換的數(shù)據(jù)正變換部(FL)和進(jìn)行與所述數(shù)據(jù)正變換部(FL)的變換相反的變換的數(shù)據(jù)逆變換部(FL-1)中的至少任一個,通過所述數(shù)據(jù)正變換部(FL)和所述數(shù)據(jù)逆變換部(FL-1)中的至少一個對數(shù)據(jù)進(jìn)行數(shù)據(jù)變換。
所述副變換部具有共用同一電路進(jìn)行對數(shù)據(jù)執(zhí)行線性變換的數(shù)據(jù)正變換和執(zhí)行與所述數(shù)據(jù)正變換相反的逆變換的數(shù)據(jù)逆變換的1/2副變換部,并通過1/2副變換部對數(shù)據(jù)進(jìn)行數(shù)據(jù)變換。
所述數(shù)據(jù)變換裝置的特征在于所述數(shù)據(jù)變換裝置輸入128位、192位或256位的任一密鑰,使用所輸入的密鑰,對輸入的數(shù)據(jù)進(jìn)行編碼和數(shù)據(jù)譯碼中的任一種數(shù)據(jù)變換。
本發(fā)明的一種數(shù)據(jù)變換方法,其特征在于通過重復(fù)進(jìn)行下述處理,進(jìn)行數(shù)據(jù)編碼和數(shù)據(jù)譯碼中的至少一種數(shù)據(jù)變換,其中所述處理包括通過與對數(shù)據(jù)進(jìn)行線性數(shù)據(jù)變換的副變換部并聯(lián)配置的、輸入密鑰和數(shù)據(jù),使用輸入的密鑰,根據(jù)用于進(jìn)行非線性數(shù)據(jù)變換的函數(shù)即F函數(shù),進(jìn)行非線性數(shù)據(jù)變換的主變換部,對輸入的數(shù)據(jù)進(jìn)行非線性數(shù)據(jù)變換,并輸出非線性變換后的數(shù)據(jù)的處理;輸入密鑰和數(shù)據(jù),使用輸入的密鑰,通過與所述主變換部并聯(lián)配置的所述副變換部,對輸入的數(shù)據(jù)進(jìn)行線性變換,并輸出線性變換的數(shù)據(jù)的處理。
本發(fā)明的一種數(shù)據(jù)變換程序,其特征在于使計算機(jī)執(zhí)行以下處理通過重復(fù)進(jìn)行下述處理,進(jìn)行數(shù)據(jù)編碼和數(shù)據(jù)譯碼中的至少一種數(shù)據(jù)變換,其中所述處理包括通過與對數(shù)據(jù)進(jìn)行線性數(shù)據(jù)變換的副變換部并聯(lián)配置的、輸入密鑰和數(shù)據(jù),使用輸入的密鑰,根據(jù)用于進(jìn)行非線性數(shù)據(jù)變換的函數(shù)即F函數(shù),進(jìn)行非線性數(shù)據(jù)變換的主變換部,對輸入的數(shù)據(jù)進(jìn)行非線性數(shù)據(jù)變換,并輸出非線性變換后的數(shù)據(jù)的處理;輸入密鑰和數(shù)據(jù),使用輸入的密鑰,通過與所述主變換部并聯(lián)配置的所述副變換部,對輸入的數(shù)據(jù)進(jìn)行線性變換,并輸出線性變換的數(shù)據(jù)的處理。
在記錄本發(fā)明的一種記錄了數(shù)據(jù)變換程序的計算機(jī)可讀取記錄媒體,該程序使計算機(jī)執(zhí)行以下處理通過重復(fù)進(jìn)行下述處理,進(jìn)行數(shù)據(jù)編碼和數(shù)據(jù)譯碼中的至少一種數(shù)據(jù)變換,其中所述處理包括通過與對數(shù)據(jù)進(jìn)行線性數(shù)據(jù)變換的副變換部并聯(lián)配置的、輸入密鑰和數(shù)據(jù),使用輸入的密鑰,根據(jù)用于進(jìn)行非線性數(shù)據(jù)變換的函數(shù)即F函數(shù),進(jìn)行非線性數(shù)據(jù)變換的主變換部,對輸入的數(shù)據(jù)進(jìn)行非線性數(shù)據(jù)變換,并輸出非線性變換后的數(shù)據(jù)的處理;輸入密鑰和數(shù)據(jù),使用輸入的密鑰,通過與所述主變換部并聯(lián)配置的所述副變換部,對輸入的數(shù)據(jù)進(jìn)行線性變換,并輸出線性變換的數(shù)據(jù)的處理。
下面簡要說明附圖。
圖1是實(shí)施例1的數(shù)據(jù)變換裝置的結(jié)構(gòu)圖。
圖2是表示128位密鑰時,中間密鑰生成部40從中間密鑰生成輸出密鑰的動作的圖。
圖3是表示密鑰調(diào)度部210的內(nèi)部結(jié)構(gòu)及其動作的圖。
圖4是表示數(shù)據(jù)攪拌部30的數(shù)據(jù)編碼/譯碼處理的動作的圖。
圖5是表示F函數(shù)部321的內(nèi)部結(jié)構(gòu)和動作的圖。
圖6是相反配置圖1的主變換部320和副變換部330的數(shù)據(jù)變換裝置的結(jié)構(gòu)圖。
圖7是并聯(lián)配置主變換部320和副變換部330的數(shù)據(jù)變換裝置的結(jié)構(gòu)圖。
圖8是表示中間密鑰生成部40的6-1KL選擇器220和6-1KA選擇器230的內(nèi)部結(jié)構(gòu)的圖。
圖9是表示中間密鑰生成部40的其他結(jié)構(gòu)例的圖。
圖10是數(shù)據(jù)正變換部50具有密鑰傳送功能時的副變換部330的內(nèi)部結(jié)構(gòu)圖。
圖11是數(shù)據(jù)逆變換部70具有密鑰傳送功能時的副變換部330的內(nèi)部結(jié)構(gòu)圖。
圖12是數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70具有密鑰傳送功能時的副變換部330的內(nèi)部結(jié)構(gòu)圖。
圖13是實(shí)施例2的數(shù)據(jù)正變換部50具有數(shù)據(jù)傳送功能時的副變換部330的內(nèi)部結(jié)構(gòu)圖。
圖14是數(shù)據(jù)逆變換部70具有數(shù)據(jù)傳送功能時的副變換部330的內(nèi)部結(jié)構(gòu)圖。
圖15是數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70具有數(shù)據(jù)傳送功能時的副變換部330的內(nèi)部結(jié)構(gòu)圖。
圖16是實(shí)施例3的數(shù)據(jù)正變換部50具有密鑰傳送功能、數(shù)據(jù)逆變換部70具有密鑰傳送功能時的副變換部330的內(nèi)部結(jié)構(gòu)圖。
圖17是數(shù)據(jù)逆變換部70具有密鑰傳送功能和數(shù)據(jù)傳送功能、數(shù)據(jù)正變換部50具有密鑰傳送功能時的副變換部330的內(nèi)部結(jié)構(gòu)圖。
圖18是數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70具有密鑰傳送功能和數(shù)據(jù)傳送功能時的副變換部330的內(nèi)部結(jié)構(gòu)圖。
圖19是數(shù)據(jù)正變換部50具有密鑰傳送功能和數(shù)據(jù)傳送功能時的副變換部330的內(nèi)部結(jié)構(gòu)圖。
圖20是數(shù)據(jù)逆變換部70具有密鑰傳送功能和數(shù)據(jù)傳送功能時的副變換部330的內(nèi)部結(jié)構(gòu)圖。
圖21數(shù)據(jù)正變換部50具有密鑰傳送功能和數(shù)據(jù)傳送功能、數(shù)據(jù)逆變換部70具有數(shù)據(jù)傳送功能時的副變換部330的結(jié)構(gòu)圖。
圖22是數(shù)據(jù)逆變換部70具有密鑰傳送功能和數(shù)據(jù)傳送功能、數(shù)據(jù)正變換部50具有數(shù)據(jù)傳送功能時的副變換部330的結(jié)構(gòu)圖。
圖23是數(shù)據(jù)正變換部50具有數(shù)據(jù)傳送功能、數(shù)據(jù)逆變換部70具有密鑰傳送功能時的副變換部330的結(jié)構(gòu)圖。
圖24是數(shù)據(jù)正變換部50具有密鑰傳送功能、數(shù)據(jù)逆變換部70具有數(shù)據(jù)傳送功能時的副變換部330的結(jié)構(gòu)圖。
圖25是把數(shù)據(jù)逆變換部70和數(shù)據(jù)正變換部50串聯(lián),數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70分別具有數(shù)據(jù)傳送功能時的副變換部330的結(jié)構(gòu)圖。
圖26是圖25的數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70上下交換時的副變換部330的結(jié)構(gòu)圖。
圖27是串聯(lián)數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70,數(shù)據(jù)正變換部50具有密鑰傳送功能和數(shù)據(jù)傳送功能,數(shù)據(jù)逆變換部70具有數(shù)據(jù)傳送功能時的副變換部330的結(jié)構(gòu)圖。
圖28是圖27的數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70上下交換時的副變換部330的結(jié)構(gòu)圖。
圖29是串聯(lián)數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70,數(shù)據(jù)正變換部50具有數(shù)據(jù)傳送功能,數(shù)據(jù)逆變換部70具有密鑰傳送功能和數(shù)據(jù)傳送功能時的副變換部330的結(jié)構(gòu)圖。
圖30是圖29的數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70上下交換時的副變換部330的結(jié)構(gòu)圖。
圖31是在實(shí)施例4的1/2副變換部90中附編碼鑰傳送功能和數(shù)據(jù)傳送功能時的副變換部330的結(jié)構(gòu)圖。
圖32是1/2副變換部90中附加數(shù)據(jù)傳送功能時的副變換部330的結(jié)構(gòu)圖。
圖33是1/2副變換部90中附編碼鑰傳送功能時的副變換部330的結(jié)構(gòu)圖。
圖34是表示使用128位密鑰的CAMELLIA數(shù)據(jù)變換裝置的數(shù)據(jù)編碼處理的圖。
圖35是表示使用128位密鑰的CAMELLIA數(shù)據(jù)變換裝置的數(shù)據(jù)譯碼處理的圖。
圖36是CAMELLIA數(shù)據(jù)變換裝置的F函數(shù)內(nèi)部結(jié)構(gòu)圖。
圖37是表示實(shí)施例5的全體結(jié)構(gòu)和動作的圖。
圖38是表示實(shí)施例6的全體結(jié)構(gòu)和動作的圖。
圖39是表示實(shí)施例11的全體結(jié)構(gòu)和動作的圖。
圖40是表示實(shí)施例12的全體結(jié)構(gòu)和動作的圖。
圖41是表示實(shí)施例13的全體結(jié)構(gòu)和動作的圖。
圖42是表示實(shí)施例14的全體結(jié)構(gòu)和動作的圖。
圖43是表示實(shí)施例15的全體結(jié)構(gòu)和動作的圖。
圖44是表示實(shí)施例16的全體結(jié)構(gòu)和動作的圖。
圖45是表示實(shí)施例17的全體結(jié)構(gòu)和動作的圖。
圖46是表示實(shí)施例18的全體結(jié)構(gòu)和動作的圖。
圖47是表示實(shí)施例7的全體結(jié)構(gòu)和動作的圖。
圖48是表示實(shí)施例8的全體結(jié)構(gòu)和動作的圖。
圖49是表示實(shí)施例9的全體結(jié)構(gòu)和動作的圖。
圖50是表示實(shí)施例10的全體結(jié)構(gòu)和動作的圖。
圖51是表示實(shí)施例19的全體結(jié)構(gòu)和動作的圖。
圖52是表示實(shí)施例20的全體結(jié)構(gòu)和動作的圖。
圖53是表示密鑰為192、256位時,中間密鑰生成部40從中間密鑰生成輸出密鑰的動作的圖。
圖54是表示使用192、256位密鑰的CAMELLIA數(shù)據(jù)變換裝置的數(shù)據(jù)編碼處理的圖。
圖55是表示使用192、256位密鑰的CAMELLIA數(shù)據(jù)變換裝置的數(shù)據(jù)譯碼處理的圖。
圖56是關(guān)聯(lián)的數(shù)據(jù)變換裝置的結(jié)構(gòu)和動作圖的一例。
圖57是主變換部320的內(nèi)部結(jié)構(gòu)的一例。
圖58是表示構(gòu)成副變換部330的電路的圖。
圖59是表示共用構(gòu)成副變換部330的數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70的電路的圖。
圖60是關(guān)聯(lián)的數(shù)據(jù)變換裝置的結(jié)構(gòu)和動作圖的另一例。
圖61是主變換部320的內(nèi)部結(jié)構(gòu)的另一例。
圖62是串聯(lián)數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70,數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70具有密鑰傳送功能和數(shù)據(jù)傳送功能時的副變換部330的結(jié)構(gòu)圖。
圖63是圖62的數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70上下交換時的副變換部330的結(jié)構(gòu)圖。
圖64是CAMELLIA數(shù)據(jù)變換裝置的主變換部內(nèi)部結(jié)構(gòu)的一例。
具體實(shí)施例方式
實(shí)施例1下面說明實(shí)施例中記載的數(shù)據(jù)變換裝置。
數(shù)據(jù)變換裝置圖1是本實(shí)施例的數(shù)據(jù)變換裝置的結(jié)構(gòu)和動作圖。
在本實(shí)施例中,不存在圖56和圖60所示的“把從密鑰KL寄存器240輸出的中間密鑰(密鑰KL)輸入到選擇器310的路徑”、“把從主變換部320輸出的數(shù)據(jù)輸入到選擇器310的路徑”。這是因?yàn)樵诒緦?shí)施例的副變換部330中,除了本來具有的數(shù)據(jù)變換功能,還追加傳送密鑰和數(shù)據(jù)的功能。
下面,說明使用了副變換部330所具有的傳送密鑰和數(shù)據(jù)的功能的密鑰生成和數(shù)據(jù)的編碼/譯碼。其他結(jié)構(gòu)和動作與實(shí)施圖56以及圖60說明的同樣,所以省略說明。
在本實(shí)施例中,從密鑰KL寄存器240輸出的中間密鑰(密鑰KL)不直接輸入到選擇器310,而是利用從密鑰KL寄存器240到密鑰調(diào)度部210的以往的路徑,經(jīng)由密鑰調(diào)度部210輸入到副變換部330。副變換部330具有“變換數(shù)據(jù)的模式”和“傳送密鑰或數(shù)據(jù)的模式”,所以如果輸入密鑰,就把模式切換到“傳送密鑰或數(shù)據(jù)的模式”,把輸入的密鑰傳送給選擇器310。
此外,在本實(shí)施例中,經(jīng)主變換部320非線性變換的數(shù)據(jù)不直接輸入到選擇器310,而輸入到副變換部330。副變換部330如果輸入經(jīng)主變換部320非線性變換的數(shù)據(jù),就把模式切換為“傳送密鑰或數(shù)據(jù)的模式”,把輸入的數(shù)據(jù)傳送給選擇器310。
通過使副變換部330進(jìn)行這樣的傳送動作,可以不要圖56和圖60所示的所述2個路徑。
須指出的是,如前所述,當(dāng)主變換部320用多個周期進(jìn)行基于F函數(shù)的1次數(shù)據(jù)變換時,有必要把保持一定期間的中間數(shù)據(jù)輸入到主變換部320,所以在圖1中存在用虛線表示的“把中間數(shù)據(jù)從運(yùn)算寄存器350向選擇器310發(fā)送的路徑”,但是當(dāng)主變換部320用1個周期進(jìn)行基于F函數(shù)的1次數(shù)據(jù)變換時,不需要用虛線表示的“從運(yùn)算寄存器350到選擇器310的路徑”。關(guān)于后面描述的圖6的虛線所示的路徑,也同樣。
密鑰生成方法下面,說明由中間密鑰生成部40進(jìn)行的中間密鑰和輸出密鑰的生成方法。
圖2表示表示中間密鑰生成部40根據(jù)中間密鑰生成輸出密鑰的動作。
首先,把編碼密鑰輸入中間密鑰生成部40,經(jīng)過6-1KL選擇器220,作為中間密鑰(密鑰KL)保持在密鑰KL寄存器240中。保持在密鑰KL寄存器240中的編碼密鑰作為中間密鑰(密鑰KL)經(jīng)由密鑰調(diào)度部210輸入到主變換部320中。在主變換部320的第一級F函數(shù)部321a,使用從密鑰調(diào)度部210輸出的常數(shù)∑1,對輸入的中間密鑰(密鑰KL)的高位進(jìn)行非線性變換,通過EXOR電路322a,取中間密鑰(密鑰KL)的低位的異或,輸入到F函數(shù)部321b。在F函數(shù)部321b中也是同樣,使用從密鑰調(diào)度部210輸出的常數(shù)∑2,對從EXOR電路322a輸出的密鑰進(jìn)行非線性變換,通過EXOR電路322b,取與中間密鑰(密鑰KL)的低位的異或。結(jié)果,使輸出的密鑰為密鑰的高位,使從EXOR電路322a輸出的密鑰為密鑰的低位,向副變換部330輸出。
副變換部330輸入這些數(shù)據(jù),使用副變換部330的數(shù)據(jù)正變換部50中包含的2個異或運(yùn)算器(EXOR)和副變換部330的數(shù)據(jù)逆變換部70中包含的2個異或運(yùn)算器(EXOR),分別把密鑰的高位和密鑰的低位取異或運(yùn)算,結(jié)果,把輸出的數(shù)據(jù)再輸入到主變換部320。
主變換部320與使用所述主變換部320的一部分的處理同樣,進(jìn)行包含主變換部320具有的F函數(shù)部321a和EXOR電路322a、F函數(shù)部321b和EXOR電路322b的2級變換處理,切換輸出變換后的密鑰的高位和低位。
輸出的數(shù)據(jù)輸入到中間密鑰生成部40的6-1選擇器230中,作為輸出密鑰(密鑰KA)保持在密鑰KA寄存器250中。這樣,中間密鑰生成部40使用進(jìn)行數(shù)據(jù)編碼/譯碼處理的構(gòu)成部分的主變換部320一部分和副變換部一部分,由中間密鑰(密鑰KL)生成輸出密鑰(密鑰KA)。由生成的中間密鑰(密鑰KL)的高位構(gòu)成的密鑰KLH和由下位構(gòu)成的密鑰KLL、由輸出密鑰(密鑰KA)的高位構(gòu)成的密鑰KAH和由下位構(gòu)成的密鑰KAL等4個密鑰輸入到密鑰調(diào)度部210,作為用于數(shù)據(jù)的編碼/譯碼的密鑰(稱作擴(kuò)大密鑰)使用。此外,使用這樣生成的輸出密鑰(密鑰KA)和中間密鑰(密鑰KL),通過同樣的處理,在各預(yù)定期間中生成新的中間密鑰和輸出密鑰。
密鑰調(diào)度說明密鑰調(diào)度部210的內(nèi)部結(jié)構(gòu)及其動作。
圖3是表示密鑰調(diào)度部210的內(nèi)部結(jié)構(gòu)及其動作的圖。
從中間密鑰生成部40輸出的中間密鑰(密鑰KL)被分割為高位的密鑰KLH和低位的密鑰KLL,輸入到4-1選擇器216和4-1選擇器217中。從中間密鑰生成部40輸出的輸出密鑰(密鑰KA)也同樣分割為密鑰KAH和密鑰KAL,輸入到4-1選擇器216和4-1選擇器217中。4-1選擇器216和4-1選擇器217從這4個密鑰中選擇1個密鑰。把由4-1選擇器216和4-1選擇器217選擇的信號、使選擇的信號循環(huán)右移1位后的信號輸入到2-1選擇器214和2-1選擇器215。如上所述,之所以使信號循環(huán)右移1位,是在中間密鑰生成部40生成輸出密鑰(密鑰KA)時,使用副變換部330,但是這時,通過副變換部330中包含的循環(huán)移位器使信號循環(huán)左移1位,所以預(yù)想預(yù)先循環(huán)左移1位而循環(huán)右移1位,以使循環(huán)移位的影響不波及結(jié)果。因此,密鑰調(diào)度部210并不一定進(jìn)行循環(huán)右移1位的處理,考慮副變換部330的循環(huán)移位器使信號循環(huán)移位的數(shù)和方向,預(yù)先在與該方向相反的方向把輸入密鑰循環(huán)移位副變換部330的循環(huán)移位器所循環(huán)移位的數(shù)。因此,2-1選擇器214和2-1選擇器215從這2個信號中選擇1個關(guān)于密鑰的信號,但是在生成輸出密鑰(密鑰KA)時,向副變換部330輸出密鑰時,一定選擇循環(huán)移動預(yù)先決定的位的密鑰,然后向副變換部330輸出。
當(dāng)在生成輸出密鑰(密鑰KA)時使用副變換部330時,向副變換部330輸入從2-1選擇器214和2-1選擇器215輸出的密鑰,并且在生成輸出密鑰(密鑰KA)時使用主變換部320時和進(jìn)行數(shù)據(jù)的編碼/譯碼處理時,輸入到2-1選擇器212,此外,把循環(huán)右或左移1字節(jié)的密鑰輸入到2-1選擇器212。之所以把循環(huán)右或左移1字節(jié)的密鑰輸入到2-1選擇器212,是因?yàn)樵跀?shù)據(jù)的編碼/譯碼處理時,在F函數(shù)部由處理1/2、1/4、1/8等未滿1的F函數(shù)的部分構(gòu)成的情況下是必要的,但是后面詳細(xì)描述。
212從這2個密鑰中選擇1個密鑰,把選擇的密鑰輸入到2-1選擇器211。8-1選擇器213輸入把作為常數(shù)的∑1~∑4分割為高位數(shù)據(jù)和低位數(shù)據(jù)的數(shù)據(jù),從這8個信號中選擇一個信號,向2-1選擇器211輸入。2-1選擇器211從輸入的2個信號中選擇1個信號,把選擇的信號作為密鑰向主變換部320輸出。
數(shù)據(jù)的編碼處理/譯碼處理下面,說明由數(shù)據(jù)攪拌部30進(jìn)行的編碼/譯碼處理。
圖4是表示數(shù)據(jù)攪拌部30編碼/譯碼處理的動作的圖。
首先,輸入P(普通數(shù)據(jù)或編碼數(shù)據(jù))。這里,假定P(普通數(shù)據(jù)或編碼數(shù)據(jù))為128位。輸入數(shù)據(jù)P輸入到EXOR電路311a中,輸入到密鑰生成部20中,與經(jīng)由中間密鑰生成部40和密鑰調(diào)度部210輸出的編碼密鑰(128位)異或。須指出的是,編碼密鑰首先輸入到中間密鑰生成部40,由6-1KL選擇器220選擇,作為中間密鑰(密鑰KL)保存在密鑰KL寄存器240中后,作為中間密鑰(密鑰KL)輸入到密鑰調(diào)度部210中。
在進(jìn)行公共密鑰塊編碼處理的CAMELLIA中,EXOR電路31a和EXOR電路31b使用副變換部330具有的異或運(yùn)算器。即如圖58所示,把輸入數(shù)據(jù)分割為高位的高位數(shù)據(jù)和低位的低位數(shù)據(jù),把分割的各數(shù)據(jù)和輸入的密鑰由數(shù)據(jù)正變換部50的EXOR電路55和EXOR電路56或數(shù)據(jù)逆變換部70的EXOR電路56以及EXOR電路76取異或,輸出。
使用從密鑰調(diào)度部210輸出的擴(kuò)大密鑰中的任意一個,通過主變換部320和副變換部330把輸出的數(shù)據(jù)進(jìn)行數(shù)據(jù)變換。在圖4中,象主變換部320a、副變換部330a、主變換部320b、副變換部330b那樣,交替進(jìn)行數(shù)據(jù)變換。
這樣變換的數(shù)據(jù)通過副變換部330的EXOR電路31b取與從密鑰調(diào)度部210輸出的密鑰的異或,作為C(編碼數(shù)據(jù)或譯碼數(shù)據(jù))輸出。
參照圖1和圖4,說明由CAMELLIA的數(shù)據(jù)攪拌部30進(jìn)行的基于主變換部320和副變換部330的數(shù)據(jù)變換處理的動作的細(xì)節(jié)。
把從EXOR電路31a輸出的數(shù)據(jù)分割為高位數(shù)據(jù)和低位數(shù)據(jù),分別輸入到主變換部320a中。在主變換部320a中,把輸入的各數(shù)據(jù)進(jìn)行非線性變換,使變換后的高位數(shù)據(jù)為低位數(shù)據(jù),即如圖4所示,把高位數(shù)據(jù)和低位數(shù)據(jù)交換后,輸入到副變換部330a中。
在副變換部330a中,把輸入數(shù)據(jù)線性變換。變換后的數(shù)據(jù)如圖1所示,輸入到選擇器310中,保持在運(yùn)算寄存器350中,輸入到主變換部320(在圖4中,由主變換部320b表示)。
在主變換部320b和副變換部330b中,重復(fù)主變換部320a和副變換部330b的處理,主變換部320c中再度重復(fù)與主變換部320a相同的處理。來自主變換部320c的輸出數(shù)據(jù)通過EXOR電路31b,取與重復(fù)后的輸出數(shù)據(jù)和從密鑰調(diào)度部210輸出的密鑰的異或,作為C輸出。在CAMELLIA中,31b與EXOR電路31a同樣,使用副變換部330中包含的異或邏輯運(yùn)算器。此外,在CAMELLIA中,主變換部320a、主變換部320b、主變換部320c通過使用同一主變換部320重復(fù)處理,進(jìn)行數(shù)據(jù)變換??墒牵材懿捎梅謩e設(shè)置具有同一內(nèi)部結(jié)構(gòu)的主變換部320a、主變換部320b、主變換部320c的結(jié)構(gòu)。副變換部330a和副變換部330b也是同樣。
這里,主變換部320具有1級的F函數(shù)處理部分時,如圖57所示,進(jìn)行基于6級F函數(shù)的數(shù)據(jù)變換處理時,通過重復(fù)6次基于主變換部320的處理,能完成基于6級的F函數(shù)的數(shù)據(jù)變換處理。這意味著在圖1中,重復(fù)6次利用從主變換部320通過選擇器310和運(yùn)算寄存器350,回到主變換部320的路徑,主變換部320完成基于6級的F函數(shù)的數(shù)據(jù)變換處理。因此,在圖56和圖60所示的關(guān)聯(lián)技術(shù)中,“用于把來自主變換部320的輸出數(shù)據(jù)向選擇器310輸入的路徑”是必要的。
可是,在本實(shí)施例中,副變換部330具有后面描述的傳送功能,所以來自主變換部320的數(shù)據(jù)可以在副變換部中傳送后,向選擇器310輸入。因此,在本實(shí)施例的數(shù)據(jù)變換裝置中,通過使用“把來自主變換部320的數(shù)據(jù)由副變換部330傳送后,向選擇器310輸入的路徑”,不需要“把來自主變換部320的數(shù)據(jù)向選擇器310輸入的路徑”。
主變換處理-主變換部320參照圖57、圖61說明了主變換部320的內(nèi)部結(jié)構(gòu)和動作。
如上所述,把主變換部320具有的構(gòu)造即具有重復(fù)以下處理的特征的非線性變換處理構(gòu)造稱作FEISTEL構(gòu)造把輸入數(shù)據(jù)分割為高位的高位數(shù)據(jù)和低位的低位數(shù)據(jù),通過F函數(shù)對分割后的高位數(shù)據(jù)和低位數(shù)據(jù)中的任一方進(jìn)行非線性變換,從非線性變換后的高位數(shù)據(jù)和低位數(shù)據(jù)的任一個、高位數(shù)據(jù)和低位數(shù)據(jù)的任意另一方生成輸入F函數(shù)的數(shù)據(jù),把生成的數(shù)據(jù)作為所述輸入數(shù)據(jù),分割為高位數(shù)據(jù)和低位數(shù)據(jù),使用F函數(shù)再度變換。
主變換處理-主變換部320-F函數(shù)部321下面,說明主變換部320中包含的F函數(shù)部321的內(nèi)部結(jié)構(gòu)和動作。
圖5是表示F函數(shù)部321的內(nèi)部結(jié)構(gòu)和動作的圖。
首先,輸入數(shù)據(jù)通過EXOR電路323取與擴(kuò)大密鑰的異或,進(jìn)行8分割后,輸入到S函數(shù)324中。擴(kuò)大密鑰是指把從編碼密鑰由中間密鑰生成部40生成的輸出密鑰(密鑰KA)和中間密鑰(密鑰KL)相加的密鑰。當(dāng)編碼密鑰為128位長度的CAMELLIA時,擴(kuò)大密鑰變?yōu)?56位。把中間密鑰(密鑰KL)分割為高位的密鑰KLH和低位的密鑰KLL,同樣,把輸出密鑰(密鑰KA)高位的密鑰KAH和低位的密鑰KAL,從這4個密鑰中由密鑰調(diào)度部210調(diào)度的1個密鑰輸入到EXOR電路323中。S函數(shù)324是合成GF(28)的逆元運(yùn)算和仿射變換的函數(shù)(S1到S4),進(jìn)行字節(jié)單位的非線性變換。變換輸出的數(shù)據(jù)輸入到P函數(shù)325,通過進(jìn)行線性變換的P函數(shù)325,進(jìn)行數(shù)據(jù)的攪拌后輸出。
下面,關(guān)于F函數(shù)部由處理F函數(shù)的1/2的部分(1/2F函數(shù))構(gòu)成時,說明其動作。
F函數(shù)部處理F函數(shù)的1/2的部分由EXOR電路323、S4324e到S1324h等4個S框、圖5的約一半P函數(shù)部構(gòu)成。從這樣的結(jié)構(gòu)首先進(jìn)行所述F函數(shù)第一級的數(shù)據(jù)變換處理的1/2的處理。接著,再進(jìn)行相同的處理,結(jié)束F函數(shù)的第一級的處理。在第一級的處理中,在密鑰調(diào)度部210中,如上所述,使用循環(huán)右或左移1字節(jié)的密鑰和數(shù)據(jù)。通過使密鑰和數(shù)據(jù)循環(huán)右或左移1字節(jié),不變更配置在S1~S4的S框的配置,就能產(chǎn)生與使S框錯開1字節(jié)時相同的效果。即如圖5所示,不改變由S4324e到S1324h表示的配置在S1、S2、S3、S4的S框的配置,輸入循環(huán)移位1字節(jié)的密鑰和數(shù)據(jù),與由S1324a到S4324d表示的在配置S2、S3、S4、S1配置S框時同樣的處理成為可能。
通過這樣的操作,用2周期結(jié)束F函數(shù)第一級的處理。
把主變換部320和副變換部330交換配置的數(shù)據(jù)變換裝置圖6是把圖1的主變換部320和副變換部330交換配置的數(shù)據(jù)變換裝置的結(jié)構(gòu)和動作圖。
當(dāng)把主變換部320和副變換部330相反配置的數(shù)據(jù)變換裝置時,也與圖1所示的數(shù)據(jù)變換裝置同樣,副變換部330使用傳送功能傳送數(shù)據(jù),從而向主變換部320輸出。利用這樣的路徑,主變換部320能結(jié)束基于6級F函數(shù)的數(shù)據(jù)變換處理。因此,圖56和圖60所示的“把來自副變換部330的輸出數(shù)據(jù)向選擇器310輸入的路徑”變?yōu)椴灰?br>
此外,從密鑰KL寄存器240輸出的中間密鑰(密鑰KL)不直接輸入選擇器310,而是利用從密鑰KL寄存器240到密鑰調(diào)度部210的路徑,經(jīng)由密鑰調(diào)度部210,輸入到副變換部330中。副變換部330如果輸入密鑰,就使用傳送功能,把輸入的密鑰向主變換部320傳送。
通過使副變換部330進(jìn)行這樣的傳送動作,能不需要圖56和圖60所示的“把從密鑰KL寄存器240輸出的中間密鑰(密鑰KL)向選擇器310輸入的路徑”、或“把從副變換部330輸出的數(shù)據(jù)向選擇器310輸入的路徑”等兩條路經(jīng)。
把主變換部320和副變換部330并聯(lián)配置的數(shù)據(jù)變換裝置圖7是表示與圖1、圖6比較,在并聯(lián)配置主變換部320和副變換部330、存在從2個輸入信號中選擇1個輸出信號的選擇器340這兩點(diǎn)上不同的數(shù)據(jù)變換裝置的圖。
其他結(jié)構(gòu)與圖1、圖6同樣。
在采用這樣的結(jié)構(gòu)的數(shù)據(jù)變換裝置中,并聯(lián)配置主變換部320和副變換部330,所以選擇從主變換部320和副變換部330輸出的信號中的任一個的選擇器340成為必要。然后,選擇器340進(jìn)行選擇,選擇器310根據(jù)經(jīng)由運(yùn)算寄存器350的信號和P(普通數(shù)據(jù)或編碼數(shù)據(jù))而選擇的信號向主變換部320和副變換部330輸入。
可是,在生成輸出密鑰(密鑰KA)時,從密鑰KL寄存器240輸出的中間密鑰(密鑰KL)不直接輸入選擇器310中,而利用從密鑰KL寄存器240到密鑰調(diào)度部210的路徑,經(jīng)由密鑰調(diào)度部210,輸入到副變換部330。副變換部330如果輸入密鑰,就使用傳送功能,把輸入的密鑰傳送給主變換部320。因此,能不需要圖56和圖60所示的“把從密鑰KL寄存器240輸出的中間密鑰(密鑰KL)輸入到選擇器310中的路徑”。
此外,能不需要“把從主變換部320輸出的數(shù)據(jù)向選擇器310輸入的路徑”或“把從副變換部330輸出的數(shù)據(jù)向選擇器310輸入的路徑”等兩條路徑。
中間密鑰生成部40的內(nèi)部結(jié)構(gòu)下面,說明中間密鑰生成部40的6-1KL選擇器220和6-1KA選擇器230的內(nèi)部結(jié)構(gòu)。
圖8是表示中間密鑰生成部40的6-1KL選擇器220和6-1KA選擇器230的內(nèi)部結(jié)構(gòu)的圖。
在中間密鑰生成部40中,保持在密鑰KL寄存器240中的中間密鑰(密鑰KL)向密鑰調(diào)度部210輸出,并且再輸入到6-1KL選擇器220中。
在6-1KL選擇器220中,把輸入的中間密鑰(密鑰KL)向6-1選擇器221輸入,并且向6-1選擇器221輸入把中間密鑰(密鑰KL)以任意4個不同的移位數(shù)分別循環(huán)移位的4個信號。例如,雖然未圖示,但是考慮到輸入把中間密鑰分別左移17位、左移15位、右移17位、右移15位的4個信號的情形。把這些中間密鑰(密鑰KL)、循環(huán)移位的4個信號、編碼密鑰作為6個輸入信號,6-1選擇器221從6個輸入信號選擇1個輸出信號,把選擇的輸出信號作為新的中間密鑰(密鑰KL)保持到密鑰KL寄存器240中。
從輸出密鑰(密鑰KA)生成新的輸出密鑰(密鑰KA)的方法也與從中間密鑰(密鑰KL)生成新的中間密鑰(密鑰KL)的方法完全同樣。
圖9是表示中間密鑰生成部40的其他結(jié)構(gòu)例的圖。
圖9中,與圖8相比,謀求4-1選擇器223所示的選擇器的共享化。即把從密鑰KL寄存器240輸出的中間密鑰(密鑰KL)和從密鑰KA寄存器250輸出的輸出密鑰(密鑰KA)輸入到2-1選擇器224,2-1選擇器224從兩個密鑰選擇1個密鑰,使選擇的1個密鑰以4個不同的移位數(shù)分別循環(huán)移位,生成四個信號,把這四個信號輸入4-1選擇器223中。4-1選擇器223從四個信號選擇1個信號,輸出到3-1KL選擇器222或3-1KA選擇器223中。
3-1KL選擇器222從由4-1選擇器223選擇的密鑰、編碼密鑰和保持在密鑰KL寄存器240中的中間密鑰(密鑰KL)選擇1個密鑰,作為新的中間密鑰保持到密鑰KL寄存器240中。
3-1KA選擇器223也同樣,把由4-1選擇器223選擇的密鑰、生成的輸出密鑰(密鑰KA)和保持在密鑰KA寄存器250中的輸出密鑰(密鑰KA)選擇1個密鑰,作為新的輸出密鑰(密鑰KA)保持到密鑰KL寄存器240中。
在圖8所示的結(jié)構(gòu)中,如果換算為2-1選擇器,需要10個,而在圖9所示的結(jié)構(gòu)中,如果換算為2-1選擇器,需要8個,所以與圖40所示的結(jié)構(gòu)的中間密鑰生成部40相比,能削減2個2-1選擇器。這樣,能謀求電路規(guī)模的削減。
須指出的是,圖8所示的中間密鑰生成部40的結(jié)構(gòu)能應(yīng)用于全部實(shí)施例的數(shù)據(jù)變換裝置中。此外,圖9所示的中間密鑰生成部40的結(jié)構(gòu)能應(yīng)用于全部實(shí)施例的數(shù)據(jù)變換裝置中。
后面描述的圖51所示的中間密鑰生成部40的結(jié)構(gòu)能應(yīng)用于全部實(shí)施例的數(shù)據(jù)變換裝置中。
副變換處理-副變換部330下面,說明副變換部330的內(nèi)部結(jié)構(gòu)及其動作。
在本實(shí)施例中,說明數(shù)據(jù)正變換部50或數(shù)據(jù)逆變換部70的至少任一個具有密鑰傳送功能時的情形。
副變換處理-副變換部330-數(shù)據(jù)正變換部50具有密鑰傳送功能時的情形圖10是表示副變換部330的內(nèi)部結(jié)構(gòu)和動作的圖。
在本實(shí)施例中,與使用圖58說明的關(guān)于關(guān)聯(lián)技術(shù)的數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70的結(jié)構(gòu)圖相比,附加傳送密鑰或信號的傳送信號和伴隨著這些傳送信號的電路。
在圖10中,數(shù)據(jù)正變換部50具有傳送輸入密鑰的功能。
即向數(shù)據(jù)正變換部50輸入傳送密鑰的傳送信號,輸入傳送信號的數(shù)據(jù)正變換部50按照傳送信號傳送所輸入的密鑰。
具體而言,由控制部5控制傳送信號,當(dāng)傳送密鑰時,輸出FL密鑰傳遞信號和FL掩碼信號。數(shù)據(jù)正變換部50輸入由控制部5輸出的FL密鑰傳遞信號和FL掩碼信號。
具體說明使用這些傳送信號的基于數(shù)據(jù)正變換部50的密鑰的傳送處理。
當(dāng)傳送密鑰時,把FL密鑰傳遞信號設(shè)置為0,輸入到AND電路51中。在AND電路51中也輸入成為編碼/譯碼的對象的數(shù)據(jù)。
因?yàn)镕L密鑰傳遞信號為0,所以輸入的數(shù)據(jù)由AND電路51的AND電路抑制,變?yōu)闊o效。即無論輸入的數(shù)據(jù)取怎樣的值,AND電路51的輸出數(shù)據(jù)變?yōu)?。
具有0值得AND電路51的輸出數(shù)據(jù)的高位輸入到OR電路53,低位輸入到EXOR電路55。
而FL掩碼信號輸入到NOT電路52中。當(dāng)傳送密鑰時,控制部5把FL掩碼信號設(shè)置為0,所以NOT電路52的輸出信號變?yōu)?,因?yàn)檩斎胄盘枮?和1,所以O(shè)R電路53的輸出信號為輸出1。
AND電路54輸入作為OR電路53的輸出值的1和密鑰1的信息,所以AND電路54的輸出數(shù)據(jù)一定為密鑰1。
由AND電路54輸出的密鑰1循環(huán)左移1位,輸入到EXOR電路55中。密鑰1自身在圖3所示的密鑰調(diào)度部210中預(yù)先循環(huán)右移1位,所以通過把由AND電路54輸出的密鑰1循環(huán)左移1位,成為應(yīng)該傳遞的本來的密鑰1的值。
在EXOR電路55中輸入從AND電路51輸出的具有0值的低位,所以由EXOR電路55的運(yùn)算輸出的是密鑰1。它變?yōu)檩敵鲂盘柕牡臀弧?br>
因此,數(shù)據(jù)正變換部50根據(jù)FL密鑰傳遞信號和FL掩碼信號,能把密鑰1原封不動作為輸出信號輸出。
關(guān)于密鑰2也是同樣,根據(jù)FL密鑰傳遞信號和FL掩碼信號,原封不動作為輸出信號傳送。下面,就其動作加以說明。
FL掩碼信號如上所述為0。因此,在AND電路58中輸入0和由EXOR電路55輸出的密鑰1,一定輸出0。
OR電路57輸入密鑰2和0,所以輸出值一定變?yōu)槊荑€2。
密鑰2輸入到EXOR電路56中,取與AND電路51輸出的高位數(shù)據(jù)0的異或,所以輸出一定為密鑰2。它成為輸出信號的高位。
如上所述,輸入FL密鑰傳遞信號和FL掩碼信號,能原封不動地傳送密鑰1和密鑰2。雖然在圖11、圖12、圖14~圖33中未圖示控制傳送信號即FL密鑰傳遞信號和FL掩碼信號的控制部5,但是與圖10同樣,由控制部5控制。
副變換處理-副變換部330-數(shù)據(jù)逆變換部70具有密鑰傳送功能時的情形下面,說明數(shù)據(jù)逆變換部70具有傳送輸入密鑰的功能時的情形。
圖11是表示數(shù)據(jù)逆變換部70具有密鑰傳送功能時的圖。
在AND電路71中輸入FL-1密鑰傳遞信號和數(shù)據(jù)。
與所述FL密鑰傳遞信號同樣,F(xiàn)L-1密鑰傳遞信號保持0,所以抑制輸入到AND電路71中的數(shù)據(jù),變?yōu)闊o效,AND電路71的輸出數(shù)據(jù)固定為0。
與所述FL掩碼信號同樣,F(xiàn)L-1掩碼信號是0,所以輸入到AND電路73的信號雙方為0,AND電路73的輸出數(shù)據(jù)固定為0。
作為AND電路73的輸出數(shù)據(jù)的0和密鑰3為輸入信號,所以O(shè)R電路74輸出密鑰3。
EXOR電路75輸入來自AND電路71的輸出數(shù)據(jù)0的高位0和密鑰3,所以輸出密鑰3。它成為輸出信號的高位。
此外,在OR電路78中,輸入由NOT電路72把FL-1掩碼信號0取反的值1和密鑰3,所以O(shè)R電路78輸出1。AND電路77輸入來自O(shè)R電路78的輸出數(shù)據(jù)1和密鑰4,所以AND電路77的輸出變?yōu)槊荑€4。密鑰4循環(huán)左移1位,輸入到EXOR電路76中。這里,密鑰4由密鑰調(diào)度部210預(yù)先循環(huán)右移1位,輸入到數(shù)據(jù)逆變換部70中,所以這里通過循環(huán)左移1位,變?yōu)楸緛淼拿荑€4的值。
在EXOR電路76中輸入作為AND電路71的輸出數(shù)據(jù)的低位的0和密鑰4,所以EXOR電路76輸出密鑰4。它成為輸出信號的低位。
這樣,數(shù)據(jù)逆變換部70把FL-1密鑰傳遞信號和FL-1掩碼信號作為傳送信號,輸入傳送信號時,能原封不動輸出輸入的密鑰(密鑰3、密鑰4)。
副變換處理-副變換部330-數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70具有密鑰傳送功能時的情形下面,說明數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70具有傳送輸入密鑰的功能時的情形。
圖12是數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70具有傳送密鑰的功能時的副變換部330的內(nèi)部結(jié)構(gòu)圖。
數(shù)據(jù)正變換部50與圖10的數(shù)據(jù)正變換部50為同一結(jié)構(gòu)和同一動作,此外,數(shù)據(jù)逆變換部70與圖11的數(shù)據(jù)逆變換部70為同一結(jié)構(gòu)和同一動作,所以省略內(nèi)部的結(jié)構(gòu)和動作。
這樣,通過使數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70的至少任一個具有傳送密鑰的功能,可以不要圖56和圖60所示的從密鑰KL寄存器240到密鑰調(diào)度部210的路徑,而是從密鑰KL寄存器240經(jīng)過密鑰調(diào)度部210,把密鑰輸入到副變換部330,并且把傳送密鑰的傳送信號輸入到副變換部330,通過副變換部330把密鑰向選擇器310傳送。
通過使基于這樣的路徑的密鑰的傳送成為可能,數(shù)據(jù)變換裝置作為全體能削減選擇器的數(shù)。即本實(shí)施例的數(shù)據(jù)變換裝置為了實(shí)現(xiàn)小型化,如圖2所示,通過中間密鑰生成部40共用用于生成擴(kuò)大密鑰的函數(shù)和進(jìn)行基于主變換部320和副變換部330的數(shù)據(jù)變換的函數(shù),但是這時,圖56和圖60所示的“從密鑰KL寄存器240向選擇器310輸入,經(jīng)過運(yùn)算寄存器350,輸入到主變換部320的中間密鑰(密鑰KL)的路徑”在本實(shí)施例中,利用“從密鑰KL寄存器240經(jīng)過密鑰調(diào)度部210,通過副變換部330向選擇器310傳送,經(jīng)過運(yùn)算寄存器350,輸入到主變換部320的中間密鑰(密鑰KL)的路徑”,從而能抑制選擇器的增加。
這樣,抑制進(jìn)行塊編碼處理的數(shù)據(jù)變換裝置的數(shù)據(jù)攪拌部具有的選擇器的增加,減少電路全體的門數(shù),從而能謀求電路芯片全體的小型化和耗電的降低。因此,在強(qiáng)烈要求小型化和低耗電的移動電話等便攜式儀器中也能有效安裝本實(shí)施例的進(jìn)行塊編碼處理的數(shù)據(jù)變換裝置。
須指出的是,從圖10到圖33中輸入的輸入密鑰分別可以是不同的密鑰,也可以是相同的密鑰。此外,F(xiàn)L密鑰傳遞信號和FL-1密鑰傳遞信號可以是同一信號。此外,F(xiàn)L掩碼信號和FL-1掩碼信號可以是同一信號。
實(shí)施例2
在本實(shí)施例中,說明數(shù)據(jù)正變換部50或數(shù)據(jù)逆變換部70的至少任一個具有數(shù)據(jù)傳送功能時的情形。
副變換處理-副變換部330-數(shù)據(jù)正變換部50具有數(shù)據(jù)傳送功能時的情形在本實(shí)施例中,說明副變換部330具有傳送數(shù)據(jù)的功能時的數(shù)據(jù)變換裝置。
圖13是數(shù)據(jù)正變換部50具有傳送數(shù)據(jù)的功能時的副變換部330的內(nèi)部結(jié)構(gòu)圖。
控制部5把以FL數(shù)據(jù)傳遞信號作為傳送數(shù)據(jù)的信號輸入到數(shù)據(jù)正變換部50中。輸入到數(shù)據(jù)正變換部50中的FL數(shù)據(jù)傳遞信號具有0值。該信號輸入到AND電路59和AND電路60中。
在AND電路54中,輸入數(shù)據(jù)的高位和密鑰1輸入到AND電路54中。AND電路54的輸出數(shù)據(jù)根據(jù)輸入數(shù)據(jù)的值,是不特定的,但是即使向AND電路60輸入把輸出數(shù)據(jù)循環(huán)左移1位的數(shù)據(jù),另一方的信號即FL數(shù)據(jù)傳遞信號具有0值,所以AND電路60的輸出信號與AND電路54的輸出信號的值無關(guān),變?yōu)?。AND電路60的輸出數(shù)據(jù)0輸入到EXOR電路55,取輸入數(shù)據(jù)和低位的異或。因?yàn)锳ND電路60的輸出為0,所以在EXOR電路55中,輸出輸入的數(shù)據(jù)的低位,作為輸出信號的低位數(shù)據(jù)輸出。
而EXOR電路55的輸出數(shù)據(jù)與密鑰一起成為OR電路57的輸入信號。這里,雖然OR電路57的輸出信號是不特定的,但是FL數(shù)據(jù)傳遞信號固定為0,所以AND電路59的輸出數(shù)據(jù)變?yōu)?,在EXOR電路56中,取輸入的數(shù)據(jù)的高位和AND電路59的輸出數(shù)據(jù)0的異或,所以輸出輸入的數(shù)據(jù)的高位,作為輸出信號的高位數(shù)據(jù)輸出。
這樣,數(shù)據(jù)正變換部50把FL數(shù)據(jù)傳遞信號作為傳送信號輸入,從而能不根據(jù)密鑰的輸入,原封不動把輸入的數(shù)據(jù)輸出。
須指出的是,圖13的數(shù)據(jù)逆變換部70具有與圖57所示的數(shù)據(jù)逆變換部70相同的結(jié)構(gòu),所以省略說明。
副變換處理-副變換部330-數(shù)據(jù)逆變換部70具有數(shù)據(jù)傳送功能時的情形圖14是數(shù)據(jù)逆變換部70具有數(shù)據(jù)傳送功能時副變換部330的內(nèi)部結(jié)構(gòu)圖。
數(shù)據(jù)逆變換部70輸入傳送數(shù)據(jù)的FL-1數(shù)據(jù)傳遞信號。當(dāng)傳送數(shù)據(jù)時,F(xiàn)L-1數(shù)據(jù)傳遞信號具有0,所以與OR電路74的輸出信號的值無關(guān),AND電路79輸出0。因此,在EXOR電路75中,把輸入的數(shù)據(jù)的高位原封不動地輸出,成為輸出信號的高位數(shù)據(jù)。
此外,F(xiàn)L-1數(shù)據(jù)傳遞信號輸入到AND電路80中,所以AND電路77的輸出信號無論取何值,AND電路80的輸出信號都變?yōu)?。因此,輸入的數(shù)據(jù)的低位由EXOR電路76原封不動地輸出,成為輸出信號的低位數(shù)據(jù)。
這樣,數(shù)據(jù)逆變換部70能把數(shù)據(jù)原封不動地作為輸出信號傳送。
副變換處理-副變換部330-數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70具有數(shù)據(jù)傳送功能時的情形圖15是表示數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70具有數(shù)據(jù)傳送功能時的副變換部330的內(nèi)部結(jié)構(gòu)圖。
數(shù)據(jù)正變換部50的結(jié)構(gòu)與圖13的數(shù)據(jù)正變換部50為相同的結(jié)構(gòu),數(shù)據(jù)逆變換部70的結(jié)構(gòu)與圖14的數(shù)據(jù)逆變換部70為相同的結(jié)構(gòu)。因此,圖15所示的數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70分別能把輸入的數(shù)據(jù)原封不動輸出。
這樣,副變換部330具有把輸入的數(shù)據(jù)原封不動傳送,以向選擇器310輸入的功能,從而圖56所示的把主變換部320的輸出數(shù)據(jù)向選擇器310傳送的路徑變?yōu)椴槐匾?br>
此外,如圖60所示,在主變換部320具有1級以下的F函數(shù)時的數(shù)據(jù)編碼/譯碼處理中,為了通過主變換部320進(jìn)行1級的F函數(shù)的非線性變換,如上所述,運(yùn)算寄存器350有必要在一定期間保持中間數(shù)據(jù)。在圖60中,從主變換部320輸出的中間數(shù)據(jù)經(jīng)過選擇器310向運(yùn)算寄存器350輸出的環(huán)路相當(dāng)于此。
可是,如果象本實(shí)施例那樣,使用把副變換部330的數(shù)據(jù)傳送的功能,則所述環(huán)路變?yōu)椴灰?。即從主變換部320輸出的中間數(shù)據(jù)由副變換部330傳送,輸入到選擇器310中,選擇器310選擇輸入的中間數(shù)據(jù),從而發(fā)送給主變換部320。
通過使用該數(shù)據(jù)路徑,與圖56和圖60所示的給選擇器310的輸入信號數(shù)相比,能減少給選擇器310的輸入信號數(shù),所以能抑制、減少選擇器的增加。
圖6、圖7所示的數(shù)據(jù)變換裝置中也同樣,從主變換部320到選擇器310的路徑變?yōu)椴灰?,能謀求裝置的小型化,此外,能謀求基于選擇器數(shù)減少的低耗電。
須指出的是,F(xiàn)L數(shù)據(jù)傳遞信號和FL-1數(shù)據(jù)傳遞信號可以是同一信號。
實(shí)施例3在本實(shí)施例中,說明數(shù)據(jù)正變換部50或數(shù)據(jù)逆變換部70的至少任一個具有密鑰傳送功能和數(shù)據(jù)傳送功能時的情形。
副變換處理-副變換部330-數(shù)據(jù)正變換部50具有密鑰傳送功能和數(shù)據(jù)傳送功能,數(shù)據(jù)逆變換部70具有密鑰傳送功能時的情形圖16是數(shù)據(jù)正變換部50具有密鑰傳送功能和數(shù)據(jù)傳送功能,數(shù)據(jù)逆變換部70具有密鑰傳送功能時的副變換部330的內(nèi)部結(jié)構(gòu)圖。
數(shù)據(jù)逆變換部70的結(jié)構(gòu)和動作與圖11所示的具有密鑰傳送功能的數(shù)據(jù)逆變換部70同樣,所以這里省略說明。
數(shù)據(jù)正變換部50的結(jié)構(gòu)和動作是組合圖10所示的具有密鑰傳送功能的數(shù)據(jù)正變換部50、圖13所示的具有數(shù)據(jù)傳送功能的數(shù)據(jù)正變換部50的結(jié)構(gòu)。
在數(shù)據(jù)正變換部50中,F(xiàn)L密鑰傳遞信號具有抑制輸入的數(shù)據(jù),使其無效的功能,F(xiàn)L掩碼信號具有使輸入密鑰通過的功能。
此外,F(xiàn)L數(shù)據(jù)傳遞信號具有使輸入密鑰無效,使數(shù)據(jù)通過的功能。
因此,當(dāng)FL密鑰傳遞信號和FL掩碼信號作為使密鑰傳送的傳送信號,保持0時,無法進(jìn)行數(shù)據(jù)的傳送,所以FL數(shù)據(jù)傳遞信號作為使數(shù)據(jù)傳送的傳送信號,無法保持0。同樣,當(dāng)FL數(shù)據(jù)傳遞信號作為使數(shù)據(jù)傳送的傳送信號,保持0時,無法進(jìn)行密鑰的傳送,所以FL密鑰傳遞信號和FL掩碼信號作為使密鑰傳送的傳送信號,無法保持0。
此外,當(dāng)FL密鑰傳遞信號、FL掩碼信號、FL數(shù)據(jù)傳遞信號和FL-1掩碼信號都作為傳送信號,無法保持0時,數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70進(jìn)行本來應(yīng)該進(jìn)行的輸入數(shù)據(jù)的線性變換處理。
首先,說明數(shù)據(jù)正變換部50傳送密鑰的動作。
數(shù)據(jù)正變換部50輸入0作為FL密鑰傳遞信號,輸入0作為FL掩碼信號。因?yàn)椴粋魉蛿?shù)據(jù),所以FL數(shù)據(jù)傳遞信號保持1。
首先,AND電路51通過FL密鑰傳遞信號抑制數(shù)據(jù),使之無效。密鑰1原封不動通過AND電路54,循環(huán)左移1位后,輸入到AND電路60中。FL數(shù)據(jù)傳遞信號為1,所以密鑰1原封不動通過AND電路60,在EXOR電路55中,取密鑰1和從AND電路51輸出的輸出數(shù)據(jù)的低位的異或,所以密鑰1作為輸出信號的低位數(shù)據(jù)輸出。
密鑰2根據(jù)從AND電路58輸出的0,通過OR電路57,根據(jù)FL數(shù)據(jù)傳遞信號,通過AND電路59,在EXOR電路56中取與從AND電路51輸出的輸出數(shù)據(jù)0的高位的異或,所以也通過EXOR電路56,成為輸出信號的高位數(shù)據(jù)。這樣,數(shù)據(jù)正變換部50能原封不動傳送密鑰(密鑰1、密鑰2)。
下面,說明數(shù)據(jù)正變換部50傳送數(shù)據(jù)時的動作。
FL數(shù)據(jù)傳遞信號使輸入信號為0。FL密鑰傳遞信號和FL掩碼信號保持1。
AND電路51使數(shù)據(jù)通過,把通過的數(shù)據(jù)的低位輸入到EXOR電路55。在AND電路60中,輸入的FL數(shù)據(jù)傳遞信號為0,所以AND電路60的輸出為0,輸入到EXOR電路55中的數(shù)據(jù)的低位通過EXOR電路55,作為輸出信號的低位數(shù)據(jù)輸出。
同樣,因?yàn)镕L數(shù)據(jù)傳遞信號為0,所以AND電路59的輸出變?yōu)?,輸入到EXOR電路56的數(shù)據(jù)的高位通過EXOR電路56,作為輸出信號的高位數(shù)據(jù)輸出。
這樣,數(shù)據(jù)正變換部50能使數(shù)據(jù)原封不動通過。
這樣,F(xiàn)L密鑰傳遞信號或FL-1密鑰傳遞信號即密鑰傳遞信號、由FL掩碼信號和FL-1掩碼信號構(gòu)成的掩碼信號傳送密鑰,F(xiàn)L數(shù)據(jù)傳遞信號傳送數(shù)據(jù)。
副變換處理-副變換部330-數(shù)據(jù)正變換部50具有密鑰傳送功能,數(shù)據(jù)逆變換部70具有密鑰傳送功能和數(shù)據(jù)傳送功能時的情形圖17是數(shù)據(jù)正變換部50具有密鑰傳送功能,數(shù)據(jù)逆變換部70具有密鑰傳送功能和數(shù)據(jù)傳送功能時的副變換部330的內(nèi)部結(jié)構(gòu)圖。
數(shù)據(jù)正變換部50的結(jié)構(gòu)和動作與圖10所示的具有密鑰傳送功能的數(shù)據(jù)正變換部50同樣,所以這里省略說明。
數(shù)據(jù)逆變換部70的動作為與圖16所示的數(shù)據(jù)正變換部50同樣的動作,動作的細(xì)節(jié)已經(jīng)描述,所以省略。
副變換處理-副變換部330-數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70具有密鑰傳送功能和數(shù)據(jù)傳送功能時的情形圖18是數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70分別具有密鑰傳送功能和數(shù)據(jù)傳送功能時的副變換部330的內(nèi)部結(jié)構(gòu)圖。
關(guān)于數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70進(jìn)行的傳送動作,已經(jīng)描述,所以省略。這里,數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70都具有密鑰傳送功能和數(shù)據(jù)傳送功能,所以數(shù)據(jù)變換裝置能進(jìn)行高度的密鑰和數(shù)據(jù)傳送處理。
副變換處理-副變換部330-數(shù)據(jù)正變換部50具有密鑰傳送功能和數(shù)據(jù)傳送功能時的情形在圖19是數(shù)據(jù)正變換部50具有密鑰傳送功能和數(shù)據(jù)傳送功能,數(shù)據(jù)逆變換部70不具有這些傳送功能的任一個時的副變換部330的結(jié)構(gòu)圖。
關(guān)于數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70的動作,已經(jīng)描述,所以省略。
副變換處理-副變換部330-數(shù)據(jù)逆變換部70具有密鑰傳送功能和數(shù)據(jù)傳送功能時的情形在圖20是數(shù)據(jù)逆變換部70具有密鑰傳送功能和數(shù)據(jù)傳送功能,數(shù)據(jù)正變換部50不具有這些傳送功能的任一個時的副變換部330的結(jié)構(gòu)圖。
關(guān)于數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70的動作,已經(jīng)描述,所以省略。
副變換處理-副變換部330-數(shù)據(jù)正變換部50具有密鑰傳送功能和數(shù)據(jù)傳送功能,數(shù)據(jù)逆變換部70具有數(shù)據(jù)傳送功能時的情形圖21是數(shù)據(jù)正變換部50具有密鑰傳送功能和數(shù)據(jù)傳送功能,數(shù)據(jù)逆變換部70只具有數(shù)據(jù)傳送功能時的副變換部330的結(jié)構(gòu)圖。
關(guān)于數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70的動作,已經(jīng)描述,所以省略。
副變換處理-副變換部330-數(shù)據(jù)逆變換部70具有密鑰傳送功能和數(shù)據(jù)傳送功能,數(shù)據(jù)正變換部50只具有數(shù)據(jù)傳送功能時的情形圖22是數(shù)據(jù)正變換部50具有數(shù)據(jù)傳送功能,數(shù)據(jù)逆變換部70具有密鑰傳送功能和數(shù)據(jù)傳送功能時的副變換部330的結(jié)構(gòu)圖。
關(guān)于數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70的動作,已經(jīng)描述,所以省略。
副變換處理-副變換部330-數(shù)據(jù)正變換部50具有數(shù)據(jù)傳送功能,數(shù)據(jù)逆變換部70具有密鑰傳送功能時的情形圖23是數(shù)據(jù)正變換部50具有數(shù)據(jù)傳送功能,數(shù)據(jù)逆變換部70具有密鑰傳送功能時的副變換部330的結(jié)構(gòu)圖。
關(guān)于各動作,已經(jīng)描述,所以省略。
副變換處理-副變換部330-數(shù)據(jù)正變換部50具有密鑰傳送功能,數(shù)據(jù)逆變換部70具有數(shù)據(jù)傳送功能時的情形圖24是數(shù)據(jù)正變換部50具有密鑰傳送功能,數(shù)據(jù)逆變換部70具有數(shù)據(jù)傳送功能時的副變換部330的結(jié)構(gòu)圖。
關(guān)于各動作,已經(jīng)描述,所以省略。
副變換處理-副變換部330-串聯(lián)數(shù)據(jù)逆變換部70和數(shù)據(jù)正變換部50-數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70具有數(shù)據(jù)傳送功能時的情形圖25是串聯(lián)數(shù)據(jù)逆變換部70和數(shù)據(jù)正變換部50,數(shù)據(jù)逆變換部70具有數(shù)據(jù)傳送功能,數(shù)據(jù)正變換部50也具有數(shù)據(jù)傳送功能時的結(jié)構(gòu)圖。
關(guān)于各內(nèi)部動作,已經(jīng)描述,所以省略。
在圖25所示的結(jié)構(gòu)中,由數(shù)據(jù)逆變換部70傳送的數(shù)據(jù)輸入數(shù)據(jù)正變換部50中,作為由數(shù)據(jù)正變換部50進(jìn)一步傳送的輸出信號輸出。
這樣,通過串聯(lián)配置、連接數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70,不僅基于數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70的線性變換,而且只基于數(shù)據(jù)逆變換部70或只基于數(shù)據(jù)正變換部50的數(shù)據(jù)的線性變換成為可能。即把由數(shù)據(jù)逆變換部70進(jìn)行數(shù)據(jù)的線性變換的數(shù)據(jù)輸入數(shù)據(jù)正變換部50中,在數(shù)據(jù)正變換部50中,能把輸入的數(shù)據(jù)不線性變換就傳送。此外,用數(shù)據(jù)逆變換部70把輸入的數(shù)據(jù)傳送給數(shù)據(jù)正變換部50,能只用數(shù)據(jù)正變換部50把數(shù)據(jù)線性變換。
因此,是只想用數(shù)據(jù)正變換部50或數(shù)據(jù)逆變換部70進(jìn)行數(shù)據(jù)變換時有效的結(jié)構(gòu)。這樣的效果在后面描述的圖26~圖30所示的副變換部330中也能產(chǎn)生同樣的效果。
副變換處理-副變換部330-串聯(lián)數(shù)據(jù)逆變換部70和數(shù)據(jù)正變換部50-數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70具有數(shù)據(jù)傳送功能時的情形圖26表示圖25的數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70上下交換時的副變換部330的結(jié)構(gòu)。
動作和效果與圖25所示的副變換部330同樣,所以省略。
副變換處理-副變換部330-串聯(lián)數(shù)據(jù)逆變換部70和數(shù)據(jù)正變換部50-數(shù)據(jù)正變換部50具有密鑰傳送功能和數(shù)據(jù)傳送功能,數(shù)據(jù)逆變換部70具有數(shù)據(jù)傳送功能時的情形圖27是在圖26的數(shù)據(jù)正變換部50中再附編碼鑰傳送功能時的副變換部330的結(jié)構(gòu)圖。
數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70的內(nèi)部結(jié)構(gòu)和動作已經(jīng)描述,所以省略。
副變換處理-副變換部330-串聯(lián)數(shù)據(jù)逆變換部70和數(shù)據(jù)正變換部50-數(shù)據(jù)正變換部50具有密鑰傳送功能和數(shù)據(jù)傳送功能,數(shù)據(jù)逆變換部70具有數(shù)據(jù)傳送功能時的情形圖28表示圖27的數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70上下交換時的副變換部330的結(jié)構(gòu)。
數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70的內(nèi)部結(jié)構(gòu)和動作已經(jīng)描述,所以省略。
副變換處理-副變換部330-串聯(lián)數(shù)據(jù)逆變換部70和數(shù)據(jù)正變換部50-數(shù)據(jù)正變換部50具有數(shù)據(jù)傳送功能,數(shù)據(jù)逆變換部70具有密鑰傳送功能和數(shù)據(jù)傳送功能時的情形圖29是在圖26所示的結(jié)構(gòu)中追加數(shù)據(jù)逆變換部70的密鑰傳送功能的結(jié)構(gòu)圖。
數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70的內(nèi)部結(jié)構(gòu)和動作已經(jīng)描述,所以省略。
副變換處理-副變換部330-串聯(lián)數(shù)據(jù)逆變換部70和數(shù)據(jù)正變換部50-數(shù)據(jù)正變換部50具有數(shù)據(jù)傳送功能,數(shù)據(jù)逆變換部70具有密鑰傳送功能和數(shù)據(jù)傳送功能時的情形圖30表示圖29的數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70上下交換時的副變換部330的結(jié)構(gòu)。
內(nèi)部結(jié)構(gòu)和動作如上所述,所以省略。
這樣,F(xiàn)L密鑰傳遞信號和FL-1密鑰傳遞信號具有抑制輸入的數(shù)據(jù),使其無效的功能,F(xiàn)L掩碼信號和FL-1掩碼信號具有使輸入密鑰通過的功能。
此外,F(xiàn)L數(shù)據(jù)傳遞信號和FL-1數(shù)據(jù)傳遞信號具有使輸入密鑰無效,使數(shù)據(jù)通過的功能。
以上的6個信號全是傳送信號,當(dāng)不輸入這些傳送信號時,如關(guān)聯(lián)技術(shù)所述,數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70進(jìn)行本來進(jìn)行的數(shù)據(jù)的線性變換。
副變換處理-副變換部330-串聯(lián)數(shù)據(jù)逆變換部70和數(shù)據(jù)正變換部50-數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70具有密鑰傳送功能和數(shù)據(jù)傳送功能時的情形圖62由圖27所示的數(shù)據(jù)正變換部50的結(jié)構(gòu)和圖29所示的數(shù)據(jù)逆變換部70的結(jié)構(gòu)構(gòu)成。即串聯(lián)的數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70雙方都具有密鑰傳送功能和數(shù)據(jù)傳送功能。
數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70的結(jié)構(gòu)和動作如上所述,所以省略。
副變換處理-副變換部330-串聯(lián)數(shù)據(jù)逆變換部70和數(shù)據(jù)正變換部50-數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70具有密鑰傳送功能和數(shù)據(jù)傳送功能時的情形圖63表示圖62的數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70上下交換時的副變換部330的結(jié)構(gòu)。
內(nèi)部結(jié)構(gòu)和動作如上所述,所以省略。
實(shí)施例4在本實(shí)施例中,說明在以數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70為共用電路的1/2副變換部90中附編碼鑰和數(shù)據(jù)傳送功能的結(jié)構(gòu)及其動作。
副變換處理-副變換部330-1/2副變換部90具有密鑰傳送功能和數(shù)據(jù)傳送功能時的情形圖31是在1/2副變換部90中附編碼鑰傳送功能和數(shù)據(jù)傳送功能時的副變換部330的結(jié)構(gòu)圖。
對于關(guān)聯(lián)技術(shù)所示的圖59,附編碼鑰傳遞信號、掩碼信號、數(shù)據(jù)傳遞信號。此外,附加用于伴隨著這些傳送信號的輸入,傳送密鑰和數(shù)據(jù)的電路。
首先,切換信號是切換數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70的信號。當(dāng)從輸入到2-1選擇器99a中的A信號和E信號中,根據(jù)切換信號選擇A信號作為輸出信號B輸出,從輸入到2-1選擇器99b的C信號和F信號中,根據(jù)切換信號選擇C信號作為輸出信號D輸出時,1/2副變換部90進(jìn)行與數(shù)據(jù)正變換部50同樣的數(shù)據(jù)變換。
而在2-1選擇器99a根據(jù)切換信號,選擇E信號作為輸出信號,2-1選擇器99b根據(jù)切換信號,選擇B信號作為輸出信號時,1/2副變換部90進(jìn)行與數(shù)據(jù)逆變換部70相同的數(shù)據(jù)變換。
當(dāng)根據(jù)切換信號,1/2副變換部90作為數(shù)據(jù)正變換部50起作用時,圖31所示的動作變?yōu)榕c圖18所示的數(shù)據(jù)正變換部50的動作同樣。即密鑰傳遞信號與圖18的FL密鑰傳遞信號對應(yīng),掩碼信號與圖18的FL掩碼信號對應(yīng),數(shù)據(jù)傳遞信號與圖18的FL數(shù)據(jù)傳遞信號對應(yīng)。
此外,作為各電路的對應(yīng),98與AND電路51(圖18)對應(yīng),91與EXOR電路55(圖18)對應(yīng),95與AND電路60(圖18)對應(yīng),101與AND電路54(圖18)對應(yīng),94與OR電路53(圖18)對應(yīng),100與NOT電路52(圖18)對應(yīng),96與AND電路58(圖18)對應(yīng),92與OR電路57(圖18)對應(yīng),97與AND電路59(圖18)對應(yīng),93與EXOR電路56(圖18)對應(yīng)。
通過這樣對應(yīng),1/2副變換部90能發(fā)揮圖18的數(shù)據(jù)正變換部50的功能。即在進(jìn)行數(shù)據(jù)正變換的同時,輸入密鑰傳送信號時,通過使輸入的密鑰為輸出信號,能傳送密鑰(密鑰1、密鑰2)。須指出的是,關(guān)于這些動作,與圖18的數(shù)據(jù)正變換部50同樣,所以省略說明。
當(dāng)1/2副變換部90根據(jù)切換信號,作為數(shù)據(jù)逆變換部70起作用時,圖31所示的動作與圖18所示的數(shù)據(jù)逆變換部70的動作同樣。即密鑰傳遞信號與圖18的FL-1密鑰傳遞信號對應(yīng),掩碼信號與圖18的FL-1掩碼信號對應(yīng),數(shù)據(jù)傳遞信號與圖18的FL-1傳遞信號對應(yīng)。
此外,作為各電路的對應(yīng),98與AND電路71(圖18)對應(yīng),91與EXOR電路76(圖18)對應(yīng),95與AND電路80(圖18)對應(yīng),101與AND電路77(圖18)對應(yīng),94與OR電路78(圖18)對應(yīng),96與AND電路73(圖18)對應(yīng),92與OR電路74(圖18)對應(yīng),97與AND電路79(圖18)對應(yīng),93與EXOR電路75(圖18)對應(yīng)。
通過這樣對應(yīng),1/2副變換部90能發(fā)揮與圖18的數(shù)據(jù)逆變換部70的功能。即在進(jìn)行數(shù)據(jù)逆變換的同時,輸入密鑰傳送信號時,通過把輸入的密鑰作為輸出信號,能傳送密鑰(密鑰3、密鑰4)。須指出的是,關(guān)于這些動作,與圖18的數(shù)據(jù)逆變換部70同樣,所以省略說明。
副變換處理-副變換部330-1/2副變換部90具有數(shù)據(jù)傳送功能時的情形圖32是對1/2副變換部90附加數(shù)據(jù)傳送功能時的副變換部330的結(jié)構(gòu)圖。
與圖31同樣,由2-1選擇器99a選擇A信號,由2-1選擇器99b選擇C信號時,1/2副變換部90具有與圖13的數(shù)據(jù)正變換部50同樣的功能。這時,數(shù)據(jù)傳遞信號與FL數(shù)據(jù)傳遞信號對應(yīng)。
此外,由根據(jù)切換信號,在2-1選擇器99a選擇E信號,在2-1選擇器99b中選擇F信號時,1/2副變換部90具有與圖14的數(shù)據(jù)逆變換部70同樣的功能。這時,數(shù)據(jù)傳遞信號與FL-1數(shù)據(jù)傳遞信號對應(yīng)。
根據(jù)這樣的1/2副變換部90的結(jié)構(gòu),在1/2副變換部90變換數(shù)據(jù)的同時,輸入傳送數(shù)據(jù)的傳送信號時,不變換數(shù)據(jù)而輸出,能進(jìn)行傳送處理。
須指出的是,關(guān)于這些動作,如上所述,所以省略說明。
副變換處理-副變換部330-1/2副變換部90具有密鑰傳送功能時的情形圖33是在1/2副變換部90中附編碼鑰傳送功能時的副變換部330的結(jié)構(gòu)圖。
與圖31同樣,由2-1選擇器99a選擇A信號,由2-1選擇器99b選擇C信號時,1/2副變換部90具有與圖10的數(shù)據(jù)正變換部50同樣的功能。這時,密鑰傳遞信號和掩碼信號與FL密鑰傳遞信號和FL掩碼信號對應(yīng)。
此外,根據(jù)切換信號,在2-1選擇器99a中選擇E信號,在2-1選擇器99b中選擇F信號時,1/2副變換部90具有與圖11的數(shù)據(jù)逆變換部70同樣的功能。這時,密鑰傳遞信號和掩碼信號與FL-1密鑰傳遞信號和FL-1掩碼信號對應(yīng)。
根據(jù)這樣的1/2副變換部90,1/2副變換部90在變換數(shù)據(jù)的同時,輸入傳送密鑰的傳送信號時,通過不變換而輸出密鑰,能進(jìn)行傳送處理。
須指出的是,關(guān)于這些動作,已經(jīng)描述,所以省略說明。
如本實(shí)施例所示,把數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70作為共用電路構(gòu)成的1/2副變換部90具有傳送密鑰的功能和傳送數(shù)據(jù)的功能,從而通過副變換部330的小型化和通過不要所述密鑰的路徑和數(shù)據(jù)路徑,防止選擇器的增加,能使數(shù)據(jù)變換裝置全體小型化。
以上,以CAMELLIA的結(jié)構(gòu)為中心說明實(shí)施例1~實(shí)施例4描述的進(jìn)行塊編碼的數(shù)據(jù)變換裝置??墒牵哂幸陨险f明的傳送功能的副變換部330能應(yīng)用于CAMELLIA、MISTY、KASUMI等進(jìn)行塊編碼的數(shù)據(jù)變換裝置。
在上說明的圖1或圖6或圖7所示的數(shù)據(jù)變換裝置中,構(gòu)成選擇器310的2-1選擇器能為1個或2個。
與此比較,在表示所述關(guān)聯(lián)技術(shù)的數(shù)據(jù)變換裝置中,如圖56所示,為了從4個信號選擇1個信號,需要3個2-1選擇器。
在圖60所示的使用1/2F函數(shù)的數(shù)據(jù)變換裝置中,310為了從5個輸入信號中選擇1個輸出信號,4個2-1選擇器成為必要。
因此,根據(jù)圖1或圖6或圖7所示的數(shù)據(jù)變換裝置,與基于關(guān)聯(lián)技術(shù)的數(shù)據(jù)變換裝置相比,能減少構(gòu)成數(shù)據(jù)攪拌部的選擇器的數(shù)。
在圖7所示的數(shù)據(jù)變換裝置中,并聯(lián)配置主變換部320和副變換部330,所以1個選擇器340成為必要。選擇器340把從主變換部320和副變換部330輸出的2個輸出信號作為輸入信號輸入,由1個從2個輸入信號中選擇1個輸入信號的2-1選擇器構(gòu)成。因此,在圖7中,選擇器310和選擇器340中必要的2-1選擇器為2個。
因此,在圖7所示的數(shù)據(jù)變換裝置中,與基于關(guān)聯(lián)技術(shù)的數(shù)據(jù)變換裝置相比,能減少構(gòu)成數(shù)據(jù)攪拌部的選擇器的數(shù)。
實(shí)施例5在本實(shí)施例中,在進(jìn)行塊編碼處理的CAMELLIA中,說明并聯(lián)主變換部320和副變換部330的CAMELLIA。
CAMELLIA中,塊長度為128位,密鑰長度可利用128位、192位、256位。
算法的結(jié)構(gòu)是具有上述特征的FEISTEL構(gòu)造,基本上編碼和譯碼處理能用同一硬件或軟件實(shí)現(xiàn)。
F函數(shù)依存于密鑰長度,當(dāng)128位密鑰時,為18級(圖34的主變換部320的6級×3),當(dāng)192位、256位密鑰時,如圖54和圖55所示,成為24級。關(guān)于圖54和圖55,后面描述。
圖34是表示128位密鑰的CAMELLIA時的編碼處理的圖。即在圖34中,對P(普通數(shù)據(jù))進(jìn)行基于主變換部320和副變換部330的數(shù)據(jù)變換(數(shù)據(jù)編碼),輸出C(編碼數(shù)據(jù))。在圖34中,在F函數(shù)每6級中插入FL(數(shù)據(jù)正變換函數(shù))和FL-1(數(shù)據(jù)逆變換函數(shù))。
圖34的左側(cè)與作為基于圖4的數(shù)據(jù)攪拌部30的動作記載的同樣。即圖4的EXOR電路31a和EXOR電路31b與圖34的EXOR電路600和EXOR電路601對應(yīng),實(shí)際上由副變換部330中包含的EXOR進(jìn)行處理。此外,圖34所示的全部密鑰如圖4所示,由密鑰調(diào)度部210調(diào)度,輸入輸出的密鑰。
此外,圖34的右側(cè)與圖57所示的圖同樣。
圖35是表示128位密鑰的CAMELLIA時的譯碼處理的圖。
在圖35中,對C(編碼數(shù)據(jù))進(jìn)行基于主變換部320和副變換部330的數(shù)據(jù)變換(數(shù)據(jù)的譯碼),輸出P(譯碼數(shù)據(jù))。
須指出的是,圖34和圖35所示的動作如上所述,所以省略。
圖36是CAMELLIA的F函數(shù)的內(nèi)部結(jié)構(gòu)圖。
CAMELLIA的F函數(shù)的內(nèi)部為SPN構(gòu)造,數(shù)據(jù)處理基本上以從輸入數(shù)據(jù)(1)到輸入數(shù)據(jù)(8)的8位為單位進(jìn)行,由基于稱作S框構(gòu)成的S函數(shù)和P函數(shù)的異或(EXOR)的線性變換構(gòu)成。
在F函數(shù)部321中,首先輸入各8位的輸入數(shù)據(jù)(1)到輸入數(shù)據(jù)(8),對輸入的64位密鑰分別取密鑰(1)到密鑰(8)各8位的合計64位密鑰的異或,并輸出。輸出的數(shù)據(jù)輸入到S函數(shù)324中,根據(jù)合成F(28)的逆元運(yùn)算和仿射變換的S函數(shù)324,按字節(jié)單位進(jìn)行非線性變換。
接著,根據(jù)P函數(shù)325,對數(shù)據(jù)進(jìn)行即與異或的線性變換,通過這樣的動作,攪拌數(shù)據(jù)后,作為輸出數(shù)據(jù)(1)~輸出數(shù)據(jù)(8)輸出。
CAMELLIA的F函數(shù)的數(shù)據(jù)寬度為64位。在圖36中,在S函數(shù)324中準(zhǔn)備2組(從圖36之下開始的S1、S2、S3、S4的一組和其上的S2、S3、S4、S1的一組)S1~S4的S框。
因此,如圖36所示,首先進(jìn)行從輸入數(shù)據(jù)(1)到輸入數(shù)據(jù)(4)的數(shù)據(jù)變換,進(jìn)行從剩下的輸入數(shù)據(jù)即輸入數(shù)據(jù)(5)到輸入數(shù)據(jù)(8)的數(shù)據(jù)變換,進(jìn)行處理。這時,如上所述,為了在第二次數(shù)據(jù)變換中,有效利用構(gòu)成從S1~S4按順序配置的S框的電路,預(yù)先把數(shù)據(jù)循環(huán)移位1字節(jié),通過輸入循環(huán)移位的輸入數(shù)據(jù)(5)到輸入數(shù)據(jù)(8),不改變S函數(shù)324的結(jié)構(gòu),能使數(shù)據(jù)與S1~S4的S框?qū)?yīng)。
這樣,F(xiàn)函數(shù)通過密鑰和輸入數(shù)據(jù)的EXOR(異或)、4種S函數(shù)(S1~S4)的2次以及基于P函數(shù)325的運(yùn)算,實(shí)現(xiàn)數(shù)據(jù)的非線性變換。
因?yàn)槭荢BOX(GF(28)上的逆元電路+仿射變換)S1~S4的S函數(shù)324、P函數(shù)325、數(shù)據(jù)正變換(FL)和數(shù)據(jù)逆變換(FL-1)函數(shù),所以能以簡單的圈代數(shù)的組合實(shí)現(xiàn)CAMELLIA的代表性的運(yùn)算。
下面,詳細(xì)說明CAMELLIA的全體結(jié)構(gòu)和動作。
圖37是表示CAMELLIA的全體結(jié)構(gòu)和動作的圖。
CAMELLIA當(dāng)輸入的編碼密鑰為128位時,在內(nèi)部擴(kuò)大為256位,使用擴(kuò)大的擴(kuò)大密鑰,進(jìn)行數(shù)據(jù)的編碼/譯碼。
當(dāng)輸入的編碼密鑰為192位和256位密鑰時,在內(nèi)部擴(kuò)大為512位后,在數(shù)據(jù)的編碼/譯碼中使用,但是后面就192位和256位密鑰的情形加以說明。
首先,描述CAMELLIA的構(gòu)造的特征。
通過主變換部320重復(fù)運(yùn)算同樣的F函數(shù),實(shí)現(xiàn)CAMELLIA的算法全體。此外,F(xiàn)函數(shù)采用圖36所示的結(jié)構(gòu)。
此外,在數(shù)據(jù)攪拌部30中,如圖4的EXOR電路31a和EXOR電路31b所示,進(jìn)行輸入數(shù)據(jù)以及輸出數(shù)據(jù)和密鑰的異或運(yùn)算(EXOR)。把它稱作加白(whitening)。
此外,在數(shù)據(jù)攪拌部30中,在具有F函數(shù)6級的各主變換部320中插入具有數(shù)據(jù)正變換(FL)和數(shù)據(jù)逆變換(FL-1)的副變換部330。如圖34和圖35所示。
此外,如上所述,如圖2所示生成擴(kuò)大密鑰(中間密鑰+輸出密鑰)。
由此可知,能從具有數(shù)據(jù)正變換(FL)和數(shù)據(jù)逆變換(FL-1)的副變換部330、P函數(shù)325、4種S框構(gòu)筑實(shí)現(xiàn)CAMELLIA算法的數(shù)據(jù)變換裝置。
此外,通過按照“128位塊編碼Camellia算法規(guī)格書”所示的表現(xiàn)方法表現(xiàn),能使P函數(shù)325小型化。
具體而言,根據(jù)所述規(guī)格書,P函數(shù)能表現(xiàn)如下。
z1’=z1+z3+z4+z6+z7+z8z2’=z1+z2+z4+z5+z7+z8z3’=z1+z2+z3+z5+z6+z8z4’=z2+z3+z4+z5+z6+z7z5’=z1+z2+z6+z7+z8z6’=z2+z3+z5+z7+z8z7’=z3+z4+z5+z6+z8z8’=z1+z4+z5+z6+z7求出所述z1’~z8’的表達(dá)式的“+”表示異或運(yùn)算。
z1到z8分別是來自mS1、S2、S3、S4、S5(=S2)、S6(=S3)、S7(=S4)、S8(=S1)的輸出。這里,如果把z5到z8變換記述為zz2、zz3、zz4、zz1,則變?yōu)槿缦隆?br>
z1’=z1+z3+z4+zz1+zz3+zz4z2’=z1+z2+z4+zz1+zz2+zz4z3’=z1+z2+z3+zz1+zz2+zz3
z4’=z2+z3+z4+zz2+zz3+zz4z5’=z1+z2+zz1+zz3+zz4z6’=z2+z3+zz1+zz2+zz4z7’=z3+z4+zz1+zz2+zz3z8’=z1+z4+zz2+zz3+zz4據(jù)此,通過象輸出Z1~Z4的運(yùn)算和輸出zz1~zz4的運(yùn)算那樣,用2時鐘運(yùn)算S1~S4,能用約一半的電路構(gòu)成P函數(shù)。
根據(jù)圖37說明基于CAMELLIA的數(shù)據(jù)變換裝置。
在圖37所示的CAMELLIA的數(shù)據(jù)變換裝置中,并聯(lián)配置主變換部320和副變換部330。
副變換部330具有數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70。
主變換部320具有由1/2的F函數(shù)構(gòu)成的F函數(shù)部。主變換部320由未滿F函數(shù)的F函數(shù)即1/2x(x≥1)F函數(shù)構(gòu)成時,象以圖61的1/2F函數(shù)為例說明的那樣,必須在1級F函數(shù)保持基于F函數(shù)部1321a的處理和F函數(shù)部1321b的處理的中間結(jié)果即EXOR電路1322a的輸出結(jié)果。
一般,如果采用減少安裝的F函數(shù)的個數(shù),用多次循環(huán)結(jié)構(gòu)實(shí)現(xiàn)基于1級F函數(shù)的數(shù)據(jù)變換處理,F(xiàn)函數(shù)部分的電路規(guī)模減小,但是控制循環(huán)的控制電路、對各F函數(shù)輸入密鑰的選擇器的電路增加。這樣,F(xiàn)函數(shù)部分的電路規(guī)模和用于控制循環(huán)的電路規(guī)模為抵消的關(guān)系。
因此,考慮CAMELLIA的數(shù)據(jù)變換裝置的小型化時,有必要研究安裝的F函數(shù)的個數(shù)和重復(fù)的次數(shù)。即有必要充分研究實(shí)現(xiàn)在主變換部320上安裝1個F函數(shù)的CAMELLIA的數(shù)據(jù)變換裝置,或削減F函數(shù)內(nèi)安裝SBOX的數(shù)量,用數(shù)周期運(yùn)算基于1級部分的F函數(shù)的數(shù)據(jù)變換。這意味著研究通過由未滿1級的F函數(shù)構(gòu)成F函數(shù)部而削減的電路規(guī)模和構(gòu)成環(huán)路的選擇器的增加引起的電路規(guī)模增加的抵消。
此外,當(dāng)CAMELLIA時,如上所述,為了生成輸出密鑰(密鑰KA)而使用的函數(shù)使用數(shù)據(jù)攪拌部30的主變換部320的一部分。因此,這時,有必要充分研究為了利用數(shù)據(jù)攪拌部30的F函數(shù)而追加的選擇器等的影響。
如使用圖36說明的那樣,CAMELLIA的F函數(shù)使用進(jìn)行8位輸入輸出的4種(S1、S2、S3、S4)S框各2次。這里,有必要研究安裝8個SBOX,或安裝4個,重復(fù)2次。
根據(jù)2001年編碼和信息安全討論會預(yù)稿集中記載的“關(guān)于128位塊編碼的硬件安裝(III)”,1個S框的電路規(guī)模為約200門,如果把S框從8個削減為4個,就削減約800個門。
而用于進(jìn)行與它處于抵消的關(guān)系的重復(fù)的2-1選擇器至少需要32個(約NAND電路100門)。
據(jù)此,與安裝8個S框相比,安裝4個,重復(fù)2次,能減少電路。
因此,CAMELLIA的數(shù)據(jù)變換裝置的F函數(shù)部321能安裝8個S框,進(jìn)行1次數(shù)據(jù)變換,但是也能通過安裝4個S框,重復(fù)2次數(shù)據(jù)變換,也能進(jìn)行數(shù)據(jù)變換,可以使用任一個??墒?,如果考慮電路規(guī)模,希望重復(fù)2次數(shù)據(jù)變換。
當(dāng)使用圖37所示的CAMELLIA的算法時,根據(jù)該序列,能以中間密鑰生成部40周期實(shí)現(xiàn)數(shù)據(jù)的編碼/譯碼。
以下表示中間密鑰生成部40周期的處理過程。
首先,在步驟1中,使用副變換部330運(yùn)算加白(Whitening)。
接著,在步驟2中,使用主變換部320運(yùn)算F函數(shù)的1/2處理(1/2F函數(shù))。
同樣,在步驟3中,使用主變換部320運(yùn)算剩下的F函數(shù)的1/2處理(1/2F函數(shù))。
在步驟4~步驟13中,進(jìn)行5次步驟2~步驟3。
在步驟14中,通過計算副變換部330的數(shù)據(jù)正變換(FL)和數(shù)據(jù)逆變換(FL-1)函數(shù),進(jìn)行數(shù)據(jù)的變換。
在步驟15~步驟27中,重復(fù)步驟2~步驟14。
在步驟28~步驟39中,重復(fù)步驟2~步驟13。
最后,在步驟40中,運(yùn)算與步驟S1同樣的加白(Whitening)。
這里,步驟1表示基于圖4的EXOR電路31a的運(yùn)算,步驟40表示基于圖4的EXOR電路31b的運(yùn)算。即EXOR電路31a和EXOR電路31b使用設(shè)置在副變換部330中的數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70具有的EXOR進(jìn)行運(yùn)算。
須指出的是,密鑰生成部20的結(jié)構(gòu)和動作與所述同樣,所以省略說明。
在上述的步驟2和步驟3中,通過主變換部320,用2周期進(jìn)行基于1個F函數(shù)的數(shù)據(jù)變換。關(guān)于該數(shù)據(jù)處理,使用圖37和圖64,說明具體的動作。
圖64如果與圖61比較,則不同點(diǎn)在于作為輸入密鑰,最初輸入低位的密鑰,接著輸入高位的密鑰,實(shí)現(xiàn)處理。
首先,說明步驟1的具體動作。輸入數(shù)據(jù)即P(普通數(shù)據(jù)或譯碼數(shù)據(jù))由2-1選擇器311選擇,分割為高位數(shù)據(jù)和低位數(shù)據(jù),高位數(shù)據(jù)由副變換部330的數(shù)據(jù)正變換部50進(jìn)行Whitening,低位數(shù)輸入副變換部330的數(shù)據(jù)逆變換部70中,同樣進(jìn)行Whitening。進(jìn)行Whitening的高位數(shù)據(jù)和低位數(shù)據(jù)輸入到2-1選擇器340的2-1選擇器H341和3-1選擇器L342中。各輸入的數(shù)據(jù)由2-1選擇器H341和3-1選擇器L342選擇,保持在運(yùn)算寄存器H351和運(yùn)算寄存器L352中。
下面,說明步驟2的動作。
保持在運(yùn)算寄存器H351中的高位數(shù)據(jù)的高位輸入到2-1選擇器312中,并且高位數(shù)據(jù)的低位旋轉(zhuǎn)移位1字節(jié),輸入到2-1選擇器312中。2-1選擇器312從2個輸入數(shù)據(jù)選擇旋轉(zhuǎn)移位的低位,向主變換部320輸出。通過把選擇的低位旋轉(zhuǎn)移位1字節(jié),如圖36所示,能把各輸入數(shù)據(jù)(5)~(8)應(yīng)用輸入到各S框中。在主變換部320中,通過具有1/2F函數(shù)的F函數(shù)部321,進(jìn)行圖64所示的第一級的上半部分?jǐn)?shù)據(jù)變換。這里,圖37的F函數(shù)部321和圖64的1/2F函數(shù)構(gòu)成的F函數(shù)部1321a~F函數(shù)部部1321l采用同一結(jié)構(gòu)?;趫D64所示的F函數(shù)部1321a的數(shù)據(jù)變換使用密鑰1L,把輸入的高位數(shù)據(jù)中的低位的一半位進(jìn)行數(shù)據(jù)變換,把變換后的數(shù)據(jù)向EXOR電路1322a輸出。EXOR電路1322a輸入由F函數(shù)部1321a輸出的變換后的數(shù)據(jù),并且取與輸入的低位數(shù)據(jù)的異或。即輸出的數(shù)據(jù)(中間數(shù)據(jù))從主變換部320輸入到3-1選擇器342L中,保持在運(yùn)算寄存器L352中。與此同時,保持在運(yùn)算寄存器H351中的P的高位數(shù)據(jù)通過2-1選擇器311,利用副變換部330的數(shù)據(jù)正變換部50的數(shù)據(jù)傳送,進(jìn)行數(shù)據(jù)傳送,經(jīng)由2-1選擇器H341,從運(yùn)算寄存器H351再保存到運(yùn)算寄存器H351中。
下面,說明步驟3的動作。
基于圖64的F函數(shù)部1321b的數(shù)據(jù)處理由基于圖37的主變換部320的第二周期的處理實(shí)現(xiàn)。即不旋轉(zhuǎn)移位1字節(jié),2-1選擇器312選擇輸入到2-1選擇器312的高位數(shù)據(jù)的高位,輸出到主變換部320。通過這樣的應(yīng)用,高位數(shù)據(jù)的高位一半位的數(shù)據(jù)由F函數(shù)部1321b進(jìn)行非線性變換,向EXOR電路1322b輸出。在EXOR電路1322b中,作為另一方的輸入信號,在第一周期中主變換部320輸出,通過把保持在運(yùn)算寄存器L352中的中間數(shù)據(jù)向主變換部320輸入,向EXOR電路1322b輸入。由EXOR電路1322b取異或后的輸出數(shù)據(jù)由2-1選擇器H341選擇,保持到運(yùn)算寄存器H351。在這時,P的高位數(shù)據(jù)經(jīng)由3-1選擇器L342保持到運(yùn)算寄存器L352中。因此,由圖64的主變換部320進(jìn)行的第2級的數(shù)據(jù)變換處理中使用的高位數(shù)據(jù)和低位數(shù)據(jù)保持在運(yùn)算寄存器H351和運(yùn)算寄存器L352中。
在步驟4~步驟13中,進(jìn)行5次步驟2~步驟3。
即用F函數(shù)部1321c和EXOR電路1322c在1周期中,用F函數(shù)部1321d和EXOR電路1322d在1周期中,合計在2周期中進(jìn)行的第二級的數(shù)據(jù)變換的處理相當(dāng)于步驟4、步驟5的處理。第三級到第六級的處理也同樣進(jìn)行,但是它相當(dāng)于步驟6~步驟13的處理。
須指出的是,如上所述,圖64的F函數(shù)部1321a到F函數(shù)部1321l的函數(shù)是與圖37的F函數(shù)部321的函數(shù)相同的函數(shù)。
下面,說明步驟14的處理。
它表示基于圖37的副變換部330的處理。
首先,保持在運(yùn)算寄存器H351和運(yùn)算寄存器L352中的步驟13的處理后的高位數(shù)據(jù)和低位數(shù)據(jù)輸入到2-1選擇器3311中,進(jìn)行選擇后,把高位數(shù)據(jù)向數(shù)據(jù)正變換部50輸入,把低位數(shù)據(jù)向數(shù)據(jù)逆變換部70輸入。
在數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70中,對輸入的各數(shù)據(jù)進(jìn)行線性變換,基于數(shù)據(jù)正變換部50的變換數(shù)據(jù)向2-1選擇器H341輸入,基于數(shù)據(jù)逆變換部70的變換數(shù)據(jù)向3-1選擇器L342輸入,分別選擇,分別保持在運(yùn)算寄存器H351和運(yùn)算寄存器L352中。
從步驟15到步驟的處理相當(dāng)于圖37的主變換部320的處理和副變換部330的處理。
從步驟28到步驟39的處理相當(dāng)于圖37的主變換部320的處理。
在步驟40中,與步驟1同樣,使用副變換部330的EXOR進(jìn)行Whitening。
經(jīng)過這些中間密鑰生成部40步驟,當(dāng)輸入數(shù)據(jù)P為普通數(shù)據(jù)時,通過編碼處理輸出編碼數(shù)據(jù)C,當(dāng)輸入數(shù)據(jù)P為編碼文時,與編碼處理通過同一電路進(jìn)行譯碼處理,輸出譯碼數(shù)據(jù)C。
這樣在使用圖37所示的CAMELLIA的數(shù)據(jù)變換裝置中,通過并聯(lián)配置主變換部320和副變換部330,與串聯(lián)配置時相比,能縮短1周期的周期時間,能提高動作頻率。
此外,通過并聯(lián)配置主變換部320和副變換部330,存在能不通過主變換部320把信號輸入副變換部330的路徑、不通過副變換部330把信號輸入主變換部320的路徑,所以對于將來進(jìn)行的其他結(jié)構(gòu)和其他動作的附加、刪除等變更,能靈活對應(yīng)。
此外,在使用串聯(lián)配置主變換部320和副變換部330的CAMELLIA的數(shù)據(jù)變換裝置中,如上所述,當(dāng)用多個周期進(jìn)行基于F函數(shù)的1次的數(shù)據(jù)變換時,在1周期中成為變換對象的數(shù)據(jù)是輸入數(shù)據(jù)的一部分,所以把輸入數(shù)據(jù)的一部分變換數(shù)據(jù)保持在運(yùn)算寄存器中,有必要在數(shù)據(jù)攪拌部30中設(shè)置用于在一定期間后向副變換部330發(fā)送的路徑,或在主變換部320中設(shè)置在一定期間后在主變換部320中傳送,向副變換部330發(fā)送的傳送路徑。
可是,在本實(shí)施例中,并聯(lián)配置主變換部320和副變換部330,所以不需要所述路徑的附加或主變換部320的傳送路徑功能的追加,能抑制裝置的電路規(guī)模的增加。
當(dāng)使用圖59所示的數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70的共用電路時,A→B→C→D→E→B→C…的路徑為環(huán)路。因此,當(dāng)實(shí)際的LSI時,由于切換信號的傳輸延遲的差引起的信號的紊亂、噪聲等的影響,需要下工夫,以免變成發(fā)射電路。此外,在具有這樣的環(huán)路(反饋環(huán)路)的電路中,邏輯合成工具無法對應(yīng),不能高效進(jìn)行邏輯合成。
因此,在圖37中,采用分別設(shè)置副變換部330的數(shù)據(jù)正變換部50和數(shù)據(jù)逆變換部70的結(jié)構(gòu)。因此,能構(gòu)筑不產(chǎn)生所述紊亂等問題的數(shù)據(jù)變換裝置。
如上所述,在圖37中,通過使用副變換部330的密鑰和數(shù)據(jù)的傳送功能,能不需要來自密鑰KL寄存器240的密鑰的路徑和來自主變換部320的數(shù)據(jù)路徑。因此,能謀求進(jìn)行CAMELLIA的塊處理的數(shù)據(jù)變換裝置的進(jìn)一步小型化和低耗電化。
實(shí)施例6下面,說明實(shí)施例6。
圖38是實(shí)施例6的CAMELLIA的數(shù)據(jù)變換裝置的結(jié)構(gòu)圖。
與圖37相比,不同點(diǎn)在于副變換部330由數(shù)據(jù)正變換部50、數(shù)據(jù)逆變換部70為共用電路的1/2副變換部90構(gòu)成。因此,不要圖37的2-1選擇器215、4-1選擇器217。
這樣,在本實(shí)施例的數(shù)據(jù)變換裝置中,不需要向副變換部330輸入由2-1選擇器215、4-1選擇器217中必要的4個選擇器和2-1選擇器215輸出的密鑰的路徑。
因此,能簡化密鑰調(diào)度部210的結(jié)構(gòu),能謀求數(shù)據(jù)變換裝置的進(jìn)一步小型化。
實(shí)施例7圖47是表示實(shí)施例7的CAMELLIA的數(shù)據(jù)變換裝置的結(jié)構(gòu)圖。
本實(shí)施例與圖37的結(jié)構(gòu)圖比較,主變換部320的F函數(shù)部321由1/8的F函數(shù)構(gòu)成的部分不同。即在本實(shí)施例中,主變換部320用8周期進(jìn)行F函數(shù)的一個數(shù)據(jù)變換。因此,與圖37相比,圖37的2-1選擇器312變更為8-1選擇器315。其他結(jié)構(gòu)與圖37同樣。
實(shí)施例8圖48是表示實(shí)施例8的CAMELLIA的數(shù)據(jù)變換裝置的結(jié)構(gòu)圖。
在本實(shí)施例中,與圖47所示的實(shí)施例相比,不同點(diǎn)在于330具有1/2副變換部90。因此,不要圖47所示的2-1選擇器215和4-1選擇器217。
實(shí)施例9圖49表示實(shí)施例9。
圖49是表示實(shí)施例9的CAMELLIA的數(shù)據(jù)變換裝置的結(jié)構(gòu)圖。
在本實(shí)施例中,與圖37相比,不同點(diǎn)在于主變換部320的F函數(shù)部321由1/4的F函數(shù)構(gòu)成的部分不同。因此,圖37的2-1選擇器312在圖49中變?yōu)?-1選擇器316。使用由4-1選擇器316選擇的16位輸入數(shù)據(jù),通過F函數(shù)部321,主變換部320進(jìn)行4周期的數(shù)據(jù)變換,進(jìn)行對于一個F函數(shù)的數(shù)據(jù)變換。其他結(jié)構(gòu)與圖37同樣。
實(shí)施例10圖50是表示實(shí)施例10的CAMELLIA的數(shù)據(jù)變換裝置的結(jié)構(gòu)圖。
與圖49所示的實(shí)施例相比,不同點(diǎn)在于副變換部330具有1/2副變換部90。因此,與圖49相比,不要2-1選擇器215和4-1選擇器217。其他結(jié)構(gòu)與圖49同樣。
實(shí)施例11下面,說明實(shí)施例11。
圖39是表示實(shí)施例11的CAMELLIA的數(shù)據(jù)變換裝置的結(jié)構(gòu)圖。
與圖37的不同點(diǎn)在于主變換部320由具有一個F函數(shù)的F函數(shù)部321構(gòu)成。因此,主變換部320能用1周期進(jìn)行F函數(shù)1級的處理,所以圖37中存在的2-1選擇器312變?yōu)椴灰4送?,圖37的2-1選擇器212變?yōu)椴灰?-1選擇器213變?yōu)閺?個常數(shù)選擇一個常數(shù)的4-1選擇器218。
實(shí)施例12下面,說明實(shí)施例12。
圖40是表示實(shí)施例12的CAMELLIA的數(shù)據(jù)變換裝置的結(jié)構(gòu)圖。
在圖40中,附加2-1選擇器313。這是因?yàn)楦弊儞Q部330由1/2副變換部90構(gòu)成,所以從由2-1選擇器313選擇的數(shù)據(jù)選擇其高位數(shù)據(jù)或低位數(shù)據(jù)的任一個。在本實(shí)施例中,用1周期進(jìn)行基于主變換部320的處理,所以與圖39同樣,2-1選擇器312變?yōu)椴灰?。此外,圖39的2-1選擇器215和4-1選擇器217變?yōu)椴灰?br>
實(shí)施例13下面,說明實(shí)施例13。
圖41是表示實(shí)施例13的CAMELLIA的數(shù)據(jù)變換裝置的結(jié)構(gòu)圖。
如果與圖39比較,則不同點(diǎn)在于主變換部320不重復(fù)6次F函數(shù)部321,而主變換部320具有串聯(lián)的6級F函數(shù)321,進(jìn)行數(shù)據(jù)變換。因此,在本實(shí)施例中,主變換部320的輸出信號增加1個。這是因?yàn)榘阎髯儞Q部320的第二級F函數(shù)的輸出數(shù)據(jù)輸入到3-1選擇器H343和4-1選擇器L344,由運(yùn)算寄存器H351和運(yùn)算寄存器L352保持。因此,3-1選擇器H343的輸入信號變?yōu)?個,4-1選擇器L344的輸入信號變?yōu)?個。
此外,具有4組4-1選擇器500和4-1選擇器501,增加把由它們選擇的4個密鑰向主變換部320輸入的選擇器。此外,成為從密鑰調(diào)度部210的其他選擇器即4-1選擇器502和4-1選擇器503也向副變換部330和主變換部320供給密鑰的結(jié)構(gòu)。
實(shí)施例14下面,說明實(shí)施例14。
圖42是表示實(shí)施例14的CAMELLIA的數(shù)據(jù)變換裝置的結(jié)構(gòu)圖。
圖42與圖41同樣,與圖40的不同點(diǎn)在于主變換部320具有串聯(lián)的6級F函數(shù)321。因此,與圖41時同樣,與圖40相比,3-1選擇器H343和4-1選擇器L344各增加1個,此外,有必要具有4組4-1選擇器500和4-1選擇器501。此外,成為從密鑰調(diào)度部210的其他選擇器即4-1選擇器502和3-1選擇器504也向副變換部330和主變換部320供給密鑰的結(jié)構(gòu)。須指出的是,向3-1選擇器504輸入3個輸入信號。
實(shí)施例15圖43表示本實(shí)施例。
圖43是表示實(shí)施例15的CAMELLIA的數(shù)據(jù)變換裝置的結(jié)構(gòu)圖。
在本實(shí)施例中,與圖41相比,不同點(diǎn)在于主變換部320包括具有2級F函數(shù)的F函數(shù)部321。因此,與圖41相比,把3-1選擇器H343和4-1選擇器L344置換為2-1選擇器H341和3-1選擇器L342,并且不要具有4-1選擇器500和4-1選擇器501的4組選擇器。
實(shí)施例16圖44表示本實(shí)施例。
圖44是表示實(shí)施例16的CAMELLIA的數(shù)據(jù)變換裝置的結(jié)構(gòu)圖。
在本實(shí)施例中,與圖42的實(shí)施例相比,不同點(diǎn)在于主變換部320具有的F函數(shù)部321由2級的F函數(shù)構(gòu)成。因此,把3-1選擇器H343和4-1選擇器L344置換為2-1選擇器H341和3-1選擇器L342,此外,不要由4-1選擇器500和4-1選擇器501構(gòu)成的4組選擇器。
實(shí)施例17圖45是表示實(shí)施例17的CAMELLIA的數(shù)據(jù)變換裝置的結(jié)構(gòu)圖。
在本實(shí)施例中,主變換部320的F函數(shù)部321具有3級的F函數(shù)。因此,如果與圖41相比,不要由4-1選擇器500和4-1選擇器501構(gòu)成的4組選擇器,而附加4-1選擇器505。由4-1選擇器505選擇的信號輸入到主變換部320中。
實(shí)施例18圖46是表示實(shí)施例18的CAMELLIA的數(shù)據(jù)變換裝置的結(jié)構(gòu)圖。
與圖45所示的實(shí)施例同樣,主變換部320的F函數(shù)部321具有3級的F函數(shù)。與圖45比較,不同的部分在于副變換部330在本實(shí)施例中具有1/2副變換部90。其他結(jié)構(gòu)同樣。
實(shí)施例19圖51是表示實(shí)施例19的CAMELLIA的數(shù)據(jù)變換裝置的結(jié)構(gòu)圖。
在本實(shí)施例中,首先中間密鑰生成部40的結(jié)構(gòu)與圖37不同。本實(shí)施例所示的中間密鑰生成部40的結(jié)構(gòu)與圖37所示的中間密鑰生成部40的結(jié)構(gòu)是等價的,所以圖37的中間密鑰生成部40能置換為圖51所示的中間密鑰生成部40。
說明圖51的中間密鑰生成部40的結(jié)構(gòu)。
首先,2-1KL選擇器291把輸入的編碼密鑰和密鑰KL寄存器240保持的中間密鑰(密鑰KL)輸入,從這2個輸入信號選擇1個信號,保持在密鑰KL寄存器240中。此外,2-1KA選擇器292中間密鑰生成部40生成的輸出密鑰和保持在密鑰KA寄存器中的輸出密鑰(密鑰KA)輸入。2-1KA選擇器292從輸入的2個輸入信號選擇1個信號,密鑰KA寄存器250保持選擇的信號。
2-1選擇器227從保持在密鑰KL寄存器240和密鑰KA寄存器250中的中間密鑰(密鑰KL)和輸出密鑰(密鑰KA)選擇1個密鑰,向8-1選擇器228輸出。如圖51所示,8-1選擇器228把由2-1選擇器227選擇的密鑰以0、15、30、45、60、77、94、111等8個位數(shù)循環(huán)左或右移。即循環(huán)移位數(shù)為0時,數(shù)據(jù)不移動。當(dāng)循環(huán)移位數(shù)為15時,使數(shù)據(jù)向右或左移動15位。其他也同樣。這樣,通過使數(shù)據(jù)循環(huán)移動,生成8個信號,8-1選擇器228從8個信號選擇1個信號輸出。
通過這樣的動作,具有本實(shí)施例的結(jié)構(gòu)的中間密鑰生成部40能實(shí)現(xiàn)與圖37的中間密鑰生成部40的功能同樣的功能。這樣,在從中間密鑰生成部40輸出的數(shù)據(jù)中,把一半高位作為KLH,把一半低位作為KLL,輸入密鑰調(diào)度部210的2-1選擇器510和2-1選擇器511中。這樣,圖37的4-1選擇器216和4-1選擇器217在本實(shí)施例中,能置換為2-1選擇器510和2-1選擇器511。
因此,在圖52所示的中間密鑰生成部40中,與圖37所示的中間密鑰生成部40同樣需要10個2-1選擇器,但是2-1選擇器510和2-1選擇器511中所必要的2-1選擇器只需要2個,所以中間密鑰生成部40和2-1選擇器510和2-1選擇器511中必要的2-1選擇器全體為12個。
在圖37所示的中間密鑰生成部40中,10個2-1選擇器是必要的,并且在4-1選擇器216和4-1選擇器217中需要6個2-1選擇器,所以中間密鑰生成部40、4-1選擇器216和4-1選擇器217具有的必要的2-1選擇器合計16個。
與圖37所示的數(shù)據(jù)變換裝置相比,本實(shí)施例的數(shù)據(jù)變換裝置作為全體能削減4個2-1選擇器。
因此,在本實(shí)施例中,能謀求基于選擇器的削減的小型化和伴隨著基于選擇器的削減的門數(shù)減少的低耗電化。
須指出的是,本實(shí)施例所示的中間密鑰生成部40的結(jié)構(gòu)能作為其他全部實(shí)施例的中間密鑰生成部40的結(jié)構(gòu)使用。
實(shí)施例20圖52是表示實(shí)施例20的CAMELLIA的數(shù)據(jù)變換裝置的結(jié)構(gòu)圖。
與圖51比較,在本實(shí)施例中,不同點(diǎn)在于副變換部330具有1/2副變換部90。因此,圖51所示的2-1選擇器215和2-1選擇器511在本實(shí)施例中變?yōu)椴灰?。其他結(jié)構(gòu)與圖51同樣。
須指出的是,圖51和圖52所示的旋轉(zhuǎn)移位數(shù)與循環(huán)移位數(shù)是同義。
實(shí)施例21實(shí)施例4的說明中表示的圖34和圖35表示進(jìn)行基于使用128位密鑰的CAMELLIA的編碼處理和譯碼處理的處理。
可是,關(guān)于全部實(shí)施例的數(shù)據(jù)變換裝置的結(jié)構(gòu)圖不僅是128位長度的密鑰,而且能應(yīng)用于進(jìn)行基于192位長度的密鑰和256位密鑰全部的編碼/譯碼處理的CAMELLIA的數(shù)據(jù)變換裝置。
圖53是表示192位密鑰的生成過程的圖。
所述128位密鑰時,生成256位長度的密鑰作為擴(kuò)大密鑰,但是當(dāng)輸入的密鑰為192位時和256位時,擴(kuò)大密鑰變?yōu)?12位長度。
在圖53中,密鑰KL和密鑰KR是中間密鑰,密鑰KA和密鑰KB是輸出密鑰。密鑰KL、密鑰KR、密鑰KA、密鑰KB全部為128位,所以合計它們,生成擴(kuò)大密鑰512位。
當(dāng)輸入的編碼密鑰為256位時,密鑰KL成為輸入的編碼密鑰的一半高位的128位,密鑰KR成為低位128位。
密鑰KL和密鑰KR取異或,如圖53所示,輸入到主變換部320的一部分中。
圖53與表示編碼密鑰為128位長度時的擴(kuò)大密鑰的生成方法的圖2的右側(cè)部分對應(yīng)。
從圖53的左側(cè)的輸入密鑰生成輸出密鑰KA的方法除了密鑰KL和密鑰KR的異或稱為輸入密鑰這點(diǎn),與圖2所示的輸出密鑰KA的生成方法同樣。從圖53的右側(cè)的密鑰KR生成輸出密鑰KB的過程在圖2中不存在。因此,說明輸出密鑰(密鑰KB)的生成方法。
當(dāng)輸入的密鑰為256位時,低位128位為輸入密鑰(KR),輸入到主變換部320中。低位128位中的高位使用位于主變換部320的第一級的F函數(shù)部321a,根據(jù)常數(shù)∑5,進(jìn)行非線性變換,并輸出。輸出的數(shù)據(jù)與輸入密鑰(密鑰KR)的低位之間,通過EXOR電路322a取異或,輸入到F函數(shù)部321b中。在F函數(shù)部321b中,根據(jù)常數(shù)∑6,再把數(shù)據(jù)進(jìn)行非線性變換,在變換后的數(shù)據(jù)和輸入密鑰(密鑰KR)的高位之間,通過EXOR電路322b取異或?;贓XOR電路322b的運(yùn)算后的變換數(shù)據(jù)作為輸出密鑰(密鑰KB)的高位64位數(shù)據(jù)輸出,基于EXOR電路322a的運(yùn)算結(jié)果的數(shù)據(jù)作為(密鑰KB)的低位64位數(shù)據(jù)輸出。
這樣生成的輸出密鑰(密鑰KA和密鑰KB)和輸入密鑰(密鑰KL和密鑰KR)作為512位的擴(kuò)大密鑰從中間密鑰生成部40向密鑰調(diào)度部210發(fā)送,通過密鑰調(diào)度部210進(jìn)行密鑰的調(diào)度,在數(shù)據(jù)的編碼/譯碼中使用。
當(dāng)編碼密鑰為192位時,輸入的編碼密鑰的高位128位成為密鑰KL。此外,輸入的編碼密鑰的低位64位成為密鑰KR的高位64位。密鑰KR的低位64位是把密鑰KR的高位64位即輸入的編碼密鑰的低位64位取反。關(guān)于其他密鑰生成方法,與編碼密鑰為256位時同樣,所以省略說明。
圖54是表示192位密鑰和256位密鑰CAMELLIA的編碼處理的圖。
當(dāng)與表示128位密鑰CAMELLIA的編碼處理的圖34比較時,主變換部320從3個增加到4個,副變換部330從2個增加到3個。因此,在192位密鑰和256位密鑰的編碼處理中,全體進(jìn)行基于24級的F函數(shù)的編碼處理。其他結(jié)構(gòu)與圖34所示的128位密鑰時同樣,所以省略說明。
圖55是表示192位密鑰和256位密鑰的CAMELLIA的譯碼處理的圖。
圖35表示128位密鑰的CAMELLIA的譯碼處理,但是如果與圖35比較,則主變換部320增加為4個,副變換部330增加為3個,與編碼處理時同樣,F(xiàn)函數(shù)成為24級。其他結(jié)構(gòu)與128位密鑰的CAMELLIA的譯碼處理同樣,所以省略說明。
須指出的是,128位密鑰、192位密鑰和256位密鑰的塊編碼CAMELLIA算法的細(xì)節(jié)記載在“128位塊編碼CAMELLIA算法規(guī)格書”中。
以上記載的全部實(shí)施例能在128位密鑰數(shù)據(jù)變換裝置、192位密鑰數(shù)據(jù)變換裝置、256位密鑰數(shù)據(jù)變換裝置中采用。
此外,在全部實(shí)施例中,能使用副變換部330具有的密鑰傳送和數(shù)據(jù)傳送功能。
在全部實(shí)施例中,各構(gòu)成要素的各動作彼此關(guān)聯(lián),各構(gòu)成要素的的動作考慮所述動作的關(guān)聯(lián),能置換為一系列的動作。而且,通過這樣置換,能成為方法的發(fā)明的實(shí)施例。
此外,通過把所述各構(gòu)成要素的動作與各構(gòu)成要素的處理置換,能成為程序的實(shí)施例。
此外,通過把程序存儲到記錄程序的計算機(jī)可讀取記錄媒體中,能成為記錄程序的計算機(jī)可讀取記錄媒體的實(shí)施例。
程序的實(shí)施例和記錄程序的計算機(jī)可讀取記錄媒體的實(shí)施例都能由在計算機(jī)上可工作的程序構(gòu)成。
程序的實(shí)施例和記錄程序的計算機(jī)可讀取記錄媒體的實(shí)施例的各處理由程序執(zhí)行,但是程序記錄在記錄裝置中,從記錄裝置讀入中央處理單元(CPU)中,由中央處理單元執(zhí)行各程序流程。須指出的是,記錄裝置、中央處理單元未圖示。
此外,各實(shí)施例的軟件或程序可以用存儲在ROM(只讀存儲器)中的固件實(shí)現(xiàn)?;蛘咄ㄟ^軟件、固件和硬件的組合,實(shí)現(xiàn)所述程序的各功能。
通過抑制、削減選擇器的增加,能謀求裝置的小型化。
此外,通過減少電路全體的門數(shù),能謀求低耗電化。
此外,能提高工作頻率。
副變換部副傳送輸入數(shù)據(jù)或輸入密鑰。
能靈活地對應(yīng)裝置的結(jié)構(gòu)變更。
用數(shù)據(jù)正變換部50或數(shù)據(jù)逆變換部70的一方進(jìn)行數(shù)據(jù)的變換,能用數(shù)據(jù)正變換部50或數(shù)據(jù)逆變換部70的另一方傳送輸入的數(shù)據(jù)或密鑰。
從主變換部到選擇器的路徑變?yōu)椴槐匾?,能謀求裝置的小型化,謀求基于選擇器數(shù)的減少的低耗電化。
權(quán)利要求
1.一種數(shù)據(jù)變換裝置,輸入密鑰和數(shù)據(jù),并使用輸入的密鑰進(jìn)行輸入數(shù)據(jù)的編碼和數(shù)據(jù)的譯碼中的至少一種數(shù)據(jù)變換,其特征在于上述數(shù)據(jù)變換裝置具有對數(shù)據(jù)進(jìn)行變換的數(shù)據(jù)攪拌部、以及控制傳送信號的控制部,所述傳送信號指示傳送輸入的密鑰和輸入的數(shù)據(jù)中的任一個;其中所述控制部在傳送密鑰和數(shù)據(jù)中的任一個時,輸出傳送信號;所述數(shù)據(jù)攪拌部具有通過使用輸入的密鑰對數(shù)據(jù)進(jìn)行變換,至少進(jìn)行數(shù)據(jù)編碼和數(shù)據(jù)譯碼中的任一種數(shù)據(jù)變換,并且當(dāng)輸入由所述控制部輸出的傳送信號時,不進(jìn)行數(shù)據(jù)變換地傳送所輸入的密鑰和所輸入的數(shù)據(jù)中的任一個的副變換部。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)變換裝置,其特征在于所述數(shù)據(jù)攪拌部還具有輸入數(shù)據(jù),并對輸入的數(shù)據(jù)進(jìn)行非線性數(shù)據(jù)變換的主變換部;所述控制部在傳送數(shù)據(jù)時,輸出數(shù)據(jù)傳送信號作為傳送信號;所述副變換部輸入由所述控制部輸出的數(shù)據(jù)傳送信號和由所述主變換部進(jìn)行數(shù)據(jù)變換后的數(shù)據(jù),并按照輸入的數(shù)據(jù)傳送信號傳送輸入的數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)變換裝置,其特征在于還具有生成密鑰的密鑰生成部;所述控制部在傳送密鑰時,輸出密鑰傳送信號作為傳送信號;所述副變換部輸入由所述控制部輸出的密鑰傳送信號和由所述密鑰生成部生成的密鑰,并按照輸入的密鑰傳送信號來傳送輸入的密鑰。
4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)變換裝置,其特征在于所述密鑰生成部還具有輸入編碼密鑰,并根據(jù)輸入的編碼密鑰生成中間密鑰的中間密鑰生成部;所述副變換部在輸入由所述控制部輸出的密鑰傳送信號時,按照輸入的密鑰傳送信號,把所述中間密鑰生成部生成的中間密鑰傳送給所述主變換部;所述主變換部重復(fù)變換輸出由所述副變換部傳送的中間密鑰的處理1次以上;所述副變換部重復(fù)變換輸出由所述主變換部輸出的中間密鑰的處理1次以上;所述主變換部和所述副變換部中的至少任一個重復(fù)變換輸出所述中間密鑰的處理1次以上;所述主變換部把由所述主變換部和所述副變換部中的至少任一個輸出的中間密鑰作為輸出密鑰輸出;所述中間密鑰生成部通過輸入由所述主變換部輸出的輸出密鑰,生成由中間密鑰和輸出密鑰構(gòu)成的擴(kuò)大密鑰。
5.根據(jù)權(quán)利要求4所述的數(shù)據(jù)變換裝置,其特征在于所述中間密鑰生成部具有用于從輸入的6個密鑰中選擇1個密鑰的6-1KL選擇器、和把從6-1KL選擇器中選擇的一個密鑰作為中間密鑰保持的密鑰KL寄存器;所述6-1KL選擇器輸入編碼密鑰,并輸入由輸入的編碼密鑰、由所述密鑰KL寄存器保持的中間密鑰以及根據(jù)所述密鑰KL寄存器保持的中間密鑰以4個不同的移位數(shù)分別循環(huán)移位的4個密鑰構(gòu)成的6個密鑰,從輸入的6個密鑰中選擇1個密鑰;所述密鑰KL寄存器保持由所述6-1KL選擇器選擇的密鑰;所述副變換部在輸入從所述控制部輸出的密鑰傳送信號時,把保持在所述密鑰KL寄存器中的密鑰作為中間密鑰輸入,并傳送所輸入的中間密鑰。
6.根據(jù)權(quán)利要求4所述的數(shù)據(jù)變換裝置,其特征在于所述中間密鑰生成部具有從輸入的4個密鑰中選擇1個密鑰的4-1選擇器、從輸入的3個密鑰中選擇1個密鑰的3-1KL選擇器、以及把從3-1KL選擇器選擇的一個密鑰作為中間密鑰保持的密鑰KL寄存器;所述4-1選擇器輸入根據(jù)由所述密鑰KL寄存器保持的中間密鑰以4個不同的移位數(shù)分別循環(huán)移位后的4個密鑰,并從輸入的4個密鑰中選擇一個密鑰;所述3-1KL選擇器輸入編碼密鑰,輸入由輸入的編碼密鑰、由所述4-1選擇器選擇的1個密鑰、保持在所述密鑰KL寄存器中的中間密鑰構(gòu)成的3個密鑰,并從輸入的3個密鑰中選擇1個密鑰;所述密鑰KL寄存器保持由所述3-1KL選擇器選擇的密鑰;所述副變換部在輸入從所述控制部輸出的密鑰傳送信號時,把保持在所述密鑰KL寄存器中的密鑰作為中間密鑰輸入,并傳送所輸入的中間密鑰。
7.根據(jù)權(quán)利要求4所述的數(shù)據(jù)變換裝置,其特征在于所述密鑰生成部還具有輸入由所述中間密鑰生成部生成的擴(kuò)大密鑰和預(yù)定常數(shù),按照預(yù)定條件調(diào)度用于把輸入的擴(kuò)大密鑰和預(yù)定常數(shù)中的任一個向所述主變換部和所述副變換部中的至少一個輸出的密鑰的密鑰調(diào)度部。
8.根據(jù)權(quán)利要求1所述的數(shù)據(jù)變換裝置,其特征在于所述副變換部具有進(jìn)行基于數(shù)據(jù)的線性的數(shù)據(jù)變換的數(shù)據(jù)正變換部(FL)、進(jìn)行與所述數(shù)據(jù)正變換部(FL)相反的數(shù)據(jù)變換的數(shù)據(jù)逆變換部(FL-1)中的至少任一個;所述數(shù)據(jù)正變換部(FL)和所述數(shù)據(jù)逆變換部(FL-1)中的至少任一個進(jìn)行數(shù)據(jù)變換,并且在所述控制部輸出傳送信號時,輸入所述控制部輸出的傳送信號,不進(jìn)行數(shù)據(jù)變換地按照輸入的傳送信號來傳送數(shù)據(jù)和密鑰中的至少任一個。
9.根據(jù)權(quán)利要求8所述的數(shù)據(jù)變換裝置,其特征在于所述控制部輸出密鑰傳送信號即密鑰傳遞信號和掩碼信號作為傳送所輸入的密鑰的傳送信號;所述數(shù)據(jù)正變換部(FL)和所述數(shù)據(jù)逆變換部(FL-1)中的至少任一個在輸入了由所述控制部輸出的密鑰傳遞信號和掩碼信號時,通過根據(jù)輸入的密鑰傳遞信號而使輸入的數(shù)據(jù)無效,并且根據(jù)輸入的掩碼信號而使輸入的密鑰通過,來傳送密鑰。
10.根據(jù)權(quán)利要求8所述的數(shù)據(jù)變換裝置,其特征在于所述控制部輸出數(shù)據(jù)傳送信號即數(shù)據(jù)傳遞信號作為傳送輸入的數(shù)據(jù)的傳送信號;所述數(shù)據(jù)正變換部(FL)和數(shù)據(jù)逆變換部(FL-1)中的至少任一個在輸入了由所述控制部輸出的數(shù)據(jù)傳遞信號時,通過根據(jù)輸入的數(shù)據(jù)傳遞信號而使輸入的密鑰無效,并且使輸入的數(shù)據(jù)通過,來傳送數(shù)據(jù)。
11.根據(jù)權(quán)利要求1所述的數(shù)據(jù)變換裝置,其特征在于所述副變換部具有共用同一電路進(jìn)行執(zhí)行基于數(shù)據(jù)的線性的數(shù)據(jù)變換的數(shù)據(jù)正變換和執(zhí)行與所述正變換相反的數(shù)據(jù)變換的數(shù)據(jù)逆變換的1/2副變換部,通過1/2副變換部對數(shù)據(jù)進(jìn)行變換,并且在所述控制部輸出傳送信號時,輸入所述控制部輸出的傳送信號,并按照輸入的傳送信號,來傳送密鑰和數(shù)據(jù)中的至少任一個。
12.根據(jù)權(quán)利要求1所述的數(shù)據(jù)變換裝置,其特征在于所述副變換部具有進(jìn)行基于數(shù)據(jù)的線性的數(shù)據(jù)變換的數(shù)據(jù)正變換部(FL)和進(jìn)行與所述正變換相反的數(shù)據(jù)變換的數(shù)據(jù)逆變換部(FL-1),所述數(shù)據(jù)正變換部(FL)和所述數(shù)據(jù)逆變換部(FL-1)串聯(lián)配置;所述數(shù)據(jù)正變換部(FL)和所述數(shù)據(jù)逆變換部(FL-1)中的任一個輸入由所述數(shù)據(jù)正變換部(FL)和所述數(shù)據(jù)逆變換部(FL-1)中的任一個進(jìn)行數(shù)據(jù)變換的數(shù)據(jù)、所傳送的密鑰、或所傳送的數(shù)據(jù)中的任一個,并使用所輸入的經(jīng)數(shù)據(jù)變換后的數(shù)據(jù)、所傳送的密鑰、或所傳送的數(shù)據(jù)中的任一個,來進(jìn)行數(shù)據(jù)變換、密鑰的傳送、數(shù)據(jù)的傳送中的任一種。
13.根據(jù)權(quán)利要求1所述的數(shù)據(jù)變換裝置,其特征在于所述數(shù)據(jù)變換裝置輸入128位、192位、或256位的任一密鑰,使用所輸入的密鑰,對所輸入的數(shù)據(jù)進(jìn)行數(shù)據(jù)變換。
14.一種數(shù)據(jù)變換方法,輸入密鑰和數(shù)據(jù),使用輸入的密鑰進(jìn)行對輸入的數(shù)據(jù)進(jìn)行編碼和數(shù)據(jù)譯碼中的至少一種數(shù)據(jù)變換,其特征在于當(dāng)傳送密鑰和數(shù)據(jù)中的任一個時,輸出用以指示傳送輸入的密鑰和輸入的數(shù)據(jù)中的任一個的傳送信號;通過使用輸入的密鑰對數(shù)據(jù)進(jìn)行變換,進(jìn)行數(shù)據(jù)編碼和數(shù)據(jù)譯碼中的至少任一種數(shù)據(jù)變換,并且在輸入所述輸出的傳送信號時,不進(jìn)行數(shù)據(jù)變換地傳送輸入的密鑰和輸入的數(shù)據(jù)中的至少任一個。
15.一種數(shù)據(jù)變換程序,輸入密鑰和數(shù)據(jù),使用輸入的密鑰進(jìn)行對輸入的數(shù)據(jù)進(jìn)行編碼和數(shù)據(jù)譯碼中的至少一種數(shù)據(jù)變換,其特征在于使計算機(jī)執(zhí)行以下處理當(dāng)傳送密鑰和數(shù)據(jù)中的任一個時,輸出用以指示傳送輸入的密鑰和輸入的數(shù)據(jù)中的任一個的傳送信號的處理;通過使用輸入的密鑰對數(shù)據(jù)進(jìn)行變換,進(jìn)行數(shù)據(jù)編碼和數(shù)據(jù)譯碼中的至少任一種數(shù)據(jù)變換,并且當(dāng)輸入所述輸出的傳送信號時,不進(jìn)行數(shù)據(jù)變換地傳送輸入的密鑰和輸入的數(shù)據(jù)中的至少任一個的處理。
16.一種記錄有數(shù)據(jù)變換程序的計算機(jī)可讀取記錄媒體,該數(shù)據(jù)變換程序輸入密鑰和數(shù)據(jù),使用輸入的密鑰進(jìn)行輸入的數(shù)據(jù)的編碼和數(shù)據(jù)的譯碼中的至少任一種數(shù)據(jù)變換,其特征在于,使計算機(jī)執(zhí)行以下處理當(dāng)傳送密鑰和數(shù)據(jù)中的任一個時,輸出用以指示傳送輸入的密鑰和輸入的數(shù)據(jù)中的任一個的傳送信號的處理;通過使用輸入的密鑰對數(shù)據(jù)進(jìn)行變換,進(jìn)行數(shù)據(jù)編碼和數(shù)據(jù)譯碼中的至少任一種數(shù)據(jù)變換,并且當(dāng)輸入所述輸出的傳送信號時,不進(jìn)行數(shù)據(jù)變換地傳送輸入的密鑰和輸入的數(shù)據(jù)中的至少任一個的處理。
17.根據(jù)權(quán)利要求1所述的數(shù)據(jù)變換裝置,其特征在于還具有生成密鑰的密鑰生成部;所述密鑰生成部還具有中間密鑰生成部,用于輸入編碼密鑰,根據(jù)輸入的編碼密鑰生成中間密鑰,根據(jù)生成的中間密鑰使用所述主變換部和所述副變換部生成輸出密鑰。
18.根據(jù)權(quán)利要求17所述的數(shù)據(jù)變換裝置,其特征在于所述中間密鑰生成部具有輸入6個密鑰并從輸入的6個密鑰中選擇1個密鑰的6-1KL選擇器;把從所述6-1KL選擇器選擇的1個密鑰作為中間密鑰保持的密鑰KL寄存器;從6個密鑰中選擇1個密鑰的6-1KA選擇器;把由6-1KA選擇器選擇的1個密鑰作為輸出密鑰保持的密鑰KA寄存器;所述6-1KL選擇器輸入編碼密鑰,并輸入由所述輸入的編碼密鑰、由所述密鑰KL寄存器保持的中間密鑰、根據(jù)保持在所述密鑰KL寄存器中的中間密鑰以4個不同的移位數(shù)分別循環(huán)移位后的4個密鑰構(gòu)成的6個密鑰,從輸入的6個密鑰中選擇1個密鑰;所述密鑰KL寄存器把由所述6-1KL選擇器選擇的密鑰作為中間密鑰保持;所述6-1KA選擇器輸入使用所述主變換部和所述副變換部生成的輸出密鑰,輸入由輸入的輸出密鑰、保持在所述密鑰KA寄存器中的輸出密鑰、根據(jù)保持在所述密鑰KA寄存器中的輸出密鑰以4個不同的移位數(shù)分別循環(huán)移位后的4個密鑰構(gòu)成的6個密鑰,從輸入的6個密鑰中選擇1個密鑰;所述密鑰KA寄存器把由所述6-1KA選擇器選擇的密鑰作為輸出密鑰保持。
19.根據(jù)權(quán)利要求17所述的數(shù)據(jù)變換裝置,其特征在于所述中間密鑰生成部具有從2個密鑰中選擇1個密鑰的2-1選擇器、從4個密鑰中選擇1個密鑰的4-1選擇器、從3個密鑰中選擇1個密鑰的3-1KL選擇器、把由3-1KL選擇器選擇的密鑰作為中間密鑰保持的密鑰KL寄存器、從3個密鑰中選擇1個密鑰的3-1KA選擇器、把由3-1KA選擇器選擇的密鑰作為輸出密鑰保持的密鑰KA寄存器;所述2-1選擇器從保持在所述密鑰KL寄存器中的中間密鑰、保持在所述密鑰KA寄存器中的輸出密鑰中選擇1個密鑰;所述4-1選擇器輸入根據(jù)由所述2-1選擇器選擇的密鑰以4個不同的移位數(shù)分別循環(huán)移位后的4個密鑰,并從輸入的4個密鑰中選擇1個密鑰;所述3-1KL選擇器輸入編碼密鑰,輸入由輸入的編碼密鑰、由所述4-1選擇器選擇的密鑰、保持在所述密鑰KL寄存器中的中間密鑰構(gòu)成的3個密鑰,并從輸入的3個密鑰中選擇1個密鑰;所述密鑰KL寄存器把由所述3-1KL選擇器選擇的密鑰作為中間密鑰保持;所述3-1KA選擇器輸入使用所述主變換部和所述副變換部生成的輸出密鑰,輸入由輸入的輸出密鑰、所述4-1選擇器選擇的密鑰、保持在所述密鑰KA寄存器中的輸出密鑰構(gòu)成的3個密鑰,從輸入的3個密鑰中選擇1個密鑰;所述密鑰KA寄存器把由所述3-1KA選擇器選擇的密鑰作為輸出密鑰保持。
20.根據(jù)權(quán)利要求17所述的數(shù)據(jù)變換裝置,其特征在于所述中間密鑰生成部具有從2個密鑰中選擇1個密鑰的2-1KL選擇器、保持由2-1KL選擇器選擇的密鑰的密鑰KL寄存器、從2個密鑰中選擇1個密鑰的2-1KA選擇器、保持由2-1KA選擇器選擇的密鑰的密鑰KA寄存器、從2個密鑰中選擇1個密鑰的2-1選擇器、從8個密鑰中選擇1個密鑰的8-1選擇器;所述2-1KL選擇器輸入編碼密鑰,從輸入的編碼密鑰和保持在所述密鑰KL寄存器中的密鑰中選擇1個密鑰;所述2-1KA選擇器輸入使用所述主變換部和所述副變換部生成的輸出密鑰,從輸入的輸出密鑰和保持在所述密鑰KA寄存器中的密鑰中選擇1個密鑰;所述2-1選擇器從由所述2-1KL選擇器和所述2-1KA選擇器選擇的2個密鑰中選擇1個密鑰;所述8-1選擇器輸入根據(jù)所述2-1選擇器選擇的密鑰以8個不同的移位數(shù)分別循環(huán)移位后的8個密鑰,并從輸入的8個密鑰中選擇1個密鑰。
21.一種數(shù)據(jù)變換裝置,具有對數(shù)據(jù)進(jìn)行數(shù)據(jù)變換的數(shù)據(jù)攪拌部,其特征在于所述數(shù)據(jù)攪拌部并聯(lián)有輸入數(shù)據(jù)并對輸入的數(shù)據(jù)進(jìn)行非線性數(shù)據(jù)變換的主變換部、和對輸入的數(shù)據(jù)進(jìn)行線性數(shù)據(jù)變換的副變換部;所述主變換部輸入密鑰和數(shù)據(jù),使用輸入的密鑰,根據(jù)用于進(jìn)行非線性數(shù)據(jù)變換的函數(shù)即F函數(shù),對輸入的數(shù)據(jù)進(jìn)行非線性數(shù)據(jù)變換,并輸出非線性變換后的數(shù)據(jù);所述副變換部輸入密鑰和數(shù)據(jù),使用輸入的密鑰,對輸入的數(shù)據(jù)進(jìn)行線性變換,并輸出線性變換后的數(shù)據(jù);所述主變換部和所述副變換部通過反復(fù)進(jìn)行基于所述主變換部的數(shù)據(jù)變換和基于所述副變換部的數(shù)據(jù)變換,進(jìn)行數(shù)據(jù)的編碼和數(shù)據(jù)的譯碼中的至少一種數(shù)據(jù)變換。
22.根據(jù)權(quán)利要求21所述的數(shù)據(jù)變換裝置,其特征在于所述主變換部具有F函數(shù)部,該F函數(shù)部多次重復(fù)使用輸入的密鑰、根據(jù)F函數(shù)對輸入的數(shù)據(jù)進(jìn)行非線性數(shù)據(jù)變換,并輸出數(shù)據(jù)變換后的數(shù)據(jù)的處理。
23.根據(jù)權(quán)利要求22所述的數(shù)據(jù)變換裝置,其特征在于所述F函數(shù)部通過重復(fù)2x次使用輸入的密鑰、根據(jù)1/2xF函數(shù)(X≥0),對輸入的數(shù)據(jù)進(jìn)行非線性數(shù)據(jù)變換并輸出數(shù)據(jù)變換后的數(shù)據(jù)的處理,結(jié)束1次基于F函數(shù)的非線性數(shù)據(jù)變換并輸出結(jié)束的數(shù)據(jù),通過重復(fù)多次上述處理,進(jìn)行多次基于F函數(shù)的非線性數(shù)據(jù)變換。
24.根據(jù)權(quán)利要求22所述的數(shù)據(jù)變換裝置,其特征在于所述F函數(shù)部輸入分割為高位數(shù)據(jù)和低位數(shù)據(jù)的數(shù)據(jù)的任一個,對輸入的數(shù)據(jù)進(jìn)行非線性數(shù)據(jù)變換,輸出數(shù)據(jù)變換后的高位數(shù)據(jù)和低位數(shù)據(jù)中的任一個,把輸出的高位數(shù)據(jù)和低位數(shù)據(jù)中的任一個與高位數(shù)據(jù)和低位數(shù)據(jù)中的另一個進(jìn)行異或運(yùn)算,切換輸出異或運(yùn)算后的數(shù)據(jù)、未輸入到所述F函數(shù)中的高位數(shù)據(jù)和低位數(shù)據(jù)中的另一個。
25.根據(jù)權(quán)利要求21所述的數(shù)據(jù)變換裝置,其特征在于還具有生成密鑰的密鑰生成部;所述密鑰生成部具有中間密鑰生成部,輸入編碼密鑰,根據(jù)輸入的編碼密鑰生成中間密鑰,根據(jù)生成的中間密鑰、使用所述主變換部和所述副變換部生成輸出密鑰。
26.根據(jù)權(quán)利要求25所述的數(shù)據(jù)變換裝置,其特征在于所述密鑰生成部還具有密鑰調(diào)度部,輸入由所述中間密鑰生成部生成的中間密鑰和預(yù)定常數(shù),根據(jù)輸入的中間密鑰、輸出密鑰和預(yù)定常數(shù)、按照預(yù)定條件調(diào)度在所述主變換部和所述副變換部進(jìn)行的數(shù)據(jù)變換中所使用的密鑰;所述主變換部和所述副變換部分別輸入由所述密鑰調(diào)度部調(diào)度的密鑰,并根據(jù)各自輸入的密鑰,對輸入到各自中的數(shù)據(jù)進(jìn)行數(shù)據(jù)變換。
27.根據(jù)權(quán)利要求25所述的數(shù)據(jù)變換裝置,其特征在于所述中間密鑰生成部具有輸入6個密鑰并且從輸入的6個密鑰中選擇1個密鑰的6-1KL選擇器、把由所述6-1KL選擇器選擇的1個密鑰作為中間密鑰保持的密鑰KL寄存器、從6個密鑰中選擇1個密鑰的6-1KA選擇器、把由6-1KA選擇器選擇的1個密鑰作為輸出密鑰保持的密鑰KA寄存器;所述6-1KL選擇器輸入編碼密鑰,輸入由所述輸入的編碼密鑰、保持在所述密鑰KL寄存器中的中間密鑰、根據(jù)保持在所述密鑰KL寄存器中的中間密鑰以4個不同的移位數(shù)分別循環(huán)移位后的4個密鑰構(gòu)成的6個密鑰,并從輸入的6個密鑰中選擇1個密鑰;所述密鑰KL寄存器把由所述6-1KL選擇器選擇的密鑰作為中間密鑰保持;所述6-1KA選擇器輸入使用所述主變換部和所述副變換部生成的輸出密鑰,輸入由輸入的輸出密鑰、保持在所述密鑰KA寄存器中的輸出密鑰、根據(jù)保持在所述密鑰KA寄存器中的輸出密鑰以4個不同的移位數(shù)分別循環(huán)移位后的4個密鑰構(gòu)成的6個密鑰,并從輸入的6個密鑰中選擇1個密鑰;所述密鑰KA寄存器把由所述6-1KA選擇器選擇的密鑰作為輸出密鑰保持。
28.根據(jù)權(quán)利要求25所述的數(shù)據(jù)變換裝置,其特征在于所述中間密鑰生成部具有從2個密鑰中選擇1個密鑰的2-1選擇器、從4個密鑰中選擇1個密鑰的4-1選擇器、從3個密鑰中選擇1個密鑰的3-1KL選擇器、把由3-1KL選擇器選擇的密鑰作為中間密鑰保持的密鑰KL寄存器、從3個密鑰中選擇1個密鑰的3-1KA選擇器、把由3-1KA選擇器選擇的密鑰作為輸出密鑰保持的密鑰KA寄存器;所述2-1選擇器從保持在所述密鑰KL寄存器中的中間密鑰、保持在所述密鑰KA寄存器中的輸出密鑰中選擇1個密鑰;所述4-1選擇器輸入根據(jù)由所述2-1選擇器選擇的密鑰以4個不同的移位數(shù)分別循環(huán)移位后的4個密鑰,并從輸入的4個密鑰中選擇1個密鑰;所述3-1KL選擇器輸入編碼密鑰,輸入由輸入的編碼密鑰、所述4-1選擇器選擇的密鑰、保持在所述密鑰KL寄存器中的中間密鑰構(gòu)成的3個密鑰,并從輸入的3個密鑰中選擇1個密鑰;所述密鑰KL寄存器把由所述3-1KL選擇器選擇的密鑰作為中間密鑰保持;所述3-1KA選擇器輸入使用所述主變換部和所述副變換部生成的輸出密鑰,輸入由輸入的輸出密鑰、所述4-1選擇器選擇的密鑰、保持在所述密鑰KA寄存器中的輸出密鑰構(gòu)成的3個密鑰,從輸入的3個密鑰中選擇1個密鑰;所述密鑰KA寄存器把由所述3-1KA選擇器選擇的密鑰作為輸出密鑰保持。
29.根據(jù)權(quán)利要求25所述的數(shù)據(jù)變換裝置,其特征在于所述中間密鑰生成部具有從2個密鑰中選擇1個密鑰的2-1KL選擇器、保持由2-1KL選擇器選擇的密鑰的密鑰KL寄存器、從2個密鑰中選擇1個密鑰的2-1KA選擇器、保持由2-1KA選擇器選擇的密鑰的密鑰KA寄存器、從2個密鑰中選擇1個密鑰的2-1選擇器、從8個密鑰中選擇1個密鑰的8-1選擇器;所述2-1KL選擇器輸入編碼密鑰,并從輸入的編碼密鑰和保持在所述密鑰KL寄存器中的密鑰中選擇1個密鑰;所述2-1KA選擇器輸入使用所述主變換部和所述副變換部生成的輸出密鑰,從輸入的輸出密鑰和保持在所述密鑰KA寄存器中的密鑰中選擇1個密鑰;所述2-1選擇器從由所述2-1KL選擇器和所述2-1KA選擇器選擇的2個密鑰中選擇1個密鑰;所述8-1選擇器輸入根據(jù)所述2-1選擇器選擇的密鑰以8個不同的移位數(shù)分別循環(huán)移位后的8個密鑰,并從輸入的8個密鑰中選擇1個密鑰。
30.根據(jù)權(quán)利要求21所述的數(shù)據(jù)變換裝置,其特征在于所述副變換部具有對數(shù)據(jù)進(jìn)行線性變換的數(shù)據(jù)正變換部(FL)和進(jìn)行與所述數(shù)據(jù)正變換部(FL)的變換相反的變換的數(shù)據(jù)逆變換部(FL-1)中的至少任一個,通過所述數(shù)據(jù)正變換部(FL)和所述數(shù)據(jù)逆變換部(FL-1)中的至少一個對數(shù)據(jù)進(jìn)行數(shù)據(jù)變換。
31.根據(jù)權(quán)利要求21所述的數(shù)據(jù)變換裝置,其特征在于所述副變換部具有共用同一電路進(jìn)行對數(shù)據(jù)執(zhí)行線性變換的數(shù)據(jù)正變換和執(zhí)行與所述數(shù)據(jù)正變換相反的逆變換的數(shù)據(jù)逆變換的1/2副變換部,并通過1/2副變換部對數(shù)據(jù)進(jìn)行數(shù)據(jù)變換。
32.根據(jù)權(quán)利要求21所述的數(shù)據(jù)變換裝置,其特征在于所述數(shù)據(jù)變換裝置輸入128位、192位或256位的任一密鑰,使用所輸入的密鑰,對輸入的數(shù)據(jù)進(jìn)行編碼和數(shù)據(jù)譯碼中的任一種數(shù)據(jù)變換。
33.一種數(shù)據(jù)變換方法,其特征在于通過重復(fù)進(jìn)行下述處理,進(jìn)行數(shù)據(jù)編碼和數(shù)據(jù)譯碼中的至少一種數(shù)據(jù)變換,其中所述處理包括通過與對數(shù)據(jù)進(jìn)行線性數(shù)據(jù)變換的副變換部并聯(lián)配置的、輸入密鑰和數(shù)據(jù),使用輸入的密鑰,根據(jù)用于進(jìn)行非線性數(shù)據(jù)變換的函數(shù)即F函數(shù),進(jìn)行非線性數(shù)據(jù)變換的主變換部,對輸入的數(shù)據(jù)進(jìn)行非線性數(shù)據(jù)變換,并輸出非線性變換后的數(shù)據(jù)的處理;輸入密鑰和數(shù)據(jù),使用輸入的密鑰,通過與所述主變換部并聯(lián)配置的所述副變換部,對輸入的數(shù)據(jù)進(jìn)行線性變換,并輸出線性變換的數(shù)據(jù)的處理。
34.一種數(shù)據(jù)變換程序,其特征在于使計算機(jī)執(zhí)行以下處理通過重復(fù)進(jìn)行下述處理,進(jìn)行數(shù)據(jù)編碼和數(shù)據(jù)譯碼中的至少一種數(shù)據(jù)變換,其中所述處理包括通過與對數(shù)據(jù)進(jìn)行線性數(shù)據(jù)變換的副變換部并聯(lián)配置的、輸入密鑰和數(shù)據(jù),使用輸入的密鑰,根據(jù)用于進(jìn)行非線性數(shù)據(jù)變換的函數(shù)即F函數(shù),進(jìn)行非線性數(shù)據(jù)變換的主變換部,對輸入的數(shù)據(jù)進(jìn)行非線性數(shù)據(jù)變換,并輸出非線性變換后的數(shù)據(jù)的處理;輸入密鑰和數(shù)據(jù),使用輸入的密鑰,通過與所述主變換部并聯(lián)配置的所述副變換部,對輸入的數(shù)據(jù)進(jìn)行線性變換,并輸出線性變換的數(shù)據(jù)的處理。
35.一種記錄了數(shù)據(jù)變換程序的計算機(jī)可讀取記錄媒體,該程序使計算機(jī)執(zhí)行以下處理通過重復(fù)進(jìn)行下述處理,進(jìn)行數(shù)據(jù)編碼和數(shù)據(jù)譯碼中的至少一種數(shù)據(jù)變換,其中所述處理包括通過與對數(shù)據(jù)進(jìn)行線性數(shù)據(jù)變換的副變換部并聯(lián)配置的、輸入密鑰和數(shù)據(jù),使用輸入的密鑰,根據(jù)用于進(jìn)行非線性數(shù)據(jù)變換的函數(shù)即F函數(shù),進(jìn)行非線性數(shù)據(jù)變換的主變換部,對輸入的數(shù)據(jù)進(jìn)行非線性數(shù)據(jù)變換,并輸出非線性變換后的數(shù)據(jù)的處理;輸入密鑰和數(shù)據(jù),使用輸入的密鑰,通過與所述主變換部并聯(lián)配置的所述副變換部,對輸入的數(shù)據(jù)進(jìn)行線性變換,并輸出線性變換的數(shù)據(jù)的處理。
全文摘要
本發(fā)明提供一種數(shù)據(jù)變換裝置和數(shù)據(jù)變換方法,其中進(jìn)行數(shù)據(jù)的編碼/譯碼的數(shù)據(jù)變換裝置中存在的副變換部330具有數(shù)據(jù)變換功能、數(shù)據(jù)傳送功能或密鑰傳送功能,切換數(shù)據(jù)變換功能、數(shù)據(jù)或密鑰傳送功能,在數(shù)據(jù)變換的同時,進(jìn)行用主變換部320進(jìn)行非線性變換的數(shù)據(jù)的傳送或從密鑰KL寄存器240輸出的密鑰的傳送。
文檔編號H04L9/00GK1647139SQ0380883
公開日2005年7月27日 申請日期2003年3月7日 優(yōu)先權(quán)日2002年5月23日
發(fā)明者粕谷智巳, 松井充, 市川哲也 申請人:三菱電機(jī)株式會社