SI20498A - Postopek blokovnega šifriranja zaupnih podatkov - Google Patents

Postopek blokovnega šifriranja zaupnih podatkov Download PDF

Info

Publication number
SI20498A
SI20498A SI9820092A SI9820092A SI20498A SI 20498 A SI20498 A SI 20498A SI 9820092 A SI9820092 A SI 9820092A SI 9820092 A SI9820092 A SI 9820092A SI 20498 A SI20498 A SI 20498A
Authority
SI
Slovenia
Prior art keywords
block
sub
bit
encryption
depending
Prior art date
Application number
SI9820092A
Other languages
English (en)
Inventor
Alexandr Andreevich Moldovyan
Nikolai Andreevich Moldovyan
Nikolai Viktorovich Savlukov
Original Assignee
Otkrytoe Aktsionernoe Obschestvo "Moskovskaya Gorodskaya
Alexandr Andreevich Moldovyan
Nikolai Andreevich Moldovyan
Nikolai Viktorovich Savlukov
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from RU98103646A external-priority patent/RU2140710C1/ru
Priority claimed from RU98104851A external-priority patent/RU2140711C1/ru
Priority claimed from RU98107784/09A external-priority patent/RU2140712C1/ru
Application filed by Otkrytoe Aktsionernoe Obschestvo "Moskovskaya Gorodskaya, Alexandr Andreevich Moldovyan, Nikolai Andreevich Moldovyan, Nikolai Viktorovich Savlukov filed Critical Otkrytoe Aktsionernoe Obschestvo "Moskovskaya Gorodskaya
Publication of SI20498A publication Critical patent/SI20498A/sl

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Abstract

Izum spada na področje električnih komunikacij in računalniške tehnologije, še zlasti na področje kriptografskih postopkov in naprav za šifriranje digitalnih podatkov. Postopek obsega tvorbo šifrirnega ključa v obliki skupine podključev, razbitje podatkovnega bloka na množico podblokov N je večje ali enako od 2, nato pa pretvorbo podblokov z izvajanjem dvojno-lokacijskih operacij na podbloku in podključu. Postopek je značilen po tem, da se pred izvajanjem dvo-lokacijske operacije na i-tem podbloku in na podključu izvrši predtvorbeno operacijo, ki je odvisna od j-tega podbloka, pri čemer velja j ni enako i. Postopek je značilen tudi po tem, da je operacija pretvorbe, ki je odvisna od j-tega podbloka permutacijska operacija na bitih podključa v odvisnosti od j-tega podbloka. Še nadalje je postopek zlačilen po tem, da je operacija pretvorbe, ki je odvisna od j-tega podbloka, ciklična operacija zamikanja bitov podbloka v odvisnosti od j-tega podbloka. Končno je postopek značilen po tem, da je operacija pretvorbe, ki je odvisna od j-tega podbloka, substitucijska operacija, ki se izvaja na podključu v odvisnosti od j-tega podbloka.ŕ

Description

OTKRYTOE AKTSIONERNOE OBSCHESTVO MOSKOVSKAYA GORODSKAYA TELEFONNAYA SET MOLDOVYAN Aleksandr Andreevich
MOLDOVYAN Nikolay Andreevich
SAVLUKOV Nikolay Viktorovich
MPK6: H 04 L 9/00
Postopek blokovnega šifriranja zaupnih podatkov
Izum spada na področje elektronskih komunikacij in računalniške tehnologije, zlasti h kriptografskim metodam za šifriranje sporočil (informacij).
Stanje tehnike
Pri vseh značilnostih prijavljenega postopka so uporabljeni sledeči izrazi:
- tajni ključ predstavlja samo legitimnemu uporabniku znano kombinacijo bitov,
- šifrirni ključ pomeni kombinacijo bitov, uporabljeno pri šifriranju podatkovnih informacijskih signalov; šifrirni ključ je šifrirno spremenljiv element in je uporabljiv za pretvorbo vsakokratnega sporočila v vsakokratno množico sporočil; šifrirni ključ se tvori v skladu z določenimi postopki kot tudi s tajnim ključem; pri številnih šifrah je uporabljen tajni ključ kot tak;
- šifra pomeni množico elementarnih korakov pretvorbe vstopnih podatkov ob uporabi šifrirnega ključa; šifro je mogoče uporabiti kot računalniški program ali kot posebno elektronsko napravo;
- podključ predstavlja del šifrirnega ključa, uporabljenega pri posameznih korakih šifriranja;
- šifriranje pomeni postopek uporabe določenega postopka pretvorbe podatkov ob uporabi šifrirnega ključa, pri čemer se podatke prevede v kriptogram, ki je navidezno naključno zaporedje, iz katerega je brez poznavanja vrednosti šifrirnega ključa praktično nemogoče pridobiti informacijo;
- dešifriranje je postopek, ki je nasproten postopku šifriranja; dešifriranje zagotavlja povrnitev informacije iz kriptograma, potem ko je znan šifrirni ključ;
- kriptografska učinkovitost pomeni stopnjo varnosti zaščite informacij in predstavlja intenzivnost dela, merljivo s številom za pridobitev informacije iz kriptograma potrebnih elementarnih operacij, ko je znan algoritem pretvorbe, ni pa znan šifrirni ključ.
Znani so postopki šifriranja, gl. npr. šifro RC5 (R.Rivest, The RC5 Encryption Algorythm, Fast Sofhvare Encryption, Second International Workshop Proceedings (Leuvven, Belgium, December 14-16, 1994); Lecture Notes in Computer Science, v. 1008, Springer-Verlag, 1995, str.86-96). Pri znanem postopku se šifriranje podatkov doseže z generiranjem šifrirnega ključa v obliki množice podključev, razdelitvijo blokov pretvorjenih podatkov na podbloke ter izmeničnim spreminjanjem slednjih z uporabo cikličnih kompenzacijskih operacij, operacije seštevanja z modulom 2, izvajane na dveh podblokih kot tudi operacije seštevanja z modulom 2“, ki se izvaja na podbloku in podključu. Pri tem so podključi uporabljeni v nespremenljivem redosledu, t.j. na določenem koraku izvajanja binarne operacije med podblokom in podključem vrednost podključa ni odvisna od bloka vstopnih podatkov. Kadar je uporabljen kot računalniški program, ta postopek šifriranja zagotavlja visoko stopnjo šifriranosti.
Vendar pa ta postopek ne nudi zadostne varnosti proti diferencialni ter linearni kriptoanalizi (Kalisky B.S., Yin Y.L. On Differential and Linear Cryptanalysis of the RC5 Encryption Algorithm. Advances in Cryptology - CRYPT0'95 Proč., Springer-Verlag 1995, str. 171-184), kar je posledica dejstva, da so pri tem postopku pri določenih korakih šifriranja pri vseh možnih vstopnih blokih uporabljeni fiksirani oz. nespremenljivi podključi.
Glede na njegovo tehnično vsebino najbolj soroden prijavljenemu postopku blokovnega šifriranja je postopek, ki je opisan v ameriškem (US) standardu DES (National Bureau of Standards; data Encryption Standard. Federal Information Proceedings Standard Publication 46, januar 1977). Ta postopek obsega generiranje šifrirnega ključa v obliki skupine 48-bitnih podključev, razbitje vstopnega bloka zaupnih podatkov na dva 32-bitna podbloka L in R ter izmenično pretvarjanje podblokov pod nadzorom tajnega ključa. V celoti je tako zagotovljenih 16 ciklov 32-bitnih podatkovnih podblokov. Vsak cikel pretvorbe podbloka je izvršen ob zagotovitvi sledeče procedure: (1) razširitev podbloka (R) na 48 bitov s ponavljanjem določenih bitov tega podbloka R-»R', (2) izvajanje operacije sumiranja z modulom 2 na podbloku in podključu, (3) razbitje podbloka R' na osem 6-bitnih podblokov, (4) izvajanje operacije substitucije na vsakem 6-bitnem podbloku z nadomestitvijo 6-bitnih podblokov s 4-bitnimi podbloki v skladu z znanimi substitucijskimi shemami, (5) kombiniranje osmih 4-bitnih podblokov v 32-bitni podblok 2, (6) izvajanje operacije permutacije bitov podbloka R v skladu z določenim zakonom, (7) izvajanje operacije sumiranja z modulom 2 na podbloku R s podblokom L. Pri izvajanju vsakokratnega cikla šifriranja je pri vseh možnih blokih vstopnih podatkov uporabljen nespremenljiv podključ. Pri pretvarjanju podblokov uporabljeni podključi se generirajo v odvisnosti od 56-bitnega tajnega ključa. Kadar je uporabljen v obliki specializiranega elektronskega vezja, se ta postopek šifriranja informacijskih blokov odlikuje po visoki stopnji pretvorbe.
Vendar pa ima ta postopek nekaj pomanjkljivosti, njegova stopnja šifriranosti je namreč nizka, če se ga uporabi v programski opremi. Razen tega postopek uporablja 56-bitni tajni ključ, ki za razvozlanje tajnega ključa z izbiro različnih možnih vrednosti ključa omogoča uporabo zmogljivih sodobnih računalnikov. To narekuje potrebo po izvajanju več postopkov šifriranja z uporabo različnih tajnih ključev, kar pa celo ob uporabi strojne opreme otežuje zagotavljanje visoke stopnje šifriranosti.
Izum temelji na problemu, kako razviti postopek šifriranja blokov tajnih podatkov, pri katerem naj bi bila pretvorba podatkovnih podblokov takšna, da bi se znižalo število operacij pretvorbe, preračunano na en vstopni podatkovni bit, medtem ko bi bila sočasno zagotovljena visoka kriptografska zaščita, ki se odraža v povečani stopnji šifriranosti.
Opis rešitve
Omenjeni cilj je dosežen zahvaljujoč dejstvu, da se pri postopku blokovnega šifriranja zaupnih podatkov vključno z generiranjem šifrirnega ključa kot skupine podključev, razbitjem podatkovnih blokov na N>2 podblokov ter izmenično pretvorbo podblokov z izvajanjem dvo-lokacijskih operacij na i-tem podbloku in podključu, pri čemer pa gre za novo značilnost po izumu, da se na podključu pred izvajanjem dvo-lokacijske operacije na i-tem podbloku in podključu izvaja operacijo pretvorbe, ki je odvisna od j-tega podbloka, pri čemer velja j A1.
Zahvaljujoč tej rešitvi je sestava podključa, uporabljenega v določenem koraku šifriranja, odvisna od pretvarjanih podatkov, zato so v vsakokratnem koraku pretvorbe pri različnih vstopnih blokih uporabljene različno modificirane vrednosti podključa, zaradi česar je zagotovljena učinkovitejša kriptografska zaščita glede na različne oblike kriptoanalize, hkrati pa se zahvaljujoč višji stopnji kriptografske pretvorbe zmanjša število šifrirnih ciklov.
Novo značilnost predstavlja tudi dejstvo, da se za operacijo pretvorbe v odvisnosti od j-tega podbloka uporabi operacijo permutacije bitov podključa v odvisnosti od jtega podbloka.
Zahvaljujoč tovrstni rešitvi je zagotovljena višja stopnja šifriranosti, kadar se postopek po izumu izvaja z elektronskimi šifrirnimi napravami.
Novo značilnost predstavlja tudi to, da se ciklična operacija zamikanja bitov podključa v odvisnosti od j-tega podbloka izvaja kot operacija pretvorbe v odvisnosti od j-tega podbloka.
Zahvaljujoč tej rešitvi je zagotovljena višja stopnja šifriranosti kadar se postopek po izumu uporablja s šifrirno računalniško programsko opremo.
V nadaljevanju bo bistvo izuma podrobneje razloženo na osnovi primerov izvedbe v povezavi s priloženimi skicami.
Kratek opis skic
Sl. 1 predstavlja splošno šifrirno shemo v skladu s postopkom po izumu.
Sl. 2 kaže blokovno shemo elementarno kontroliranega preklopnika, ki predstavlja temeljni element kontroliranega permutacijskega bloka. Kadar je u=l, vstopni biti niso permutirani, t.j. izstopni signali sovpadajo z vstopnimi signali. Kadar je u=0 so vstopni biti permutirani.
Sl. 3 kaže tabelo vstopnih in izstopnih signalov elementarno kontroliranega preklopnika pri visokem potencialu kontroliranega signala.
Sl. 4 kaže tabelo vstopnih in izstopnih signalov elementarno kontroliranega preklopnika pri nizkem potencialu kontroliranega signala.
Sl. 5 shematično kaže strukturo kontroliranega permutacij skega bloka, sestoječega iz skupine blokov enake vrste, kot tudi iz elementarnih preklopnikov, ki omogočajo 2” različnih permutacij vstopnih bitov v odvisnosti od vrednosti 79bitne kontrolne kode.
Sl. 6 kaže shemo poenostavljenega kontroliranega permutacijskega bloka.
Prednostni primeri izvedbe izuma
Izum je razložen s pomočjo posplošene sheme kriptografske pretvorbe podatkovnih blokov na osnovi postopka po izumu, kakršna je prikazana na sl. 1, pri čemer P pomeni blok kontrolirane operacije, ki se izvaja na podključu; A in B sta pretvarjana n-bitna podbloka; K2„ K:i, so m-bitni podključi (v splošnem m^n); Q(2r), Q(2r-1) so g-bitni dodatni podključi, označba Φ pomeni operacijo sumiranja bita za bitom z modulom dva; označba Θ pomeni operacijo sumiranja z modulom 2. Ppudarjene neprekinjene črte označujejo potek prenosa n-bitnega signala, tenke prekinjene črte pa označujejo prenos vsakokratnega kontrolnega bita. Poudarjene Črtkane črte prav tako označujejo potek prenosa n kontrolnih signalov, za kar so uporabljeni pretvorjeni biti podblokov. Poudarjene črtkane črte označujejo tudi potek prenosa h bitov dodatnih podključev Q(2r) in Q(2r-1), ki služijo za modifikacijo operacije v odvisnosti od pretvaijanega podbloka. V posebnih primerih dodatnih podključev ni potrebno uporabiti.
Sl. 1 kaže en cikel (r-tega) šifrirnega cikla. V odvisnosti od specifične vrste uporabljene kontrolirane operacije kot tudi od zahtevane stopnje pretvorbe je mogoče izvesti med 6 in 10 ali tudi več ciklov. Posamezni šifrirni cikel obsega izvedbo sledečega zaporedja korakov:
(1) pretvorbo podključa K2r v odvisnosti od vrednosti podbloka A ter od vrednosti dodatnega podključa Q(2r), posledica česar je ta, da izstop bloka Pi generira pretvorjeno vrednost podključa Ρα,^ι (K2r);
(2) pretvorbo podbloka B z izvajanjem operacije sumiranja bita za bitom z modulom 2 na vrednost Ρα,οο (K2r) in podbloka B: Β:=ΒΘΡα,ο(2π (K2r), pri čemer označba := pomeni operacijo dodeljevanja;
(3) pretvorbo podbloka A z izvajanjem operacije sumiranja z modulom 2 na podbloku A in podbloku B: A:=A®B;
(4) pretvorbo podključa K2r.i v odvisnosti od vrednosti podbloka B in od vrednosti dodatnega podključa Q(2r-1), posledica česar je ta, da izstop bloka P2 generira vrednost P^oc-u (K2M);
(5) pretvorbo podbloka A:
A:— ΑΘΡa.0(2,-1) (K2r.i);
(6) pretvorbo podbloka B: B:= BOA.
V odvisnosti od posamezne izvedbe predlaganega postopka blokovnega šifriranja zaupnih informacij je možno taisti par m-bitnih podključev K2 in Ki (dodatna gbitna podključa Q(2) in Q( 1) uporabiti pri izvajanju vskega šifrirnega cikla. Možna je izvedba, pri kateri se v vsakem ciklu uporabi neodvisna ključa K2r in K2r4 (neodvisna dodatna g-bitna podključa Q(2r) in Q(2r-1). Tako sta npr., kadar je število ciklov r=3, v prvem ciklu uporabljena podključa K« in K3 (Q(6) in Q(5).
Podključa K2, in K2,.iin dodatna podključa Q(2r) in Q(2r-1) je mogoče oblikovati v skladu s posebnimi postopki v odvisnosti od tajnega ključa. Možna je tudi izvedba, pri kateri se podključa K2, in K2,.i in dodatna podključa Q(2r) in Q(2r-1) tvori z generiranjem naključnih zakonitosti.
Možnost tehnične uporabe postopka po izumu je obrazložena na osnovi v nadaljevanju navedenih posebnih primerov.
Primer 1
Primer kaže šifriranje 64-bitnih podatkovnih blokov z uporabo kontroliranih permutacij kot operacije, ki se vrši na podključu v odvisnosti od enega od pretvarjanih blokov. Šifrirni ključ se generira v obliki 16 podključev K,, K2, K3, ...Ki6, dolžina vsakega od katerih znaša 32 bitov. Dodatni podključi niso uporabljeni. Vstopni podatkovni blok se razbije na 32-bitna podbloka A in B. Šifriranje vstopnega bloka je opisano s sledečim algoritmom:
1. Nastavitev števca ciklov:
r:=l.
2. Pretvorba podbloka B v skladu z enačbo:
B: = B Θ PA (K2r), kjer PA (K2,) označuje operacijo permutacije bitov podključa K2„ ki se vrši v odvisnosti od vrednosti podbloka A.
3. Pretvorba podbloka A v skladu z enačbo:
A: =A ® B.
4. Pretvorba podbloka A v skladu z enačbo:
Α: = ΑΘΡβ2(,), kjer PB (K2f.i) označuje operacijo permutacije bitov podključa K2r, ki se vrši v odvisnosti od vrednosti podbloka B.
5. Pretvorba podbloka B v skladu z enačbo:
B: = B Θ A.
6. Če je r^8, povečanje števca r: =r+l in pomik na korak 2, sicer pa STOP.
Ta algoritem je prirejen za uporabo na elektronskem vezju. Operacije permutacije bitov podključa v odvisnosti od enega od pretvarjanih podblokov je možno izvajati z uporabo kontrolnega permutacij skega bloka na osnovi uporabe skupine elementarnih preklopnikov, ki izvajajo operacijo permutiranja dveh bitov.
Sl. 2 ponazarja delovanje elementarnega preklopnika, kjer je u kontrolni signal, a in b sta vstopna podatkovna signala, c in d pa sta izstopna podatkovna signala.
Tabeli na sl. 3 in 4 kažeta odvisnost izstopnih signalov od vstopnih in kontrolnih signalov. Iz tabel je razvidno, da pri u=l niz a sovpada z nizom c, niz b pa z nizom d. Kontrolni signal je torej ena in noben od obeh vstopnih signalov ni permutiran, medtem ko sta pri kontrolnem signalu nič vstopna signala permutirana.
Sl. 5 kaže možno izvedbo kontroliranega permutacij skega bloka z uporabo elementarnih preklopnikov S. Ta primer ustreza bloku P s 32-bitnim informacijskim vstopom in 79-bitnim kontrolnim vstopom. Kot informacijski signali so uporabljeni biti trenutno pretvarjanega podključa. Kot kontrolni signali služijo 32 bitov enega od podblokov in 47 bitov enega od dodatnih podključev.
Število možnih različic operacije permutacije je enako Številu možnih kodnih kombinacij na kontrolnem vstopu in pri bloku P, katerega struktura je ponazorjena na sl. 2, znaša 2”. Ta kontrolni blok vrši enolično permutacijo vstopnih bitov za vsako od možnih vrednosti kodne kombinacije na kontrolnem vstopu, katerih število znaša 2”. Zunanji informacijski vstopi kontrolnega permutacijskega bloka so označeni z il, i2,..., i32, zunanji informacijski izstopi z ol, o2,..., o32, kontrolni vstopi pa so označeni s cl, c2,..., c79. Elementarni preklopniki S so priključeni na ta način, da tvorijo množico, ki sestoji iz 31 nizov. V prvem nizu je priključenih 31 elementarnih preklopnikov, v drugem nizu 30 preklopnikov, v tretjem nizu 29 preklopnikov itd. V vsakem naslednjem nizu je število elementarnih preklopnikov zmanjšano za 1. V najnižjem 31. nizu je priključen 1 elementarni preklopnik.
Niz št. j*31 obsega 33-j vstopov, 33-j izstopov ter 32-j kontrolnih vstopov. Zadnji (najbolj desni) izstop j-tega niza predstavlja zunanji izstop kontroliranega permuutacijskega bloka, preostalih 32-j izstopov j-tega niza pa je priključenih na pripadajoče vstope (j+l)-tega niza. Zadnji 31. niz ima dva izstopa in oba sta zunanja izstopa kontroliranega opermutacijskega bloka. Pri ne več kot enem kontrolnem vstopu je uporabljen enotni (u=l) kontrolni signal. Da bi bil ta pogoj izpolnjen, so predvideni dvakrat-dvaintrideset-stopenjski dešifrimiki Fb F2,.., Fi, in dvakrat šestnajst-stopenjski dešifrimik F«. Dešifrimiki Fb F2, .., F» obsegajo pet zunanjih kontrolnih vstopov, na katere je vodena naključna 5-bitna koda, in 32 izstopov. Ti dešifrimiki generirajo enotni signal zgolj na enem izstopu. Na preostalih 31 izstopih je nastavljen nični signal. Dešifrimik Fw obsega 4 vstope na katere se vodi ustrezno 4-bitno binarno kodo, in 16 izstopov, pri čemer je zgolj na enem nastavljen signal z vrednostjo ena. Pri vseh dešifrimikih Fb F2, .., F« in F« vsaka vstopna binarna koda enolično določa možno izstopno število pri katerem je nastavljen enoten signal (u=l).
Del izstopov dešifrimika Fh, pri čemer velja h<15, je priključen na kontrolne vstope niza številka h (h-32 izstopov), medtem ko je del izstopov priključen na kontrolne vstope (32-h)-tega niza (h izstopov). Pri tem je v vsakem nizu zgolj pri enem elementarnem preklopniku nastavljen kontrolni signal i=l. Vstop niza, ki je priključeni na pravi vstop elementarnega preklopnika, pri katerem je uporabljen enoten kontrolni signal, komutira z zunanjim izstopom kontroliranega permutacijskega bloka, ki ustreza danemu nizu. Kadar je enoten signal uporabljen pri najbolj levem elementarnem preklopniku, zunanji izstop kontroliranega permutacij skega bloka komutira z najbolj levim vstopom niza. Prvi niz z enim od zunanjih vstopov il, i2, ..., i32 bloka P komutira z zunanjim izstopom ol, preostalih 31 zunanjih vstopov z vstopi drugega niza. Drugi niz z enim od preostalih 31 zunanjih vstopov komutira z zunanjim izstopom o2, preostalih 30 zunanjih vstopov pa z vstopi 3. niza, itd. Takšna struktura bloka P služi za izvajanje enolične permutacije vstopnih bitov za vsako vrednost binarne kode, dovedene na 79-bitni kontrolni vstop bloka P.
Možna je tudi naslednja različica uporabe kontrolnega permutacij skega bloka P s 32-bitnim informacijskim vstopom in 79-bitnim kontrolnim vstopom. Kot kontrolne signale, uporabljene pri 79-bitnem kontrolnem vstopu kontroliranega permutacij skega bloka P je mogoče uporabiti 32 bitov podbloka A in 47 bitov dodatnega 47-bitnega podključa Q(2r). V tem primeru je v odvisnosti od 47bitnega dodatnega podključa ustvarjena ena od 241 različnih modifikacij operacije permutacije, ki je odvisna od vrednosti vstopnega bloka. Pri tem vsaka modifikacija te operacije vključuje 232 različnih operacij permutiranja bitov podključa K2,, pri čemer je izbira določene permutacijske operacije določena z vrednostjo podbloka A. Izbira modifikacije ni vnaprej določena, ker je določena z dodatnim podključem Q(2r), ki neposredno predstavlja element tajnega ključa ali je odvisen od tajnega ključa. To še dodatno poveča učinkovitost kriptografske pretvorbe. Če šifrirna naprava uporablja dva bloka P s strukturo, kakršna je prikazana na sl. 2, je mogoče računati s številom možnih modifikacij kombinacij kontroliranih permutacij, ki so nastavljive na bloku P v odvisnosti od 47-bitnih podključev, do (247)2 = 2’4, če se uporabi tajni ključ dolžine 94 bitov.
Zaradi enostavne strukture bloka P sodobna tehnologija izdelave tiskanih vezij omogoča enostavno izdelavo kriptografskih mikroprocesorjev, obsegajočih kontrolirane permutacij ske bloke z vstopno kapaciteto 32 in 64 bitov ter s tem zagotavljanje intenzitete šifriranja do 1 Gbit/s in več.
Na sl. 6, kjer tenke neprekinjene črte ponazarjajo prenos posameznih bitov podključa, je ponazorjena možna izvedba kontroliranega permutacijskega bloka z uporabo skupine elementarnih preklopnikov S. Ta primer kontroliranega permutacij skega bloka ustreza kontroliranemu permutacij skemu bloku z 8-bitnim vstopom za informacijske signale (biti podključa) in 8-bitnim vstopom za kontrolne signale (podatkovni biti podbloka so označeni s črtkanimi črtami podobno kot na sl. 1). Podobno je mogoče zasnovati ustrezno kontroliran permutacijski blok, ki ima npr. 64-bitni vstop za informacijske signale in 128-bitni vstop za kontrolne signale. Pri uporabi kontroliranega permutacij skega bloka z 32-bitnim informacijskim vstopom je število možnih permutacij enako 232. To pomeni, da pri šifriranju dveh različnih podatkovnih blokov verjetnost ponavljanja določenih permutacij pri določeni skupini znaša 2a, medtem ko verjetnost ponavljanja permutacij pri skupini z znaša 2-322. Množica modificiranih vrednosti podključa, uporabljenih pri pretvorbi vsakega vstopnega sporočila je torej praktično neskončna, kar zagotavlja visoko kriptografsko zaščito šifriranja.
Pri uporabi poenostavljene strukture kontroliranega permutacij skega bloka, prikazanega na sl. 6, je enostavno izdelati kriptografske mikroprocesorje, obsegajoče kontrolirane permutacijske bloke z vstopno kapaciteto do 128 bitov.
Uporaba kontroliranih permutacijskih operacij na 128-bitnih podključih omogoča doseganje učinkovitejše kriptografske zaščite šifriranega sporočila. Kontroliran permutacijski blok je kombinacijski električni tokokrog, ki omogoča hitro izvajanje kontroliranih permutacij.
Primer 2
Ta primer pojasnjuje uporabo cikličnih kompenzacijskih operacij v odvisnosti od v
pretvarjanih podblokov, ki se jih izvaja na podključih. Šifrirni ključ se generira v obliki 16 podključev K,, K2, .., K< in K32, od katerih ima vsak dolžino 32 bitov. 64bitni vstopni podatkovni blok se razbije na dva 32-bitna podbloka A in B. Šifriranje vstopnega bloka je mogoče opisati s sledečim algoritmom:
1. Nastavitev števca ciklov r=l.
2. Pretvorba podbloka B v skladu z enačbo: B: = B Θ (K2, <«A), kjer K2r<«A označuje operacijo cikličnega zamikanja bitov A proti levi, ki se izvaja na podključu K2r.
3. Pretvorba podbloka A v skladu z enačbo:
A: =A ® B, kjer ® predstavlja operacijo sumiranja z modulom 232.
4. Pretvorba podbloka A v skladu z enačbo:
A: = A Φ (K2,.,<«B), kjer K2,.i<«B označuje operacijo cikličnega zamikanja bitov B proti levi, ki se vrši na podključu K2,.b
5. Pretvorba podbloka B v skladu z enačbo:
B: = B ® A.
6. Če je r^l6, povečanje števca r: =r+l in pomik na korak 2, sicer pa STOP. Logična shema ciklusa pretvorbe je obrazložena na sl. 1, bloka P2 in P2 pa v tem primeru predstavlja operacijski blok, ki izvaja operacijo cikličnega zamikanja bitov vsakokrat ustreznih podključev v odvisnosti od pretvarjanih podblokov. Ta algoritem je usmerjen v uporabo v obliki računalniškega programa. Sodoben mikroprocesor hitro izvrši ciklične operacije zamikanja v odvisnosti od spremenljivke, shranjene v enem od registrov. Zahvaljujoč temu dejstvu opisani algoritem, uporabljen pri programski opremi, pri visokozmogljivem mikroprocesorju Pentium/200 omogoča kapaciteto šifriranja približno 40Mbit/s. Če je nastavljenih 10 šifrirnih ciklov, se doseže intenziteto približno 60 Mbit/s.
Primer 3
Ta primer ponazarja uporabo operacije substitucije v odvisnosti od pretvarjanih podblokov, ki se izvaja na podključih. Pri obravnavanem primeru bloka Px in P2 predstavljata operacijski blok za izvajanje operacije substitucije v odvisnosti od ustreznih podblokov. Pod operacijo substitucije se razume operacijo zamenjave vrednosti binarnega signala na vstopu operacijskega bloka P z drugo binarno vrednostjo (nastavljeno na izstopu operacijskega bloka), ki je izbrana v odvisnosti od vrednosti na vstopu bloka P v skladu s določeno substitucijsko tabelo. Uporabiti je mogoče dve verziji substitucije:
(1) n-bitni binarni vektor se zamenja z n-bitnim izstopnim binarnim vektorjem, pri čemer različni izstopni binarni vektorji ustrezajo različnim vstopnim binarnim vektorjem;
(2) m-bitni binarni vektor se zamenja z n-bitnim binarnim vektorjem, kjer velja n>m, pri čemer lahko različni in enaki izstopni binarni vektorji ustrezajo različnim vstopnim binarnim vektorjem.
Naj razložimo odvisnost prve vrste operacije substitucije na podbloku od pretvarjanih podatkov. Predpostavimo, da se operacije substitucije izvajajo na binarnih vektorjih n-bitne dolžine, kjer je n pozitivno celo število (tkzv. mteger), Z namenom, da bi določili operacijo substitucije kapacitete n x n (označba n x n pomeni, da v operacijo substitucije vstopa binarni vektor dolžine n bitov in da je dolžina izstopnega binarnega vektorja prav tako n), je potrebno uporabiti tabelo, vsebujočo dva niza števil:
1 2 3... N-l ou oti α.2 a3... aN-i kjer velja N=2n. V spodnjem nizu te tabele so vse možne vrednosti n-bitnega bloka navedene v želenem zaporedju. Ustrezno zaporedje lokacij števil spodnjega niza določa specifična verzija substitucijske tabele in temu ustrezno tudi specifična verzija operacije substitucije, ki se izvaja ob uporabi te tabele. Operacijo substitucije se izvaja kot sledi. V zgornjem nizu se izbere število, ki je enako vrednosti vstopnega bloka. Vrednost, ki se nahaja pod tem številom v spodnjem nizu, se privzame kot izstopni blok. Temu ustrezno je mogoče substitucijsko tabelo vnesti v računalniški delovni pomnilnik kot konsekutivni zapis n-bitnih računalniških besed, ki se nahajajo v celicah z naslovi w», wb ..,Ww. V tem primeru vrednost vstopnega binarnega vektorja Y služi za izračunavanje naslova w0+Y besede, ki je privzeta kot izstopni binarni vektor. Ta način predstavitve substitucijske tabele zahteva uporabo pomnilnika s kapaciteto, ki ustreza Nn=2n bitov. Izberimo število substitucijskih tabel, ki je enako 2L (zahtevana kapaciteta pomnilnika bo v tem primeru 2LNn bitov) in locirajmo substitucijske tebele neprekinjeno drugo za drugo. Vzemimo za vrednost naslova w0 iz prve bitne besede tabele kot naslov iz tabele s številko v. Naj bo naslov iz tabele s številko v=0 enak s. V tem primeru je substitucijski naslov iz tabele s katerokoli številko v enak s+vN.Ce je določen kontrolni binarni vektor, ki določa številko iz vsakokratne substistcijske tabele kot tudi vstopni binarni vektor, tedaj se operacija substitucije izvaja z zamenjavo vsakokratnega vstopnega bloka z n-bitno besedo, ki je locirana na naslovu s+vN+Y, pri čemer Y predstavlja vrednost vstopnega binarnega vektorja, na katerem se izvaja vsakokratno operacijo substitucije. Z uporabo te relacije je enostavno določiti izbiro substitucijske tabele s številom v in izvajati substitucijo na vstopnem binarnem vektorju z vrednostjo Υ. V obravnavanem primeru se upoštevajoč odvisnost specificiranja substitucijskih tabel od vrednosti kontrolnega binarnega vektorja operacija substitucije izvaja zelo hitro s pomočjo mikroprocesorja, če se izbere ustrezni vrednosti parametrov L in n, npr.
v kadar velja L=5 in n=8. Ce izberemo takšna parametra, je za lociranje substitucij skih tabel potrebnih 8 kbit-ov delovnega pomnilnika, kar je povsem sprejemljivo, ker je pri sodobnih računalnikih delovni pomnilnik za nekaj velikostnih redov obsežnejši od te vrednosti (od 1 do 64 Mbitov in več).
Odvisnost specificiranja operacije substitucije druge vrste od podatkovnega podbloka bo obrazložena na primeru 16x32 specificiranih substitucij z uporabo številčnega zaporedja 32-bitnih binarnih vektorjev Xj, j=0, 1, 2,... 216-1. Zaporedje Xj se privzame kot znano in se nanaša na opis šifrirnega algoritma. Operacija substitucije na 16-bitnem ključu k se izvaja v odvisnosti od pretvarjanega podbloka b kot sledi:
(1) izračuna se število j=(b*k) mod 216;
(2) 16-bitni binarni vektor se zamenja s 32-bitnim vektorjem X,.
Šifrirne 64-bitne podatkovne bloke, ki temeljijo na operacijah substitucije, ki se izvajajo ob uporabi 32-bitnih binarnih vektorjev Xj (j=0, 1, 2, ... 216-1) na podključih v odvisnosti od pretvarjanih podatkovnih podblokov, je npr. možno realizirati kot sledi. Šifrirni ključ se generira v obliki 16 podključev Kb K2, .., K-e, od katerih ima vsak dolžino 16 bitov. Vstopni podatkovni blok se razbije na dva 32-bitna podbloka A=a2| at in | bi, izražena kot sklop 16-bitnih podblokov ab a2in bb K Šifriranje vstopnega bloka je opisano s sledečim algoritmom:
v .
1. Števec ciklov se nastavi na r=l.
2. Pretvorba podbloka B v skladu z enačbo:
B: =B © F(K4„ ai), kjer F(K.,, ai), označuje operacijo substitucije na podbloku Ki, v odvisnosti od podbloka a,.
3. Pretvorba podbloka A v skladu z enačbo:
A:= A + B (mod?32).
4. Pretvorba podbloka A v skladu z enačbo:
A: =A®F(Km, b0, kjer F(Km, bi), označuje operacijo substitucije na podbloku K«, ki se izvaja odvisnosti od podbloka bi.
5. Pretvorba podbloka B v skladu z enačbo:
B:= B + A (mod 232).
6. Pretvorba podbloka B v skladu z enačbo:
B: =B Θ F(K.,2, a2),
7. Pretvorba podbloka A v skladu z enačbo:
A:= A + B (mod 232).
8. Pretvorba podbloka A v skladu z enačbo:
A: =A©F(K4,.3, K).
9. Pretvorba podbloka B v skladu z enačbo:
B:= B + A (mod 232).
10. Če je r*4, povečanje števca r:=r+l ter premik na korak 2, sicer STOP.
Pri tem algoritmu je uporabljena znana substitucijska tabela velikosti 240 kbit-ov, kar predstavlja majhen del kapacitete sodobnega računalniškega delovnega pomnilnika. Operacija ekstrahiranja binarnega vektorja iz delovnega pomnilnika v skladu z vnaprej določenimi naslovi se izvaja s pomočjo majhnega števila obdelovalnih ciklov, zato je ob uporabi programske opreme za izvajanje predmetnega postopka blokovnega šifriranja z operacijami substitucije v odvisnosti od pretvarjanih podblokov pri visokozmogljivem mikroprocesorju Pentium/200 mogoče računati z intenziteto šifriranja med 20 in 60 Mbit/s (odvisno od primera uporabe).
Industrijska uporabljivost
Navedeni primeri izkazujejo, da je predlagani postopek blokovnega šifriranja tehnično izvedljiv ter omogoča rešitev opredeljenega problema.
Obravnavani primeri so enostavno uporabljivi npr. v specializiranih šifrirnih tokokrogih (Primer 1) kot tudi v obliki šifrirne računalniške programske opreme (Primera 2 in 3) ter omogočajo intenziteto šifriranja do 1 Gbit/s in več (Primer 1) ob uporabi strojne opreme (hardware-a) ter do 60Mbit/s ob uporabi programske opreme (sowtware-a) in visokozmogljivega mikroprocsorja Pentium/200 (Primera 2 in 3).
Za:
OTKRYTOE AKTSIONERNOE OBSCHESTVO MOSKOVSKAYA GORODSKAYA TELEFONNAYA SET; MOLDOVYAN Aleksandr Andreevicli;
MOLDOVYAN Nikolay Andreevich; SAVLUKOV Nikolay Viktorovich

Claims (4)

  1. PATENTNI ZAHTEVKI
    1. Postopek blokovnega šifriranja zaupnih podatkov, obsegajoč generiranje šifrirnega ključa v obliki skupine podključev, razbijanje podatkovnega bloka na N>2 podblokov in izmenično pretvarjanje omenjenih podblokov z izvajanjem dvolokacijske operacije na podbloku in podključu, označen s tem, da se pred izvajanjem omenjene dvo-lokacijske operacije na i-tem podbloku in podključu izvrši operacijo pretvorbe na podključu v odvisnosti od j-tega bloka, pri čemer veljaj A
  2. 2. Postopek po zahtevku 1, označen s tem, da se kot operacijo pretvorbe v odvisnosti od j-tega podbloka uporabi operacijo permutacije podključa v odvisnosti od omenjenega j-tega podbloka.
  3. 3. Postopek po zahtevku 1, označen s tem, da se kot operacijo pretvorbe v odvisnosti od j-tega podbloka uporabi operacijo cikličnega zamikanja bitov podključa v odvisnosti od omenjenega j-tega podbloka.
  4. 4. Postopek po zahtevku 1, označen s tem, da se kot operacijo pretvorbe v odvisnosti od j-tega podbloka uporabi operacijo substitucije, ki se jo izvaja na podključu v odvisnosti od omenjenega j-tega podbloka.
SI9820092A 1998-02-24 1998-06-19 Postopek blokovnega šifriranja zaupnih podatkov SI20498A (sl)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
RU98103646A RU2140710C1 (ru) 1998-02-24 1998-02-24 Способ блочного шифрования дискретных данных
RU98104851A RU2140711C1 (ru) 1998-03-20 1998-03-20 Способ блочного шифрования дискретной информации
RU98107784/09A RU2140712C1 (ru) 1998-04-22 1998-04-22 Способ блочного шифрования двоичной информации
PCT/RU1998/000181 WO1999044330A1 (fr) 1998-02-24 1998-06-19 Procede de cryptage en bloc de donnees discretes

Publications (1)

Publication Number Publication Date
SI20498A true SI20498A (sl) 2001-08-31

Family

ID=27354188

Family Applications (1)

Application Number Title Priority Date Filing Date
SI9820092A SI20498A (sl) 1998-02-24 1998-06-19 Postopek blokovnega šifriranja zaupnih podatkov

Country Status (9)

Country Link
EP (1) EP1059760A4 (sl)
JP (1) JP2002505452A (sl)
KR (1) KR100411912B1 (sl)
CN (1) CN1281023C (sl)
PL (1) PL342617A1 (sl)
SI (1) SI20498A (sl)
SK (1) SK12472000A3 (sl)
UA (1) UA51836C2 (sl)
WO (1) WO1999044330A1 (sl)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2345229B (en) * 1998-12-23 2003-12-03 Motorola Ltd Method for encrypting data
JP2002055604A (ja) 2000-08-11 2002-02-20 Trinity Communication Inc データ防護処理装置、モデム装置、データ通信システム、データ防護処理方法、その方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
ITRM20010304A1 (it) * 2001-06-01 2002-12-02 Atop Innovation Spa Metodo di codificazione, in particolare di codificazione numerica.
KR101066063B1 (ko) * 2003-01-07 2011-09-20 퀄컴 인코포레이티드 암호화 키를 대체하기 위한 시스템, 장치 및 방법
JP2008058830A (ja) * 2006-09-01 2008-03-13 Sony Corp データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム
GB2446199A (en) * 2006-12-01 2008-08-06 David Irvine Secure, decentralised and anonymous peer-to-peer network
GB2475327A (en) * 2009-11-16 2011-05-18 Alexander Jackson-Smith Processing binary data arranged into segments or blocks using a value based on the binary ones in the segments to transform part of the segment.
US8675871B2 (en) * 2011-05-31 2014-03-18 International Business Machines Corporation Protecting a control vector in an optional block of a standard key block
CN106817220A (zh) * 2015-11-30 2017-06-09 北大方正集团有限公司 一种通信数据加密的方法、装置及加密设备
CN108156113B (zh) * 2016-12-02 2019-07-23 中科星图股份有限公司 一种更新文件的推送方法
MX2021011608A (es) 2019-03-29 2021-12-10 Myst Therapeutics Llc Metodos ex vivo para producir celulas t terapeuticas y composiciones y metodos afines.
BR112022016490A2 (pt) 2020-02-27 2022-10-11 Myst Therapeutics Llc Métodos para enriquecimento ex vivo e expansão de células t reativas tumorais e composições relacionadas das mesmas

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3565918D1 (en) * 1984-08-10 1988-12-01 Gretag Ag Enciphering/deciphering method
GB2288519A (en) * 1994-04-05 1995-10-18 Ibm Data encryption
AU3560895A (en) * 1995-09-26 1997-04-17 Xian Kan Lin A method for encryption of file
RU2103828C1 (ru) * 1997-02-10 1998-01-27 Управление Федеральной службы безопасности России по Санкт-Петербургу и Ленинградской области Способ блочного шифрования данных
KR100497130B1 (ko) * 1997-04-02 2005-09-20 오트크리토에 악츠이오네른오에 옵스체스트보 (모스코브스키야 고로즈카야 텔레폰나야 셋) 이진코드정보의암호화방법
KR100259836B1 (ko) * 1997-05-13 2000-06-15 윤종용 N-라운드 라운드 출력문 귀환 블록 암호화/복호화 방법
KR100606027B1 (ko) * 2002-03-11 2006-07-26 삼성전자주식회사 수동형 광 가입자망을 통한 이더넷 프레임 전송시 왕복시간지연을 보상하는 방법 및 그 수동형 광 가입자망 시스템
KR101937887B1 (ko) * 2016-12-09 2019-01-14 한국생산기술연구원 아이소소바이드 유도체 화합물을 포함하는 치과용 충전재 조성물

Also Published As

Publication number Publication date
PL342617A1 (en) 2001-06-18
EP1059760A1 (en) 2000-12-13
KR100411912B1 (ko) 2003-12-18
SK12472000A3 (sk) 2001-05-10
WO1999044330A1 (fr) 1999-09-02
CN1281023C (zh) 2006-10-18
CN1285102A (zh) 2001-02-21
EP1059760A4 (en) 2002-09-18
JP2002505452A (ja) 2002-02-19
KR20010041202A (ko) 2001-05-15
UA51836C2 (uk) 2002-12-16

Similar Documents

Publication Publication Date Title
AU2003213312B2 (en) Block cipher apparatus using auxiliary transformation
US7092525B2 (en) Cryptographic system with enhanced encryption function and cipher key for data encryption standard
SI20498A (sl) Postopek blokovnega šifriranja zaupnih podatkov
KR100456599B1 (ko) 병렬 디이에스 구조를 갖는 암호 장치
US20040184607A1 (en) Crypto-system with an inverse key evaluation circuit
US20050147244A1 (en) Method for cryptographic transformation of binary data blocks
SI20349A (sl) Postopek kriptografske pretvorbe binarnih podatkovnih blokov
RU2127024C1 (ru) Блок шифрования
Alexiev et al. Cryptanalysis of IDA encryption algorithm
JPH0573299B2 (sl)

Legal Events

Date Code Title Description
IF Valid on the event date
KO00 Lapse of patent

Effective date: 20080809