Standardi i enkriptimit të të dhënave të brendshme. Standardi i brendshëm i enkriptimit të të dhënave të sigurisë së informacionit

Hulumtuesi i famshëm, themeluesi i kriptoanalizës algjebrike të Nicolas Courtois, argumenton se Cipher Got Gost, i cili në të ardhmen e afërt duhet të bëhet një standard ndërkombëtar, në të vërtetë hacked dhe pret një numër botimesh që duhet të zhvillojnë idetë e saj për mospërputhjen e kësaj algoritëm.

Në vijim janë fragmente të shkurtra nga kjo punë, e cila mund të shihet si sulmi alarmanist në mes të standardizimit ndërkombëtar (autori u njoh edhe për AES, por puna e tij më pas kishte një efekt të madh teorik në kriptanalizë, por nuk çoi në sot Sulmet praktike në vetë AES). Por është e mundur që ky është një paralajmërim i vërtetë për fillimin e skenës "Zhytja në zierjen e një avioni", i cili mund të përfundojë me rënien e standardit kombëtar të enkriptimit, ashtu siç ishte me algoritmin e sha-1 hash dhe de facto hash algoritëm md5.

GOST 28147-89 u standardizua në vitin 1989 dhe për herë të parë u bë standardi zyrtar për mbrojtjen e informacionit konfidencial, por specifikimi i shifrës mbeti i mbyllur. Në vitin 1994, standardi u deklasifikua, publikoi dhe u përkthye në gjuhën angleze. Nga analogjia me AES (dhe ndryshe nga des), GOST lejohet të mbrojë informacionin e fshehtë pa kufizime, në përputhje me mënyrën se si tregohet kjo në standardin rus. Kështu që GOST nuk është një analog i des, por një konkurrent 3-des me tre çelësa të pavarur ose AES-256. Natyrisht, GOST është një shifër mjaft serioze që plotëson kriteret ushtarake të krijuara duke llogaritur aplikacionet më serioze. Të paktën dy grupe të blloqeve të GOST-it janë identifikuar në bazë të aplikacioneve të përdorura nga bankat ruse. Këto banka kanë nevojë për komunikim të fshehtë me qindra degë dhe mbrojtjen e miliarda dollarë nga përvetësimi mashtrues.

GOST është një shifër bllok me një strukturë të thjeshtë firewall, me një madhësi bllok prej 64 bit, një çelës 256-bit dhe 32 raunde. Çdo raund përmban shtim me një çelës moduli 2 ^ 32, një grup prej tetë blloqe 4-bit S-blloqe dhe një ndryshim të thjeshtë ciklik me 11 bit. Funksioni GOST është aftësia për të ruajtur S-Blocks Secret, i cili mund të përfaqësohet si një çelës i dytë që rrit materialin efikas të rëndësishëm deri në 610 bit. Një grup i S-blloqeve u botua në vitin 1994 në kuadër të specifikimit të funksionit Hash GOST-R 34.11-94 dhe, siç shkroi Schnayer, u përdor nga Banka Qendrore e Federatës Ruse. Ai gjithashtu hyri në standardin RFC4357 në pjesën "ID-GOSTR3411-94-Cryptoproparamset". Në kodet burimore në fund të librit të Schnayer ka pasur një gabim (në blloqet S). Zbatimi më i saktë i referencës së invariatimit të origjinës ruse tani mund të gjendet në bibliotekën e openssl. Nëse blloqet e sekreteve përdoren diku, ato mund të nxirren nga implementimet e softuerit dhe nga çipi, në faktin se cilat punime të përshtatshme janë publikuar.

Gost - një konkurrent serioz

Përveç madhësisë shumë të madhe, GOST ka një kosto të konsiderueshme më të ulët të ekzekutimit në krahasim me AES dhe çdo sistem tjetër encryption. Në fakt, ajo qëndron shumë më pak AES, e cila kërkohet katër herë më shumë valvola logjike hardware për hir të një niveli të qartë të deklaruar të sigurisë.

Nuk është për t'u habitur që GOST është bërë një standard online, në veçanti, është përfshirë në shumë kriptobiba, të tilla si Openssl dhe Crypto ++, dhe po bëhet gjithnjë e më popullore jashtë vendit të origjinës së tyre. Në vitin 2010, GOST u deklarua për standardizimin ISO si një standard të enkriptimit botëror. Një numër jashtëzakonisht i vogël i algoritmeve mund të bëhen standarde ndërkombëtare. ISO / IEC 18033-3: 2010 përshkruan algoritmet e mëposhtme: Katër shifra 64-bit - TDEA, Misty1, Cast-128, Hight - dhe tre shifra 128-bit - AES, Camellia, farë. GOST është ftuar të shtojë në të njëjtën standard ISO / IEC 18033-3.

Për herë të parë në historinë e standardizimit industrial, ne kemi të bëjmë me një algoritëm të tillë konkurrues në aspektin e optimalitetit midis kostos dhe nivelit të sigurisë. GOST ka 20 vjet përpjekje të kriptanalizës dhe deri kohët e fundit, siguria e saj ushtarake nuk është dyshuar.

Ndërsa u bë kohët e njohur me autorin nga korrespondenca private, shumica e vendeve folën kundër GOST në votën e ISO-s në Singapor, megjithatë, rezultatet e këtij votimi do të konsiderohen ende në seancën plenare të ISO SC27, në mënyrë që GOST të jetë ende në Procesi i standardizimit në kohën e publikimit të kësaj pune.

Mendime të ekspertëve për GOST

Asgjë nga informacioni dhe literatura ekzistuese në GOST nuk jep arsye për të besuar se shifra mund të jetë e pasigurt. Përkundrazi, madhësia e madhe kryesore dhe një numër i madh i raundeve e bëjnë GOST, në shikim të parë, të përshtatshëm për dekada të përdorimit.

Gjithkush që është i njohur për Moore është i vetëdijshëm se, në teori, çelësat 256-bit do të mbeten të sigurt të paktën 200 vjet. GOST u eksplorua gjerësisht nga ekspertë kryesorë kriptografike të njohura në fushën e analizimit të shifrave të bllokut, të tilla si Schneier, Biryukov, Dankelman, Wagner, shumë shkencëtarë australianë, japonezë dhe rusë, ekspertë të kriptografisë nga ISO, dhe të gjithë studiuesit shprehën se gjithçka duket si ai mund të jetë ose duhet të jetë i sigurt. Megjithëse një kuptim i gjerë ka arritur pikëpamjen se struktura e strukturës së GOST është jashtëzakonisht e dobët, për shembull, në krahasim me des, në veçanti, përhapja nuk është aq e mirë, por gjithmonë është përcaktuar nga fakti se kjo duhet të kompensohet nga Një numër i madh i raundeve (32), si dhe jolinearitet shtesë dhe difuzion të ofruar duke shtuar modulin.

Biryukov dhe Wagner shkruan: «Një numër i madh i raundeve (32) dhe një dizajn të studiuar mirë, të kombinuara me zëvendësime të qëndrueshme Shannon-Permutations, sigurojnë një bazë solide të GOST". Në të njëjtën punë lexojmë: "Pas një kosto të konsiderueshme të kohës dhe përpjekjes, nuk kishte përparim në kriptanizën e standardit në literaturën e hapur". Kështu, nuk kishte sulme të rëndësishme që do të lejonin decryption ose rikuperim të një çelës në një skenar realist, kur GOST përdoret në encryption me një numër të çelësave të rastit të ndryshëm. Në të kundërt, shumë punë në sulme ndaj çelësave të dobët në GOST, sulmet me çelësat e lidhur, sulme në restaurimin e blloqeve të fshehta të Sekretarëve. Crypto-2008 u përfaqësua duke hacking një funksion hash bazuar në këtë shifër. Në të gjitha sulmet, sulmuesi ka një nivel shumë më të madh të lirisë sesa zakonisht lejohet. Në aplikacionet tradicionale të enkriptimit duke përdorur çelësat e thjeshtë të përzgjedhur në të tashmen, nuk kishte sulme serioze kriptografike në GOST, se në vitin 2010 ai u shpreh nga fraza e fundit: "Pavarësisht nga përpjekjet e rëndësishme të kriptoanalitikës gjatë 20 viteve të fundit, GOST ende nuk është hacked "(Axel Poschmann, San Ling, dhe Huaxiong Wang: 256 bit Crypto i standardizuar për 650 GE GOST Revisited, në CHES 2010, LNCS 6225, f. 219-233, 2010).

Analiza lineare dhe diferenciale e GOST

Ne lexojmë: "Kundër kriptanalizës diferenciale dhe lineare të gostit është ndoshta më i qëndrueshëm se Des." Vlerësimi kryesor i sigurisë së GOST është dhënë në vitin 2000, Gabidulin et al. Rezultatet e tyre janë shumë mbresëlënëse: kur niveli i sigurisë është 2 ^ 256, ka mjaft pesë raunde për të mbrojtur gostin nga kriptanaliza lineare. Për më tepër, edhe kur zëvendëson s-blloqet në funksionimin e njëjtë dhe jo-linear të shifrës - Shtesë 2 ^ 32 - shifra është ende racks kundër kriptanalizës lineare pas 6 raundeve të 32. Cryptanaliza diferenciale e gost duket relativisht më e lehtë dhe tërhoqi më shumë vëmendje. Për 2 ^ 128 hulumtuesit e nivelit të sigurisë (Vitali V. Shorin, Vadim V. Jelezniakov dhe Ernst M. Gabidulin: Cryptanalizë lineare dhe diferenciale e Gost ruse, para Presidentit të paraqitur në Elsevier Preprint, 4 prill 2001) supozonte rezistencë të mjaftueshme në nivelin e 7 raundeve . Sipas tyre, hacking gost në më shumë se pesë raunde është "jashtëzakonisht e vështirë". Për më tepër, dy studiues japonezë kanë treguar se një sulm i diferencuar i drejtpërdrejtë klasik me një karakteristikë diferenciale është gjasat jashtëzakonisht të vogla për të kaluar nëpër një numër të madh të raundeve. Bazuar në bazë të studimit të një karakteristike diferenciale më të mirë "të mirë" për një numër të kufizuar të raundeve (e cila në vetvete ka një probabilitet të kalimit jo më të mirë se 2-11.4 për raundin), vlerat e grupit të përshtatshëm Çelësat më pak se gjysma janë marrë. Për një gomë të plotë, një sulm i tillë me një karakteristikë të vetme do të punojë vetëm me një çelës të papërfillshëm të rendit 2-62 çelësa (dhe madje edhe në këtë pjesë të vogël do të ketë gjasat jo më shumë se 2-360).

Sulmet më komplekse përfshijnë diferenca të shumëfishta pas modeleve specifike, për shembull, duke përdorur blloqe individuale që kanë zero diferencat, ndërsa në copa të tjera janë jo-zero. Fjala rreth sulmeve-dallimet e bazuara në vetitë e vështira të difuzionit të GOST. Më të mirët nga këto sulme punon kundër 17 raundeve të rrumbullakëta, varet nga çelësi dhe ka një dallim jashtëzakonisht të dobët nga të dhënat e rastësishme në prizë në mënyrë që të përdoret në një farë mënyre për ta përdorur atë për marrjen e informacionit për çelësin.

Sulmet e rrëshqitjes dhe reflektimit

Sipas Biryukov dhe Wagneru, struktura e GOST, e cila përfshin rendin e kundërt të lidhjes në raundet e fundit, e bën atë rezistente ndaj sulmeve të rrëshqitjes (të ashtuquajturat "slides-sulmeve"). Megjithatë, për shkak të pranisë së një sasi të madhe të vetë ngjashmërisë në shifër, ju lejon të kryeni përmbysjen e çelësave në një kombinim të pikave fikse dhe vetitë e "reflektimit" (të ashtuquajturat "sulme reflektuese") për disa çelësa të dobët. Kompleksiteti i këtij sulmi 2 ^ 192 dhe 2 ^ 32 të teksteve të hapura të zgjedhura.

Rezultatet e fundit

Sulmet e reja gjithashtu reflektojnë dhe në të vërtetë hacked gost, e cila u prezantua në konferencën FSE 2011. Këto sulme ishin gjithashtu të hapura në mënyrë të pavarur nga autori i kësaj pune. Sulmi kërkon 2 ^ 132 bytes të kujtesës, e cila është në të vërtetë më e keqe se sulmet më të ngadalshme me një kërkesë më të vogël të kujtesës.

Shumë sulme të reja bazuar në vetë-ngjashmërinë punojnë kundër të gjitha çelësave të GOST dhe ju lejojnë të kolloni një gost të plotë me një çelës 256-bit, dhe jo vetëm për çelësat e dobët, siç ishte më parë. Të gjitha këto sulme kërkojnë shumë më pak kujtesë dhe ata janë shumë më të shpejtë.

Këto sulme të reja mund të shihen si shembuj të një paradigmë të re të përgjithshme të Cryptanasalya Block Ciphers të quajtur "Reduktim i kompleksitetit algjebrik", me një përmbledhje të këtyre sulmeve në shumë raste të veçanta të sulmeve me pikat e njohura të njohura, rrëshqitje, involutions dhe ciklet. Është e rëndësishme që në mesin e familjes së të gjitha këtyre sulmeve të ekzistojnë ato që lejojnë Cryptanalizën e GOST-it pa asnjë reflektim dhe pa ndonjë pikë simetrike që manifestohen gjatë llogaritjes. Një shembull është sulmi i thjeshtë i piraterisë së gostit pa reflektime në këtë punë.

Kriptanalizë algjebrike dhe sulmet me një kompleksitet të vogël të të dhënave mbi Ciffers me një numër të reduktuar të raundeve

Sulmet algjebrike në bllokun e bllokut dhe të transmetimit mund të përfaqësohen si një problem zgjidhjen e një sistemi të madh të ekuacioneve algjebrike boolean, e cila ndjek gjeometrinë dhe strukturën e një skeme kriptografike private. Ideja vetë daton në Shannon. Në praktikë, ajo u prezantua për des (për herë të parë të prezantuar nga autori i kësaj pune) si një metodë e kodimit formal dhe mund të godasë 6 raunde në vetëm një tekst të njohur në natyrë. Manipulimi me ekuacionet ndodh në bazë të algoritmeve XL, bazave të Greobner, metodës Elimlin, solvers sat.

Në praktikë, sulmet algjebrike zbatohen kundrejt numrit shumë të vogël të raundeve të shifrave të bllokut, por tashmë çuan në ciperët e streaming, ka edhe suksese në hacking cipers superhigh për pajisje mikro. Për shkak të vështirësive në sasinë e kujtesës dhe vlerësimeve, kostot e llogaritjeve janë të kombinuara me sulme të tjera.

Si të kollitem Gost?

Sulmi algjebrik në Gost të plotë në mënyrë të hollësishme në publikim në shqyrtim. Në punën e mëparshme, autori ka përcaktuar tashmë 20 sulme algjebrike në GOST dhe pret një numër të madh të tyre në të ardhmen e afërt. Sulmi i propozuar në këtë vepër nuk është më i miri prej tyre, por hap një të thjeshtë (të paktën për të kuptuar me kriptografi) rrugën për zhvillimet e mëvonshme për të krijuar një metodologji të veçantë për të GOST.

Rezultati praktik është ende modest: 2 ^ 64 Tekst i njohur i hapur dhe 2 ^ 64 memorie për ruajtjen e çifteve "Teksti i Hapur / Ciphertext" ju lejojnë të plasoni GOST në 2 ^ 8 më shpejt se busti i thjeshtë. Por në aspektin e kriptanalizës, ajo bën një deklaratë plotësisht të drejtë se "Gost hacked".

konkluzione

GOST është projektuar për të siguruar sigurinë ushtarake për 200 vjet. Shumica e ekspertëve kryesorë që studiojnë Gost erdhën në një marrëveshje që "Pavarësisht përpjekjeve të rëndësishme kriptanalitike për 20 vjet, GOST ende nuk është hacked". Në vitin 2010, GOST promovohet në ISO 18033 si një standard encryption global.

Baza e ideve për kriptanalizën algjebrike u ngrit më shumë se 60 vjet më parë. Por vetëm gjatë 10 viteve të fundit, softuer efektiv (të pjesshëm) janë zhvilluar për zgjidhjen e problemeve të shumta të NP-së. Një numër i caktuar i shifrave streaming u hodhën. Vetëm një shifër e bllokut u hoq nga kjo metodë - në vetvete të dobët keeloq. Në këtë punë, autori zgjon një gost të rëndësishëm, të përdorur në të vërtetë. Ai vëren se ky është rasti i parë në histori kur kriploanaliza algjebrike u hodh nga një shifër e standardizuar shtetërore.

Sulmi i thjeshtë "MITM me një reflektim" në GOST është paraqitur tashmë në konferencën FSE 2011. Në punën e konsideruar në këtë artikull, një sulm tjetër përfaqësohet vetëm për të ilustruar faktin se sa sulme ndaj GOST kanë shfaqur tashmë tani, shumë prej tyre Të cilat janë më të shpejta dhe sulmi algjebrik kërkon shumë më pak kujtesë dhe hap hapësirë \u200b\u200bpothuajse të pashtershme për një armik që sulmon shifrën në mënyra të ndryshme. Gjithashtu në këtë punë tregon mungesa e nevojës për të përdorur pronën e reflektimit për hacking.

Autori pretendon: është e qartë se GOST ka të meta serioze dhe tani nuk ofron nivelin e rezistencës që kërkohet nga ISO. Shumë sulme në GOST paraqiten si pjesë e konfirmimit të paradigmës së reduktimit të kompleksitetit algjebrik.

Së fundi, studiuesi veçanërisht vë në dukje disa fakte që ende nuk janë në dispozicion të lexuesit, por janë të njohur për studiuesin, të cilat janë të rëndësishme gjatë procesit të standardizimit ISO. Ky sulm nuk është vetëm një sulm "certifikim" në GOST, e cila është më e shpejtë sesa forca brutale. Në fakt, standardizimi i GOST tani do të ishte jashtëzakonisht i rrezikshëm dhe i papërgjegjshëm. Kjo është kështu sepse disa nga sulmet janë të mundshme për t'u zbatuar në praktikë. Disa çelësa të GOST në praktikë mund të decrypted, pavarësisht nëse ato janë çelësa të dobët ose çelësa nga aplikacionet private të Gosti. Në punën e mëparshme, autori kryeson një shqyrtim të hollësishëm të rasteve të sulmeve praktike. Është gjithashtu e rëndësishme që "ky është rasti i parë në histori kur një bllokim serioz i standardizuar i standardizuar, i krijuar për të mbrojtur sekretet e nivelit ushtarak dhe për qëllim të mbrojtjes së sekreteve shtetërore për qeveritë, bankat e mëdha dhe organizata të tjera, u hodhën nga një matematik sulm. "

Ky algoritëm është i detyrueshëm për përdorim si një encryption algoritmi në organizatat shtetërore të Federatës Ruse dhe një numër komercial.

Përshkrimi i algoritmit

Skema e algoritmeve shfaqet në Fig. 3.1. Siç mund të shihet, diagrami i këtij algoritmi është mjaft i thjeshtë, i cili thjesht thjeshtëson softuerin ose zbatimin e harduerit.

Algoritmi GOST 28147-89 encrypts informacion me blloqe 64 bit, të cilat janë të ndara në dy sublocks 32 bit (n1 dhe n2). Subblock N1 përpunohet në një mënyrë të caktuar, pas së cilës vlera e saj është e palosur

me vlerën e nën-disblock N2 (shtim kryhet nga Moduli 2), atëherë nën-blloqet ndryshohen në vende. Një konvertim i tillë kryhet një numër i caktuar i raundeve: 16 ose 32, në varësi të mënyrës së funksionimit të algoritmit (të përshkruar më poshtë). Veprimet e mëposhtme kryhen në çdo raund:

1. Hyrja në çelësi. Përmbajtja e nën-disflock / vi folds në modulin 2 32 me një pjesë të çelësit KX.

Çelësi i encryption e algoritmit të GOST 28147-89 ka një dimension prej 256 bit, dhe KH është pjesë e saj 32-bit, domethënë, çelësi i encryption 256-bit është i përfaqësuar si një bashkërendim i lidhjeve 32-bit (Fig. 3.2 ):

STI ATI, AG2, YU, AG4, K5, KB, K7.

Gjatë procesit të encryption, përdoret një nga këto priza - në varësi të numrit të rrumbullakët dhe mënyrës së funksionimit të algoritmit.

Fik. 3.1. Skema e algoritmit GOST 28147-

Fik. 3.2. Algoritmi kryesor i Encryption GOST 28147-89

2. Zëvendësimi i tabelave. Pas mbulesës së çelësit, SidLock / VI është i ndarë në 8 pjesë prej 4 bit, secila prej të cilave është zëvendësuar veçmas sipas tabelës së zëvendësimit për këtë pjesë të subblock. Zëvendësimet e tabelave (Kutia e zëvendësimit, kutia S-Box) shpesh përdoren në algoritme moderne të enkriptimit, prandaj ia vlen të merren parasysh ato në më shumë detaje.

Një zëvendësim tavoline përdoret në këtë mënyrë: kontributi i bllokut të të dhënave të një dimensioni të veçantë është ushqyer (në këtë rast - 4-bit), përfaqësimi numerik i të cilit përcakton numrin e prodhimit. Për shembull, ne kemi S-kutinë e tipit të mëposhtëm:

4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1.

Le të shkojë blloku 4-bit "0100" në hyrje, i.E. Vlera 4. Sipas tabelës, vlera e prodhimit do të jetë 15, i.e. "1111" (0 zëvendësohet me 4, 1 - me 11, vlera 2 nuk ndryshon, etj.).

Siç mund të shihet, skema e algoritmeve është shumë e thjeshtë, që do të thotë se ngarkesa më e madhe në të dhënat e enkriptimit bie në tryezën e zëvendësimit. Për fat të keq, algoritmi ka pasurinë që ka tabela substanciale "të dobëta", kur përdorimi i algoritmit mund të zbulohet me metoda kriptanalitike. Për shembull, tabela në të cilën prodhimi është i barabartë me numrin e dobësive:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15.

3. Zhvendosja ciklike e bitwise në të majtën e 11 bit.

Mënyrat e funksionimit të algoritmit

Algoritmi GOST 28147-89 ka 4 mënyra të funksionimit:

□ Mënyra e thjeshtë e zëvendësimit;

□ Modaliteti i Hamingut;

N mode gamming recetion;

□ Mënyra e zhvillimit të kontakteve të fluturimit.

Këto mënyra janë disi të ndryshme nga përgjithësisht të pranuara (të përshkruara në seksionin 1.4), prandaj ia vlen të merren parasysh ato në më shumë detaje.

Këto mënyra kanë një qëllim të ndryshëm, por përdorin të njëjtin transformim të enkriptimit të mësipërm.

Modaliteti i thjeshtë i zëvendësimit

Në një mënyrë të thjeshtë zëvendësimi, 32 raunde të përshkruara të përshkruara më sipër janë zbatuar thjesht për të koduar çdo informacion 64-bit. Priza 32-bit përdoren në sekuencën e mëposhtme:

□ KO, KL, K2, KZ, K4, K5, KB, AG7, KO, ATI, etj. - Në raundet nga 1 deri në 24;

□ K1, KB, K5, K4, KZ, K2, K \\, KO -B raundet nga 25 deri në 32.

Decryption në një mënyrë të thjeshtë zëvendësimi kryhet plotësisht i njëjtë, por me një sekuencë pak më të ndryshme të aplikimit të lidhjes:

□ KO, K \\, K2, KZ, K4, K5, KB, PK - në raunde nga 1 deri në 8;

□ PK, KB, K5, K4, KZ, K2, K \\, KO, K1, KB, etj - në raundet nga 9 deri në 32.

Ngjashëm me mënyrën standarde të erv, për shkak të kodimit të veçantë të bllokut, mënyra e thjeshtë e zëvendësimit është kategorikisht që nuk rekomandohet të përdorë të dhënat në encryption; Duhet të përdoret vetëm për të koduar çelësat e tjerë të enkriptimit në skema të shumëfishta.

Modalitet hamming

Në rangun e modalitetit hidraulik (Figura 3.3), çdo njësi e hapur e tekstit është e bllokuar nga Moduli 2 me një bllok prej 64 bit Ciper Gamma. Cipher Gamma është një sekuencë e veçantë që prodhohet duke përdorur transformimet e përshkruara më lart si më poshtë:

1. Në regjistrat N1 dhe N2, mbushja e tyre fillestare regjistrohet me një vlerë 64-bit, të quajtur "Syncopusca" (Sync-litar, është praktikisht një analog i vektorit të inicializimit në mënyrat CFB, CFB dhe OFB).

2. Është koduar me përmbajtjen e regjistrave / VI dhe N2 (në këtë rast - Syncropters) në mënyrë të thjeshtë zëvendësimi.

3. Përmbajtja e N1 folds në modul (2 32 - 1) me një CI \u003d 2 24 + 2 16 + 2 8 + 4, rezultati i shtimit është regjistruar në Regjistrin / VI.

4. Përmbajtja e N2 zhvillohet në modulin 2 me një konstante C2 \u003d 2 24 + 2 16 + 2 8 +1, rezultati i shtimit është shkruar në regjistrin N2.

5. Përmbajtja e regjistrave / VI dhe N2 janë ushqyer në dalje si një bllok shifror me 64-bit (i.e., në këtë rast / VI dhe N2 formojnë bllokun e parë të gamës).

6. Nëse kërkohet blloku i ardhshëm gama (i.e., është e nevojshme të vazhdoni encryption ose decryption), kthehet në hapin 2.

Për decryption, gama kryhet në një mënyrë të ngjashme, atëherë operacioni XOR aplikohet përsëri në pjesë të tekstit të koduar dhe gama.

Për të zhvilluar të njëjtën gama të shifrës nga përdoruesi, duke deshifruar cryptogram, duhet të ketë të njëjtin çelës dhe të njëjtin kuptim të sinkronizmit, të cilat janë përdorur kur informacioni i koduar. Përndryshe, nuk do të jetë e mundur të marrësh tekstin burimor nga kodifikimi.

Në shumicën e implementimeve të algoritmit të GOST 28147-89, sinkronizuesi nuk është një element i fshehtë, por sinkronizmi mund të jetë si i fshehtë si çelësi i enkriptimit. Në këtë rast, mund të supozohet se gjatësia efektive e çelësit të algoritmit (256 bit) rritet me një tjetër 64 bit të sinpusuesve, të cilat mund të shihen si një element kyç shtesë.

Modaliteti i Hamingut të Feedback

Në regjimin e gamming mode si regjistri i plotësuar / VI dhe l / 2, duke filluar nga blloku i dytë, përdoret një bllok i mëparshëm i gamës dhe rezultati i kodimit të bllokut të mëparshëm të tekstit të hapur përdoret (Fig. 3.4) . Blloku i parë në këtë regjim gjenerohet nga më parë i ngjashëm me atë të mëparshmi.

Fik. 3.4. Zhvillimi i një shifre gama në modalitetin Gamming Reaging

Mënyra e zhvillimit tëmithods

Imitrobristente është një checksum kriptografik i llogaritur duke përdorur çelësin e encryption dhe për të kontrolluar integritetin e mesazheve. Për ta llogaritur atë, ekziston një mënyrë e veçantë e algoritmit GOST 28147-89.

Gjenerimi imithods kryhet si vijon:

1. Blloku i parë 64-bit i informacionit për të cilin llogaritet simpristen është i shkruar në regjistrat N1 dhe N2 dhe është i koduar në mënyrën e shkurtuar thjesht zëvendësuese, në të cilën kryhen 16 raundet e para të 32.

2. Rezultati i marrë përmblidhet me modulin 2 me bllokun e mëposhtëm të informacionit duke ruajtur rezultatin në N1 dhe N2.

3. M dhe N2 përsëri janë të koduara në mënyrë të shkurtuar thjesht zëvendësim, etj deri në bllokun e fundit të informacionit.

Simpuesi konsiderohet një përmbajtje 64-bit që rezulton i regjistrave N1 dhe N2 ose pjesë e saj. Më shpesh përdoret 32-bit imiavid, i.E. gjysma e përmbajtjes së regjistrave. Kjo është e mjaftueshme, pasi, si çdo kontroll, imitrock është menduar kryesisht për të mbrojtur nga shtrembërimet e rastësishme të informacionit. Për të mbrojtur të njëjtat të dhëna, përdoren metoda të tjera kriptografike - kryesisht një nënshkrim elektronik digjital (shih seksionin 1.1).

Simproscope përdoret si më poshtë:

1. Kur të kodohet ndonjë informacion, një fotografi e hapur e tekstit llogaritet dhe dërgohet së bashku me Ciphertextin.

2. Pas dekriptimit, simpristening llogaritet përsëri dhe krahasohet me të dërguarit.

3. Nëse thjeshtësia e llogaritur dhe e caktuar nuk përputhet me tekstin e shifrës, ajo u shtrembërua gjatë transmetimit ose përdorte çelësat e pasaktë kur deshifroi.

Simpimi është veçanërisht i dobishëm për të verifikuar decryption korrekte të informacionit kyç kur përdoren skemat me shumë seksion.

Simpristen është një kod i autentifikimit të mesazhit MAC të llogaritur në modalitetin CSA; Dallimi është se gjatë llogaritjes së thjeshtësisë, sinkronizmi nuk është përdorur, ndërsa vektori i inicializimit përdoret gjatë llogaritjes së Mac.

Algoritmi i rezistencës së kriptostit

Në vitin 1994, përshkrimi i algoritmit GOST 28147-89 u përkthye në gjuhën angleze dhe botuar; Pas kësaj, rezultatet e analizës së tij të kryer nga specialistë të huaj filluan të shfaqen; Megjithatë, shumë sulme që po afrohen pothuajse të realizuara u gjetën gjatë një kohe të konsiderueshme.

□ Gjatësia e madhe kryesore - 256 bit; Së bashku me sincopionel sekret, gjatësia efektive kryesore rritet në 320 bit;

□ 32 raundet e konvertimit; Tashmë pas 8 raundeve, arrihet efekti i plotë i shpërndarjes së të dhënave të inputeve: ndryshimi në një grimë të bllokut të tekstit të hapur do të ndikojë në të gjitha pjesët e bllokut të Ciphertext, dhe anasjelltas, i.E. Ka një furnizim të shumëfishtë rezervë.

Konsideroni rezultatet e kriptanalizës së algoritmit GOST 28147-89.

Analiza e tabelave të zëvendësimit

Meqenëse tabelat e zëvendësimit në standard nuk janë dhënë, në një numër punimesh (për shembull, c), sugjerohet që "organizata kompetente" të mund të japë tabela "të mira" dhe "të këqija" të zëvendësimit. Megjithatë, Bruce Schneier i quan supozime të tilla "thashethemet" në ekspertin më të famshëm. Është e qartë se rezistenca e kripës së algoritmit në masë të madhe varet nga vetitë e tabelave të përdorura, përkatësisht, ekzistojnë tabela të dobëta të zëvendësimit (shembull, shih më lart), përdorimi i të cilave mund të lehtësojë hapjen e algoritmit. Megjithatë, aftësia për të përdorur tabela të ndryshme të zëvendësimit duket të jetë një ide shumë e denjë, në favor të të cilit mund të sillni dy fakte të mëposhtme nga historia e standardit DES Encryption (shih seksionin 3.15):

□ Sulmet duke përdorur të dyja lineare dhe diferenciale Cryptanalysis des algorithm përdorin karakteristika specifike të tabelave zëvendësuese; Kur përdorni tavolina të tjera të kriptanalizës do të duhet të fillojë së pari;

□ Përpjekjet u bënë për të forcuar des kundër kriptanalizës lineare dhe diferenciale duke përdorur tabela më të qëndrueshme të zëvendësimit; Tabelat e tilla, me të vërtetë më të vazhdueshme, u propozuan, për shembull, në algoritmin S 5 des; Por, mjerisht, ishte e pamundur të zëvendësoheshin DE në S 5 des, meqë tabelat e zëvendësimit janë të përcaktuara në mënyrë strikte në standard, respektivisht, zbatimi i algoritmit me siguri nuk e mbështet mundësinë e ndryshimit të tabelave tek të tjerët.

Në një numër letrash (për shembull, dhe), është konstatuar gabimisht se tabelat sekrete të zëvendësimit të algoritmit të GOST 28147-89 mund të jenë pjesë e çelësit dhe të rrisin gjatësinë e saj efektive (që është e parëndësishme, që nga algoritmi ka një çelës shumë të madh 256-bit). Megjithatë, është vërtetuar se tabelat e zëvendësimit të fshehtë mund të llogariten duke përdorur sulmin e mëposhtëm, të cilat mund të aplikohen në praktikisht:

1. Çelësi zero është vendosur dhe kërkimi për "zero vektor" është kryer, i.E. Vlerat Z \u003d / (0), ku / () është funksioni i raundit të algoritmit. Kjo fazë merr rreth 2 operacione të enkriptimit.

2. Me zero vektor, llogariten vlerat e tabelave zëvendësuese, të cilat nuk marrin më shumë se 2 11 operacione.

Modifikimet e algoritmit dhe analizën e tyre

Puna ka kryer kriptanalizën e modifikimeve të algoritmit GOST 28147-89:

□ Algoritmi Gost-H, në të cilin, në krahasim me algoritmin origjinal, ndryshoi procedurën për përdorimin e prizës, domethënë, në raunde nga 25 deri në 32, ato përdoren në mënyrë të drejtpërdrejtë, domethënë në të njëjtën mënyrë si në raundet e mëparshme të algoritmit;

□ Algoritmi 20-rrumbullakët GOST®, në një raund të të cilit një operacion xor përdoret për të mbivendosur çelësin në vend të shtimit të 2 32 modulos.

Sipas rezultateve të analizës, u konstatua se Gost-H dhe Gost © më i dobët algoritmi fillestar GOST 28147-89, pasi që të dy kanë klasa të çelësave të dobët. Vlen të përmendet se në aspektin e cryptoanalysis gost © punojnë fjalën në fjalë përsërit seksionin e dedikuar për kriptanalizën e algoritmit të GOST 28147-89, i cili doli në vitin 2000, punë të mirënjohur (pa ndonjë referencë në origjinal) . Kjo e bën dyshim për profesionalizmin e autorëve të punës dhe pjesën tjetër të rezultateve të saj.

Një modifikim shumë interesant i algoritmit është propozuar në punë: tavolina s \\ ... SS duhet të jetë ndryshe; Në çdo raund të algoritmit, permutimi i tyre duhet të kryhet në një ligj të veçantë. Ky permutacion mund të jetë i varur nga çelësi i enkriptimit, dhe ndoshta sekreti (i.e., të jetë pjesë e çelësit më të madh të enkriptimit në krahasim me çelësin e burimit 256-bit). Të dyja këto opsione, sipas autorëve të tyre, në mënyrë të konsiderueshme rrisin rezistencën e algoritmit kundër kriptanalizës lineare dhe diferenciale.

Dhe një modifikim më i lidhur me tabelat e zëvendësimit ofrohet në punë, në të cilën një nga metodat e mundshme për llogaritjen e tabelave të zëvendësimit të kodimit janë analizuar. Autorët e punës arritën në përfundimin se një varësi e tillë dobëson algoritmin, pasi ajo çon në praninë e çelësave të dobët dhe për disa dobësi të mundshme të algoritmit.

Analiza e algoritmit të plotë

Ka sulme dhe Gost 28147-89 me afat të plotë pa asnjë modifikim. Një nga hapjet e para në të cilat është kryer analiza e algoritmit është një punë e mirënjohur - është e përkushtuar ndaj sulmeve duke përdorur dobësinë e procedurës për zgjerimin e çelësit të një numri të algoritmeve të mirënjohura të kodimit. Në veçanti, algoritmi i plotë i GOST 28147-89 mund të hapet duke përdorur kriptanalizë diferenciale në çelësat e lidhur, por vetëm në rastin e përdorimit të tabelave të dobëta të zëvendësimit. Varianti 24-raund i algoritmit (në të cilin mungojnë 8 raundet e para) hapet në mënyrë të ngjashme me tabelat e zëvendësimit, megjithatë, tabelat e forta të zëvendësimit (për shembull, c) bëjnë një sulm të tillë është absolutisht jopraktik.

Shkencëtarët vendas A. G. Rostovtsev dhe E. B. Movenko Në vitin 2001, një metodë krejtësisht e re e kriptanalizës u propozua në punë (sipas autorëve, në mënyrë të konsiderueshme më efikase sesa kriptanaliza lineare dhe diferenciale) duke formuar një funksion të synuar nga teksti i njohur i hapur që korrespondon me të Ciphertext dhe vlera e dëshiruar kryesore dhe gjetja e ekstremit të saj që korrespondon me vlerën e vërtetë kryesore. Ata gjithashtu gjetën një klasë të madhe të çelësave të dobët të algoritmit të Gost 28147-89, të cilat ju lejojnë të hapni algoritmin me ndihmën e vetëm 4 teksteve të hapura të hapura dhe që korrespondoni me ta ciphertexts me një kompleksitet mjaft të ulët. Algoritmi i kriptoanalizës vazhdoi në punë.

Në vitin 2004, një grup specialistësh nga Koreja propozoi një sulm me të cilin përdorimi i kripuralizës diferenciale në çelësat e lidhur mund të merren me një probabilitet prej 91.7% 12 bit të çelësit të fshehtë. Për sulmin ju duhet 2 35 tekste të hapura të hapura dhe 2 36 operacione encryption. Siç mund të shihet, ky sulm është praktikisht i padobishëm për autopsinë e vërtetë të algoritmit.

). Në të njëjtën kohë, numri i shënimeve në lidhje me këtë algoritëm në mediat ruse dhe bloget e përdoruesve rusë po rritet: të dyja rezultatet e sulmeve në standardin rus dhe që përmbajnë mendime mbi karakteristikat e saj operacionale. Autorët (A, për pasojë, lexuesit) Këto shënime shpesh përbëjnë përshtypjen se algoritmi i enkriptimit të brendshëm është moralisht i vjetëruar, i ngadalshëm dhe posedon dobësitë që e bëjnë të ekspozuar ndaj sulmeve ndaj algoritme të reja se sa një gjatësi të ngjashme të enkriptimit me një gjatësi të ngjashme. Ne do të donim këtë seri shënimesh në një formë të përballueshme për të treguar për gjendjen aktuale me standardin rus. Në pjesën e parë, të gjitha sulmet publike të njohura ndërkombëtare kriptografike do të mbulohen në GOST 28147-89, vlerësimet aktuale të rezistencës së saj. Në botimet e ardhshme, ne gjithashtu do të shqyrtojmë pronat e standardit në drejtim të ndërtimit të implementimeve efektive.

Nicolas Courtois - "i madh dhe i tmerrshëm"

Le të fillojmë me historinë për aktivitetet e Nicolas Courtois, i cili është autori i një cikli të tërë të veprave të dedikuara për standardin rus të encryption bllok ().

Në tetor 2010, u nis procesi i përfshirjes së algoritmit të GOST 28147-89 në standardin ndërkombëtar ISO / IEC 18033-3. Tashmë në maj 2011, një artikull i një kriptari të njohur të Nicolas Courtois, vuri në dukje nga një qëndrim shumë i paqartë ndaj tij nga komuniteti kriptografik global u shfaq në arkivin elektronik të Eprintit. Publikimet e kuropëve janë një shembull i trishtuar i manipulimit me konceptet që nuk hapin vetitë e reja të objektit në shqyrtim, por me një kërkesë për ndjesi provokon shpërndarjen në mjedisin jokompetent të opinioneve të gabuara në lidhje me pronat e tij të vlefshme.

Metoda algjebrike

Arsyetimi i Curvo është ndërtuar rreth dy klasave të metodave të kriptanalizës: metodat algjebrike dhe diferencën. Konsideroni klasën e parë të metodave.

Metoda e thjeshtuar e kriptoanalizës algjebrike mund të përshkruhet si hartimi dhe zgjidhja e një sistemi të madh të ekuacioneve, secila nga zgjidhjet e të cilave korrespondon me qëllimin e kriptanalitikës (për shembull, nëse sistemi është përpiluar në një palë tekste të hapura dhe të koduara, të gjitha Zgjidhjet e këtij sistemi korrespondojnë me çelësat në të cilët ky tekst i hapur konvertohet në këtë koduar). Kjo është, në rastin e problemit të kriptanalizës së shifrës së bllokut, thelbi i metodës algjebrike të kriptoanalizës është se çelësi është për shkak të zgjidhjes së sistemit të ekuacioneve polinom. Vështirësia kryesore është që, duke marrë parasysh specifikat e një shifre të veçantë, është e nevojshme të bëhet një sistem më i thjeshtë që procesi i zgjidhjes së tij merr sa më pak të jetë e mundur. Këtu, roli kyç është luajtur nga veçoritë e çdo shifre specifike të analizuar.

Metoda algjebrike, e operuar nga raundi, mund ta përshkruajë shkurtimisht këtë. Në fazën e parë, këto vetitë e GOST 28147-89 përdoren si ekzistencë e një pike fikse për një pjesë të konvertimit të enkriptimit, si dhe të ashtuquajturit pikë reflektimi (pikë reflektimi). Falë këtyre pronave nga një numër mjaft i madh i çifteve të kodit të koduara, janë përzgjedhur disa palë, të cilat na lejojnë të shqyrtojmë transformimet jo me 32, por vetëm në 8 raunde. Faza e dytë është se sipas rezultateve të transformimeve të rrumbullakëta të 8-të të fituara në fazën e parë, është ndërtuar sistemi i ekuacioneve jolineare, të cilat janë të panjohura në të cilat janë bit kyçe. Më tej, ky sistem është zgjidhur (tingëllon thjesht, por në realitet është pjesa më e madhe e metodës, sepse sistemi përbëhet nga ekuacionet jolineare).

Siç është përmendur më lart, askund në punën nuk ka përshkrim të hollësishëm dhe analizë të kompleksitetit të fazës së dytë dhe kryesore të përkufizimit kyç. Është kompleksiteti i fazës së dytë që përcakton kompleksitetin e të gjithë metodës në tërësi. Në vend të kësaj, autori drejton "faktet" famëkeq, në bazë të së cilës e bën vlerësimet e konsideratave. Është argumentuar se këto "fakte" bazohen në rezultatet e eksperimenteve. Analiza e "fakteve" nga puna e cloos në përgjithësi jepet në punën e autorëve vendas. Autorët e kësaj pune vunë në dukje se shumë nga "faktet" e paraqitura pa ndonjë dëshmi ishin të rreme me kontrolle eksperimentale. Autorët e artikullit vazhduan dhe për cloos kryer një analizë të kompleksitetit të fazës së dytë me ndihmën e algoritmeve dhe vlerësimeve të bazuara mirë. Konsumi i punës që rezulton si rezultat i vlerësimit tregon mungesën e plotë të sulmit të përfaqësuar. Përveç autorëve vendas, probleme të mëdha që dalin nga raundi me vlerësimet dhe arsyetimi për metodat e tyre, gjithashtu vunë në dukje, për shembull, në punë.

Metodë diferenciale

Konsideroni metodën e dytë të raundit, i cili bazohet në kriptanalizën diferenciale.

Metoda e përgjithshme e kriptanalizës diferenciale bazohet në funksionimin e pronave të përdorura në primitivat kriptografike të konstruksioneve jolineare të lidhura me efektin e vlerës kyçe në marrëdhëniet midis dallimeve të shkallëve të vlerave të inputeve dhe të avullit të këtyre hartave. Ne përshkruajmë idenë themelore të metodës diferenciale të analizës kriptografike të shifrës së bllokut. Në mënyrë tipike, klipët e bllokut konvertojnë të dhënat e hyrjes në faza me një numër të caktuar të të ashtuquajturave transformime të rrumbullakëta, dhe çdo transformim i rrumbullakët nuk e përdorin të gjithë çelësin, por vetëm një pjesë të saj. Konsideroni një shifër të vogël "të prerë", e cila është e ndryshme nga fakti fillestar se nuk ka raundin e fundit. Supozoni se ishte e mundur të vërtetohej se si rezultat i kodimit duke përdorur një shifër të tillë "të prerë" të dy teksteve të hapura, të ndryshme në disa pozicione fikse, me një probabilitet të lartë të Ciphertext, i cili gjithashtu ndryshon në disa pozicione fikse. Kjo pronë tregon se shifra "e prishur" është më e mundshme që të lërë marrëdhënien midis disa teksteve të hapura dhe rezultateve të enkriptimit të tyre. Për të përdorur këtë pengesë të qartë për të rivendosur një pjesë të çelësit, duhet të keni aftësinë për të koduar tekstet e hapura të paracaktuara në çelësin që duam të rivendosim (të ashtuquajturën "sulmi me tekstin e zgjedhur"). Në fillim të procedurës "Hapja e çelësit", një numër i caktuar i çifteve të hapura të tekstit gjenerohen në mënyrë të rastësishme në pozicionet më fikse. Të gjitha tekstet janë të koduara me shifër "të plotë". Çiftet e marra CipartText përdoren për të rikthyer ato pjesë kryesore që përdoren në konvertimin e raundit të fundit si më poshtë. Duke përdorur një vlerë të shpejtë të zgjedhur, vlera e pjesëve të dëshiruara të çelësit për të gjithë Ciphertexts përdoret për të kthyer, kthyer konvertimin e fundit të rrumbullakët. Në fakt, nëse ne menduam vlerën e dëshiruar të biteve kyçe, ne marrim rezultatin e veprës së shifrës "të prerë", dhe nëse nuk e kemi menduar - ne në të vërtetë "encrypt të dhënat edhe më shumë", e cila do të zvogëlojë vetëm Varësia e blloqeve midis blloqeve (ndryshim në disa pozicione fikse). Me fjalë të tjera, në qoftë se ka pasur mjaft çifte të ciphertextit në mesin e rezultateve të "përfundimit" të tillë, të ndryshëm në pozitat tona fikse të njohura për ne, kjo do të thotë që ne menduam bite të dëshiruara. Përndryshe, çifte të tilla janë dukshëm më pak. Meqenëse çdo raund është përdorur vetëm një pjesë e çelësit, bits (i.e., bits e çelësit të përdorur në raundin e fundit) nuk janë aq sa bit në çelësi të plotë dhe ata thjesht mund të kalojnë nëpër, duke përsëritur hapat e mësipërm. Në këtë rast, patjetër do të vëzhgojmë vlerën e saktë.

Nga përshkrimi i mësipërm, rrjedh se më e rëndësishmja në metodën e analizës diferenciale është numri i atyre pozicioneve më të mëdha në tekste dhe shifra të hapura, dallimet në të cilat ata luajnë një rol kyç në rivendosjen e biteve kyçe. Prania themelore e këtyre pozicioneve, si dhe grupi i numrave të tyre, varet drejtpërsëdrejti nga vetitë e atyre transformimeve jolineare që përdoren në çdo shifër bllok (zakonisht të gjithë "nonlinearitet" është i përqendruar në të ashtuquajturat S-blloqe ose nyjet zëvendësuese).

Courtois përdor një metodë diferenciale të modifikuar të shumëfishtë. Menjëherë vërejmë se analiza CLOI kryhet për blloqe S ndryshme nga ato që veprojnë dhe ofrohen në ISO. Gazeta paraqet karakteristika diferenciale (numrat shumë në të cilat blloqet duhet të ndryshojnë) për një numër të vogël të raundeve. Arsyetimi për zgjatjen e karakteristikave në një numër më të madh të raundeve, si zakonisht, bazohet në "fakte". Courtois shpreh, përsëri, përveç autoritetit të saj, jo të përforcuar supozimin se ndryshimi në blloqet e S-blloqeve nuk do të ndikojë në rezistencën e GOST 28147-89 kundër sulmit të saj (në të njëjtën kohë, blloqet e S-së nga drafti i parë i punës Përveç standardit ISO / IEC 18033-3 nuk janë konsideruar). Analiza e kryer nga autorët e artikullit tregon se edhe nëse marrim "fakte" të paarsyeshme të oborrit dhe të kryejnë një analizë të GOST 28147-89 me blloqe të tjera, atëherë sulmi nuk është më i mirë se shuarja e plotë.

Një analizë e detajuar e punës së oborrit me një provë të hollësishme të nënshkrimit të të gjitha deklaratave për të zvogëluar rezistencën e standardeve ruse u krye në [,].

Në të njëjtën kohë, mungesa absolute e saktësisë së llogaritjes njeh edhe vetë rrënjët! Rrëshqitja tjetër është marrë nga prezantimi i bookcuts në reklamat e shkurtra të FSE 2012.

Duhet të theksohet se puna e Clocus u kritikua në mënyrë të përsëritur nga studiuesit e huaj. Për shembull, puna e saj për ndërtimin e sulmeve në algoritmin e enkriptimit të bllokut AES me ndihmën e metodës XSL përmbante të njëjtat të meta themelore si puna në analizën e standardit rus: shumica e vlerësimeve të intensitetit të punës shfaqen në tekst Kritika plotësisht të pabazuara dhe të duhura mund të gjenden, për shembull, në punë. Përveç kësaj, vetë Courtois njeh refuzon të përhapur për të publikuar punën e tij në konferenca të mëdha kriptografike dhe në revistat e njohura të shqyrtuara nga kolegët, të cilët shpesh e lanë vetëm mundësinë për të kryer në seksionin e reklamave të shkurtra. Kjo, për shembull, mund të lexohet në Seksionin 3 të Punës. Këtu janë disa citate të dhëna nga vetë gjykatësi dhe lidhen me punën e tij:

  • "Unë mendoj se audiencat e asiacrypt nuk do të ndjehen se është interesante". AsiaCrypt 2011 recensues.
  • "... ka një problem të madh, të madh, të madh: ky sulm, i cili është kontributi kryesor i gazetës tashmë është botuar në FSE11 (ishte edhe letra më e mirë), ...". Rishikuesi Crypto 2011.

Kështu, pjesa profesionale e publikut kriptografik ndërkombëtar i takon cilësisë së punës së kurotës me jo më pak dyshim se, le të themi, të mos konfirmohet nga ndonjë llogaritje e qëndrueshme e deklaratave të disa specialistëve rusë për aftësinë e tyre për të goditur AES për 2 100 ose një tjetër "dëshmi" për dy faqe të hipotezës për pabarazinë e klasave komplekse p dhe np.

Sulm Isoba dhe Dinura-Dankelman-Shamir

Ideja e përgjithshme e Isoba () dhe Dinura-Dankelman-Shamir (në tekstin e mëtejmë: Sulmi DDSH) () është të ndërtohet për një grup të caktuar (të varur) një grup të ngushtë të teksteve të hapura ekuivalente në këtë grup transformimi, i cili ka më shumë Thjeshtë se vetë konvertimi i encryption, strukturë. Në rastin e metodës ISOB, është një grup i blloqeve të tilla 64-bit X që f 8 -1 (swap (f 8 (z)) \u003d z, ku z \u003d f 16 (x), nëpërmjet f 8 ( x) dhe f 16 (x) 8 dhe 16 raundet e para të enkriptimit të GOST 28147-89, respektivisht, përmes Swap - shkëmbimin e vendeve me fjalë 64 byte. Kur teksti i hapur merr në këtë, ky grup i transformimit total prej 32 raundësh të GOST 28147-89 përkon me rezultatin e një 16-raundi, i cili operohet nga autori i sulmit. Në rastin e metodës DDS, ky është një grup i tillë x që f 8 (x) \u003d x (pika fikse e konvertimit f 8). Për të gjithë tekstin e hapur, transformimi i GOST 28147-89 punon saktësisht i njëjtë me 8 raundet e fundit, gjë që thjeshton analizën.

Kompleksiteti i sulmit Atobe është 2,224 operacione encryption, sulme DDSH - 2 192. Megjithatë, të gjitha pyetjet në lidhje me atë nëse sulmet Isobe dhe DSH bëjnë kufizime të reja mbi kushtet për përdorimin e algoritmit tonë, heq vlerësimin e kërkesave materiale të kërkuara për secilën nga sulmet: për metodën e Isobit, 2 32 palë të hapura dhe Tekstet e koduara janë të nevojshme, dhe për metodën DDSH - 2 64. Përpunimi i vëllimeve të tilla të materialit pa ndryshuar çelësin është a priori i papranueshëm për çdo shifër të bllokut me një gjatësi bllok 64: mbi materialin prej 2 32, duke marrë parasysh objektin e detyrave të lindjes (shih, për shembull), afër 1 / 2 Probabiliteti i blloqeve të përsëritura, të cilat do të sigurojnë zhvlerësimin është aftësia për të bërë në tekstet e koduara disa nga konkluzionet për tekstet e hapura pa përkufizim kyç. Prania e 2,64 çifteve të teksteve të hapura dhe të koduara të marra në një venë, në të vërtetë lejon armikun të kryejë operacionet e enkriptimit dhe decryption fare pa e ditur këtë çelës. Kjo është për shkak të një prone krejtësisht kombinator: një kundërshtar në këtë rast ka të gjithë tabelën e konvertimit të encryption. Një situatë e tillë është absolutisht e pavlefshme sipas ndonjë kërkese të arsyeshme operacionale. Për shembull, në CSP Cryptopro, ekziston një kufizim teknik mbi vëllimin e shifrës (pa transformim kyç) të një materiali prej 4 MB (shih). Kështu, një ndalim i rreptë për përdorimin e çelësit në materialin e këtij vëllimi është i natyrshëm në çdo shifër bllok me një gjatësi bllok 64 të bit, dhe rrjedhimisht, sulmet burimore dhe DDS nuk janë në asnjë mënyrë të ngushtë përdorimin e GOST 28147-89 algoritmi duke ruajtur qëndrueshmërinë maksimale të mundshme 2 256.

Natyrisht, nuk duhet të theksohet se hulumtuesit (Isoba dhe Danura-Dankelman-Shamir) treguan se disa vetitë e algoritmit të GOST 28147-89 na lejojnë të gjejmë mënyra të analizës që nuk merren parasysh nga krijuesit e algoritmit. Një lloj i thjeshtë i orarit kyç, një detyrë e thjeshtë e thjeshtimit të ndërtimit të implementimeve efektive, gjithashtu lejon edhe disa raste të rralla të çelësave dhe teksteve të hapura për të ndërtuar përshkrime të thjeshta të transformimeve të prodhuara nga algoritmi.

Gazeta tregon se kjo pronë negative e algoritmit mund të eliminohet lehtësisht me ruajtjen e plotë të karakteristikave të performancës, por për fat të keq, është një pjesë integrale e algoritmit në një formular të përdorur në mënyrë universale.

Vini re se neglizhenca e caktuar në vlerësimet e intensitetit mesatar të punës janë gjithashtu të pranishëm në punën e Dinur, Dankelman dhe Shamir. Pra, kur ndërtimi i një sulmi nuk i kushton vëmendje të duhur momentit të ardhshëm: për një pjesë të konsiderueshme të çelësave, shumë tekste të hapura x, të tilla që f 8 (x) \u003d x, është bosh: ende pikë në 8 raunde konvertimi mund të jetë thjesht të jetë. Ekzistenca e pikave fikse gjithashtu varet nga përzgjedhja e nyjeve zëvendësuese. Kështu, sulmi është i zbatueshëm vetëm me nyjet dhe çelësat e caktuar të zëvendësimit.

Vlen gjithashtu të përmendet një punë tjetër me sulmin ndaj GOST 28147-89. Në shkurt të vitit 2012, një version i përditësuar i nenit (nga nëntori 2011) u shfaq në arkivin elektronik të Eprintit të Shoqatës Ndërkombëtare kriptografike, e cila përmbante një sulm të ri në GOST 28147-89. Karakteristikat e sulmit të paraqitur janë si më poshtë: Vëllimi i materialit është 2 32 (si në Isob), dhe kompleksiteti - 2 192 (si DDSH). Kështu, ky sulm ka përmirësuar një sulm rekord në dsh në drejtim të materialit nga 2 64 në 2 32. Shënim veçmas se autorët sinqerisht i çuan të gjitha llogaritjet me arsyetimin për kompleksitetin dhe vëllimin e materialit. Pas 9 muajsh, një gabim themelor u gjet në llogaritjet e mësipërme, dhe që nga nëntori i vitit 2012, versioni i përditësuar i artikullit në arkivin elektronik nuk përmban më rezultate në lidhje me algoritmin vendas.

Sulmet sugjerojnë se shkelësi e di "diçka" për çelësat

Ne do të vërejmë përsëri se ka edhe disa punë në literaturë (shih, për shembull dhe) mbi sulmet në GOST 28147-89 në të ashtuquajturën model me çelësa të lidhur. Ky model bazohet në supozimin e mundësisë së një shkelësi për të hyrë në analizën jo vetëm për çifte të hapura dhe të koduara duke përdorur tekstin e dëshiruar kryesor, por edhe për çifte të teksteve të hapura dhe të koduara të marra duke përdorur çelësat (gjithashtu të panjohur) të ndryshëm nga dëshira Manifold i njohur i rregullt (për shembull, në pozicionet fikse të bit). Ky model me të vërtetë arrin të marrë rezultate interesante në lidhje me GOST 28147-89, megjithatë, në këtë model, nuk mund të pranohen rezultate më pak të forta për, për shembull, përdorimi më i përhapur i standardeve AES në rrjetet moderne (shih, për shembull). Vini re se kushtet për kryerjen e sulmeve të tilla ndodhin kur përdorni shifrën në ndonjë protokoll. Duhet të theksohet se rezultatet e këtij lloji, megjithëse pa dyshim interesi akademik në drejtim të studimit të vetive të transformimeve kriptografike, por në të vërtetë nuk lidhen me praktikën. Për shembull, të gjitha FSB të certifikuara të Rusisë për mbrojtjen e informacionit kriptografik do të thotë të kryejnë kërkesa më të rrepta për skemat kryesore të gjenerimit të encryption (shih, për shembull). Siç tregohet në rezultatet e analizës së kryer në prani të 18 çelësave të lidhur dhe 2 10 çifte të blloqeve të tekstit të hapura dhe të koduara, intensiteti i punës i hapjes së plotë të çelësit të mbyllur, me probabilitetin e suksesit 1-10 -4 , është me të vërtetë 2 26. Megjithatë, në varësi të kërkesave të lartpërmendura për zhvillimin e materialit kyç, gjasat për zbulimin e çelësave të tillë është 2 -4352, domethënë 2,4096 herë më pak se nëse përpiqeni të mendoni çelësin e fshehtë nga përpjekja e parë.

Puna në lidhje me modelin me çelësat e lidhur gjithashtu përfshin punën që, në vitin 2010, shumë zhurmë në edicionet elektronike ruse, të cilët nuk vuajnë nga zakoni, kontrolloni me kujdes materialin gjatë garës për ndjesi. Rezultatet e paraqitura në të nuk u mbështetën nga asnjë lloj justifikimi të rreptë, por përmbanin deklarata me zë të lartë për mundësinë e hakimit të standardit shtetëror të Federatës Ruse në një laptop të dobët në sekonda - në përgjithësi, artikulli u shkrua në traditat më të mira të Nicolas Courtois. Por, pavarësisht pak e qartë, një i njohur me parimet themelore të fushës së botimeve për lexuesin, pa fund të artikullit, ishte për sigurimin e publikut rus pasi puna e Rudskit u shkrua një tekst i detajuar dhe i plotë që përmbajnë një analizë gjithëpërfshirëse të këtyre të metave. Në artikull me emrin e altoparlantit "në domethënien zero praktike të punës" sulmi kryesor i rikuperimit në shifrën e plotë të bllokut të GOST me zero kohë dhe kujtesë ", bazohet se kompleksiteti mesatar i metodës së dhënë në një metodë nuk është më pak se kompleksiteti i shuarjes së plotë.

Mbetje e thatë: Cila është këmbëngulja në praktikë?

Në përfundim, ne japim një tabelë që përmban të dhëna për të gjitha rezultatet e komunitetit të njohur ndërkombëtar kriptografik, rezultatet e sulmeve të përshkruara në mënyrë strikte dhe të arsyeshme në GOST 28147-89. Duhet të theksohet se kompleksiteti është dhënë në operacionet e encryption të algoritmit GOST 28147-89, dhe kujtesa dhe materiali tregohen në blloqet e algoritmit (64 bit \u003d 8 bytes).

Sulm Intensiteti i punës Kujtesë Materiali i kërkuar
Isoba 2 224 2 64 2 32
Dinur-Dankelman-Shamir, FP, 2Dmitm 2 192 2 36 2 64
Dinur-Dankelman-Shamir, FP, memorie të ulët 2 204 2 19 2 64
2 224 2 36 2 32
Dinur-Dankelman-Shamir, Reflektim, 2Dmitm 2 236 2 19 2 32
Bust i plotë 2 256 1 4
Numri i nanosekondave me shfaqjen e universit 2 89

Përkundër një cikli mjaft të madh të hulumtimeve në rezistencën e algoritmit GOST 28147-89, në këtë moment, jo një sulmi të vetëm, kushtet për zbatimin e të cilave do të ishin të arritshme me gjatësinë e lidhur të bllokut në 64 bit të kërkesave operacionale . Celuling nga parametrat e shifrës (kohëzgjatja e çelësit, pak gjatësia) kufizimet në vëllimin e materialit, të cilat mund të përpunohen në një çelës, është në thelb rreptësisht më e rreptë se vëllimi minimal, i cili është i nevojshëm për ndonjë nga sulmet e njohura aktualisht në momenti. Rrjedhimisht, gjatë kryerjes së kërkesave operacionale ekzistuese, asnjë nga GOST 28147-89 Cryptanasalia e propozuar deri më sot nuk lejon çelësin për të përcaktuar kompleksitetin e forcës më pak të plotë brutale.

Algoritmi i Encryption GOST 28147-89, përdorimi i tij dhe zbatimi i softuerit për kompjuterat e platformës Intel X86.


Andrei Vinokurov

Përshkrimi i algoritmit.

Termat dhe emërtimet.

Përshkrimi i standardit të encryption të Federatës Ruse përmban në një dokument shumë interesant të titulluar "Algoritmi për transformimin kriptografik të GOST 28147-89". Fakti që në titullin e tij në vend të termit "encryption" duket koncept më i përgjithshëm " transformimi kriptografik "Nuk është aspak rastësi. Përveç disa procedurave të lidhura me encryption, dokumenti përshkruan një të ndërtuar mbi parimet e përgjithshme me ta për të zhvilluar algoritme. i imitovka . Kjo e fundit nuk është asgjë më shumë se një kombinim i kontrollit kriptografik, që është, kodi i gjeneruar nga burimi i të dhënave duke përdorur çelësin e fshehtë për të imitovashki , ose mbrojtjen e të dhënave nga marrja e ndryshimeve të paautorizuara.

Në hapa të ndryshëm të algoritmeve të GOST, të dhënat që veprojnë interpretohen dhe përdoren në mënyra të ndryshme. Në disa raste, elementet e të dhënave përpunohen si vargje të bit të pavarura, në raste të tjera - si një numër i plotë pa një shenjë, në të tretën, duke pasur një element kompleks të strukturës që përbëhet nga disa elemente më të thjeshta. Prandaj, për të shmangur konfuzionin, duhet të pajtohet një marrëveshje.

Elementet e të dhënave në këtë artikull tregohen me shkronja latine të kapitalit me vizatim të prirur (për shembull, X.). Përmes | X.| nënkupton madhësinë e elementit të të dhënave X. në copa. Kështu, nëse interpretoni artikullin e të dhënave X.si një numër i tërë jo-negativ, ju mund të regjistroni pabarazinë e mëposhtme:.

Nëse artikulli i të dhënave përbëhet nga disa elemente më të vogla, ky fakt tregohet si më poshtë: X.=(X. 0 ,X. 1 ,…,X n. –1)=X. 0 ||X. 1 ||…||X n. -Një. Procedura për kombinimin e disa elementeve të të dhënave për një quhet koncaktim të dhënat dhe nënkupton simbolin "||". Natyrisht, raporti i mëposhtëm duhet të kryhet për madhësitë e artikujve të të dhënave: | X.|=|X. 0 |+|X. 1 |+…+|X n. -1 |. Kur specifikoni elementet komplekse të të dhënave dhe operacionet e bashkërendimit, përbërësit e elementeve të të dhënave janë të listuara në rendin në rritje të vjetërsisë. Me fjalë të tjera, nëse interpretoni elementin e përbërë dhe të gjitha elementet e të dhënave të përfshira në të si integers pa një shenjë, ju mund të regjistroni barazinë e mëposhtme:

Në algoritmin, elementi i të dhënave mund të interpretohet si një koleksion i biteve individuale, në këtë rast bijet tregojnë të njëjtën letër si një grup, por në rastin e vogël, siç tregohet në shembullin e mëposhtëm:

X.=(x. 0 ,x. 1 ,…,x n. –1)=x. 0 +2 1 · x. 1 +…+2 n.- një · x n. –1 .

Kështu, nëse i keni kushtuar vëmendje gostit të miratuar të ashtuquajturat. "Little-endian" Numërimi i shkarkimeve, i.e. Brenda fjalëve me shumë shifra të këtyre, shkarkimeve individuale binare dhe grupeve të tyre me numra më të vegjël janë më pak të rëndësishëm. Kjo është përmendur në paragrafin 1.3 të Standardit: "Kur shtesat dhe zhvendosja ciklike e vektorëve binar me shkarkime të vjetra, shqyrtohen shkarkimet e disqeve me numër të madh". Më tej, artikujt e standardeve 1.4, 2.1.1 dhe të tjerët përshkruajnë për të filluar plotësimin e regjistrave të regjistrit të magazinimit të një pajisjeje të enkriptimit virtual me të rinj, i.e. Shkarkime më pak të rëndësishme. Pikërisht e njëjta procedurë e numërimit pranohet në arkitekturën e mikroprocesorit të Intel X86, prandaj, me zbatimin e softuerit të shifrës në këtë arkitekturë, nuk ka permutacione shtesë të shkarkimeve brenda të dhënave të Word.

Nëse një operacion i caktuar që ka një kuptim logjik kryhet mbi elementët e të dhënave, supozohet se ky operacion kryhet mbi bit përkatëse të elementeve. Me fjale te tjera A. B.=(a. 0 b. 0 ,a. 1 b. 1 ,…,një N. –1 b n. -1) ku n.=|A.|=|B.|, dhe simboli "" është shënuar nga një operacion logjik binar arbitrar; Si rregull, i referohet operacionit duke përjashtuar ose , Është gjithashtu një operacion i përmbledhjes 2:

Logjika e ndërtimit të shifrës dhe strukturën e informacionit kyç të GOST.

Nëse shqyrtoni me kujdes GOST 28147-89 origjinal, mund të vërehet se përmban një përshkrim të algoritmeve të disa niveleve. Në krye të lartë ka algoritme praktike të dizajnuara për të koduar vargjet e të dhënave dhe zhvillimin e imitavës për ta. Të gjithë ata mbështeten në tre algoritmin e nivelit të ulët, të quajtur Teksti i GOST. cikle . Këto algoritme themelore përmenden në këtë artikull si ciklet bazë Për t'i dalluar ata nga të gjitha ciklet e tjera. Ata kanë emrat dhe emërtimet e mëposhtme, këto të fundit janë në kllapa dhe kuptimi do të shpjegohet më vonë:

  • encryption Cikli (32-të);
  • cikli i decryption (32-p);
  • cikli i zhvillimit të imitancës (16-të).

Nga ana tjetër, secila nga ciklet bazë është një përsëritje e shumëfishtë e një procedure të vetme të kërkuar për siguri më tej në punën e tanishme. hapi kryesor i kriptochemia .

Pra, për të kuptuar mysafirin, ju duhet të kuptoni gjërat e mëposhtme:

  • çfarë hapi kryesor formimi i krippera;
  • ndërsa hapat bazë janë ciklet themelore;
  • si tre ciklet bazë të gjitha algoritmet praktike të gostit janë të ngarkuara.

Para se të vazhdoni studimin e këtyre çështjeve, duhet të flisni për informacionin kyç të përdorur nga algoritmet e GOST. Në përputhje me parimin e Kirchhoff, i cili është i kënaqur me të gjitha shifrat moderne të njohura sociale, është sekreti i saj që siguron sekretin e mesazhit të koduar. Në mysafir, informacioni kyç përbëhet nga dy struktura të të dhënave. Përveç kësaj celës e nevojshme për të gjithë shifrat, gjithashtu përmban zëvendësimi i tabelës . Më poshtë janë karakteristikat kryesore të strukturave kryesore të GOST.

Hapi kryesor i kriptocremia.

Hapi kryesor i kriptocremia është në thelb operator që përcakton konvertimin e një blloku të të dhënave 64-bit. Një parametër shtesë i këtij operatori është një njësi 32-bit, e cila përdoret nga çdo element kyç. Skema e algoritmit kryesor të hapit është paraqitur në figurën 1.


Figura 1. Skema e hapit kryesor të algoritmit të formimit të kriptrerit GOST 28147-89.

Më poshtë janë shpjeguar në algoritmin e hapit kryesor:

Hapi 0.

  • N. - blloku i transformuar 64-bit i të dhënave, gjatë ekzekutimit të hapit të më të rinjve ( N. 1) dhe më të moshuarit ( N. 2) Pjesët përpunohen si integers të veçantë 32-bit pa një shenjë. Kështu që ju mund të regjistroni N \u003d(N. 1 ,N. 2).
  • X. - 32-bit element kyç;

Hapi 1

Përfundimi me çelësin. Gjysma më e re e bllokut të konvertuar është palosur me modulin 2 32 me elementin kyç të përdorur në hap, rezultati transmetohet në hapin tjetër;

Hapi 2.

Zëvendësimi i patch. Vlera 32-bit e fituar në hapin e mëparshëm interpretohet si një grup prej tetë blloqe kodesh 4-bit: S \u003d.(S. 0 , S. 1 , S. 2 , S. 3 , S. 4 , S. 5 , S. 6 , S. 7), dhe S. 0 përmban 4 të rinjtë, dhe S. 7 - 4 bit më të larta S..

Tjetra, vlera e secilës prej tetë blloqeve zëvendësohet nga i ri, i cili përzgjidhet nga tabela e zëvendësimeve si më poshtë: Vlera e bllokut S I.ndryshimi S I.- Në mënyrë të rendit (numërimi nga zeroja) i.Nyja e zëvendësimit (i.e. i.- Rreshti i tabelës së zëvendësimit, duke numëruar edhe nga zero). Me fjalë të tjera, zgjidhet si një zëvendësim për vlerën e bllokut të njësisë nga linja e numrit të zëvendësimit, e barabartë me numrin e bllokut të zëvendësuar, dhe numri i kolonës i barabartë me vlerën e bllokut që zëvendësohet si 4 -Bit numër jo-negativ numër të plotë. Nga këtu bëhet e qartë se madhësia e tabelës së zëvendësimit: numri i rreshtave në të është e barabartë me numrin e elementeve 4-bit në një bllok të të dhënave 32-bit, që është, tetë dhe numri i kolonave është i barabartë me Numri i vlerave të ndryshme të bllokut të të dhënave 4-bit të barabarta me 2 4, gjashtëmbëdhjetë.

Hapi 3.

Zhvendosje ciklike me 11 bit majtas. Rezultati i hapit të mëparshëm është zhvendosur ciklikisht me 11 bit në drejtim të shkarkimeve të nivelit të lartë dhe transmetohet në hapin tjetër. Diagrami i simbolit të algoritmit tregon funksionin e zhvendosjes ciklike të argumentit të saj me 11 bit në të majtë, i.e. në drejtim të shkarkimeve të larta.

Hapi 4.

Shtesa shishe: Vlera e fituar në hapin 3 është bllokuar nga moduli 2 me gjysmën e lartë të njësisë së konvertuar.

Hapi 5.

Zhvendosja e zinxhirit: pjesa më e re e bllokut të konvertuar është zhvendosur në vendin e plakut, dhe rezultati i hapit të mëparshëm është vendosur në vendin e vet.

Hapi 6.

Vlera e fituar e bllokut të transformuar kthehet si rezultat i zbatimit të algoritmit të hapit kryesor të kriptocremia.

Ciklet themelore të transformimit kriptografike.

Siç është theksuar në fillim të këtij neni, GOST i referohet klasës së shifrave të bllokut, domethënë, njësia e përpunimit të informacionit në të është një bllok i të dhënave. Prandaj, është mjaft logjike të pritet që algoritmet për transformimet kriptografike të përcaktohen, domethënë për të koduar, decrypt dhe "kontabilitet" në kombinimin e kontrollit të një blloku të të dhënave. Këto algoritme quhen ciklet bazë GOST, e cila thekson rëndësinë e tyre themelore për të ndërtuar këtë shifër.

Nga ciklet themelore janë ndërtuar nga hapat bazë transformimi kriptografik i konsideruar në seksionin e mëparshëm. Në procesin e kryerjes së hapit kryesor, përdoret vetëm një element kyç 32-bit, ndërsa çelësi i GOST përmban tetë elemente të tilla. Prandaj, që çelësi është përdorur plotësisht, secila prej cikleve bazë duhet të kryejë në mënyrë të përsëritur hapin kryesor me elemente të ndryshme. Në të njëjtën kohë, duket mjaft e natyrshme që në çdo cikël bazë, të gjitha elementet kyçe duhet të përdoren të njëjtin numër herë, për konsideratat e rezistencës së shifrës, ky numër duhet të jetë më i madh se një.

Të gjitha supozimet e mësipërme, duke u mbështetur vetëm për sens të përbashkët, ishin të vërteta. Ciklet themelore janë përfunduar në ekzekutimin e shumëfishtë. hapi kryesor përdorimi i artikujve të ndryshëm të rëndësishëm dhe ndryshojnë nga njëri-tjetri vetëm nga numri i përsëritjes së hapit dhe rendit të përdorimit të elementeve kyçe. Më poshtë është ky urdhër për cikle të ndryshme.

Encryption Cikli 32-S:

K. 0 ,K. 1 ,K. 2 ,K. 3 ,K. 4 ,K. 5 ,K. 6 ,K. 7 ,K. 0 ,K. 1 ,K. 2 ,K. 3 ,K. 4 ,K. 5 ,K. 6 ,K. 7 ,K. 0 ,K. 1 ,K. 2 ,K. 3 ,K. 4 ,K. 5 ,K. 6 ,K. 7 ,K. 7 ,K. 6 ,K. 5 ,K. 4 ,K. 3 ,K. 2 ,K. 1 ,K. 0 .


Figura 2A. Qark i ciklit 32-s

Cikli i decryption 32-P:

K. 0 ,K. 1 ,K. 2 ,K. 3 ,K. 4 ,K. 5 ,K. 6 ,K. 7 ,K. 7 ,K. 6 ,K. 5 ,K. 4 ,K. 3 ,K. 2 ,K. 1 ,K. 0 ,K. 7 ,K. 6 ,K. 5 ,K. 4 ,K. 3 ,K. 2 ,K. 1 ,K. 0 ,K. 7 ,K. 6 ,K. 5 ,K. 4 ,K. 3 ,K. 2 ,K. 1 ,K. 0 .


Figura 2b. Diagrami i ciklit decryption 32-p

Cikli i zhvillimit të imitancës së 16-të:

K. 0 ,K. 1 ,K. 2 ,K. 3 ,K. 4 ,K. 5 ,K. 6 ,K. 7 ,K. 0 ,K. 1 ,K. 2 ,K. 3 ,K. 4 ,K. 5 ,K. 6 ,K. 7 .


Figura 2b. Skema e ciklit të zhvillimit të imitancës së 16-të.

Secili prej cikleve ka përcaktimin e vet alfanumerik që korrespondon me shabllonin " n-x "ku elementi i parë i përcaktimit ( n.), përcakton numrin e përsëritjeve të hapit kryesor në ciklin, dhe elementin e dytë të përcaktimit ( X.), Letër, përcakton rendin e enkriptimit ("s") ose decryption ("p") për të përdorur elemente kyçe. Ky urdhër ka nevojë për shpjegime shtesë:

Cikli i decryption duhet të jetë një cikël i ankriptimit të kundërt, domethënë përdorimi vijues i këtyre dy cikleve në një bllok arbitrar duhet të jetë si rezultat i bllokut fillestar, i cili reflektohet në raportin e mëposhtëm: C. 32-p ( C. 32- T.))\u003d T.ku T.- Blloku i të dhënave 64-bit arbitrare, C. X ( T.) - Rezultati i ekzekutimit të ciklit X. Mbi bllokun e të dhënave T.. Për të kryer këtë gjendje për algoritme të ngjashme me GOST, është e nevojshme që urdhri të përdorë elementët kryesorë nga ciklet përkatëse ishte reciprokisht i kundërt. Në drejtësinë e kushteve të regjistruara për rastin në shqyrtim është e lehtë të sigurohet që krahasimi i sekuencave të mësipërme për ciklet e 32-të dhe 32-f. Një pasojë interesante nënkupton nga sa më sipër: Prona e ciklit për të qenë një cikël tjetër i kundërt është i ndërsjellë, domethënë, cikli 32-s është i kundërt në lidhje me ciklin 32-f. Me fjalë të tjera, encryption e bllokut të të dhënave mund të kryhet teorikisht duke përdorur ciklin e decryption, në këtë rast decryption e bllokut të të dhënave duhet të kryhet nga cikli i enkriptimit. Nga dy ciklet e kundërt të kundërt, çdokush mund të përdoret për të encrypt, atëherë e dyta duhet të përdoret për të dekriptuar të dhënat, por standardi GOST28147-89 rregullon rolet prapa cikleve dhe nuk i siguron përdoruesit të drejtën për të zgjedhur në këtë çështje .

Cikli i zhvillimit të Imitavarit është dyfishi i cikleve të enkriptimit, rendi i përdorimit të elementeve kyçe në të është i njëjtë si në 16 fazat e para të ciklit të kodimit, i cili nuk është i vështirë për t'u verifikuar, duke marrë parasysh sekuencat e mësipërme, kështu që ky urdhër në Përcaktimi i ciklit është koduar nga e njëjta letër "s".

Skemat e cikleve bazë janë paraqitur në figurat 2A-b. Secili prej tyre pranon si një argument dhe kthen një bllok të të dhënave 64-bit si rezultat, tregohet në diagramet. N.. Hapi i simbolit ( N.,X.) Tregon ekzekutimin e hapit kryesor të formimit të kriptrerit për bllokun e të dhënave N. duke përdorur një element kyç X.. Ekziston një dallim tjetër midis enkriptimit dhe llogaritjes së cikleve, të cilat nuk përmenden më lart: në fund të cikleve themelore të enkriptimit, pjesa më e vjetër dhe më e re e rezultateve të ndryshojnë vendet, është e nevojshme për kthyeshmërinë e tyre reciproke.

Mënyrat kryesore të enkriptimit.

GOST 28147-89 siguron tre mënyra të enkriptimit të të dhënave në vijim:

  • zëvendësim i thjeshtë
  • gamming
  • reagime gamming,

dhe një mënyrë shtesë të prodhimit të imitancës.

Në cilëndo prej këtyre mënyrave, të dhënat përpunohen nga 64 blloqe bit, të cilat ndahen nga një grup që i nënshtrohet transformimit kriptografik, prandaj GOST i referohet bllokuesve të bllokuar. Megjithatë, në dy mënyra të gammimit, është e mundur të përpunohen një bllok jo të plotë të madhësisë së të dhënave më pak se 8 bytes, e cila është thelbësore kur kodimi i vargjeve të të dhënave me madhësi arbitrare, të cilat mund të mos jenë të shumta 8 bytes.

Para se të vazhdohet me shqyrtimin e algoritmeve specifike të transformimit kriptografik, është e nevojshme të shpjegohet përcaktimet e përdorura në diagramet në seksionet e mëposhtme:

T. rreth, T. W - vargjet e të dhënave përkatësisht të hapura dhe të koduara;

, – i.Në mënyrë të blloqeve 64-bit të të dhënave përkatësisht të hapura dhe të koduara: , , blloku i fundit mund të jetë i paplotë;;

n. - Numri i blloqeve 64-bit në grupin e të dhënave;

C. X është funksioni i konvertimit të një blloku të të dhënave 64-bit për algoritmin e ciklit bazë "X".

Tani ne përshkruajmë mënyrat kryesore të enkriptimit:

Zëvendësim i thjeshtë.

Encryption në këtë mënyrë është që të përdorin ciklin 32-të në blloqet e të dhënave të hapura, decryption - ciklin e 32-f blloqe të të dhënave të koduara. Kjo është më e lehtë e mënyrave, blloqet e të dhënave 64-bit përpunohen në të pavarur nga njëri-tjetri. Skemat e algoritmeve të enkriptimit dhe decryption në modalitetin e thjeshtë të zëvendësimit janë paraqitur në figurat 3A dhe B, respektivisht, ato janë të parëndësishme dhe nuk kanë nevojë për komente.


Foto. 3a. Algoritmi për encryption të dhënave në modalitetin e thjeshtë të zëvendësimit


Foto. 3b. Algoritmi i decryption të të dhënave në modalitetin e thjeshtë të zëvendësimit

Madhësia e një koleksioni të të dhënave të hapura ose të koduara që i nënshtrohen përkatësisht encryption ose decryption duhet të jetë Katten 64 bits: | T. o | \u003d | T. W | \u003d 64 · n. Pas kryerjes së operacionit, madhësia e grupit të të dhënave që rezulton nuk ndryshon.

Mënyra e enkriptimit është zëvendësim i thjeshtë ka karakteristikat e mëposhtme:

  • Meqenëse blloqet e të dhënave janë të koduara në mënyrë të pavarur nga njëri-tjetri dhe nga pozicioni i tyre në grupin e të dhënave, kur dy blloqet e teksteve të hapura janë të koduara, të njëjtat blloqe të ciphertext janë marrë dhe anasjelltas. Prona e dukshme do të lejojë cryptoanalitics të bëjë një përfundim në lidhje me identitetin e blloqeve të të dhënave burimore, nëse në një sërë të të dhënave të koduara, ajo u përmbush nga blloqe identike, e cila është e pavlefshme për një shifër serioze.
  • Nëse gjatësia e grupit të të dhënave të koduara nuk është 80 bytes ose 64 bit, problemi ndodh se dhe si të plotësojnë bllokun e fundit të paplota të të dhënave të grupit në 64 bit të plotë. Kjo detyrë nuk është aq e thjeshtë, pasi duket në shikim të parë. Zgjidhje të dukshme si "shtoni një bllok jo të plotë me zero bits" ose, në përgjithësi, "shtoni një bllok jo të plotë të një kombinimi fiks të bit zero dhe njësi" mund të jepet në duart e kriptanalitikës mundësinë e metodave interaktive për të përcaktuar përmbajtjen e Ky bllok i paplotë, dhe ky fakt do të thotë shifra e reduktuar e rezistencës. Përveç kësaj, gjatësia e ciphertext do të ndryshojë, duke u rritur në tërësinë më të afërt, 64 bit, e cila shpesh është e padëshirueshme.

Në shikim të parë, tiparet e mësipërme e bëjnë pothuajse të pamundur për të përdorur një mënyrë të thjeshtë zëvendësimi, sepse mund të përdoret vetëm për të koduar vargjet e të dhënave me një madhësi prej 64 bit të shumëfishta që nuk përmbajnë blloqe të dyfishta 64 bit. Duket se për çdo të dhënë reale, është e pamundur të sigurohet ekzekutimi i këtyre kushteve. Është pothuajse rasti, por ka një përjashtim shumë të rëndësishëm: mos harroni se madhësia kryesore është 32 bytes, dhe madhësia e tabelës së zëvendësimit është 64 bytes. Përveç kësaj, prania e përsëritjes së blloqeve 8 byte në çelësin ose tabelën e zëvendësimit do të flasë për cilësinë e tyre shumë të dobët, kështu që nuk mund të ketë përsëritje të tilla në elementet e vërteta kryesore. Kështu, ne kemi kuptuar se modaliteti i thjeshtë i zëvendësimit është mjaft i përshtatshëm për encrypting informacionin kyç, veçanërisht pasi mënyrat e tjera për këtë qëllim janë më pak të përshtatshme, pasi ata kërkojnë një element të të dhënave të sinkronizimit shtesë - Syncropters (shih seksionin tjetër). Mendja jonë është e vërtetë, GOST përshkruan duke përdorur një mënyrë të thjeshtë zëvendësimi vetëm për të encrypt të dhënat kryesore.

Hams.

Si mund të heqësh qafe të metat e një modaliteti të thjeshtë të zëvendësimit? Për ta bërë këtë, është e nevojshme për të bërë të mundur që të encrypt blloqe me një madhësi prej më pak se 64 bit dhe të sigurojë varësinë e bllokut të ciphertext nga numri i tij, me fjalë të tjera, randomizoj procesi i encryption. Në mysafir, kjo arrihet në dy mënyra të ndryshme në dy mënyra të enkriptimit që përfshijnë hamming . Hamming - Kjo është një mbulesë (largim) për të hapur (të koduar) të dhënat e vargut kriptografik, domethënë sekuencat e elementeve të të dhënave të prodhuara duke përdorur një algoritëm të caktuar kriptografik për të marrë të dhëna të koduara (të hapura). Për të mbivendosur gamën kur do të përdoren dhe heqin atë, operacionet binare të kundërt të kundërt duhet të përdoren, për shembull, shtesë dhe zbritjen e modulit 2 64 për blloqet e të dhënave 64-bit. Në zorrë, për këtë qëllim, përdoret operacioni i shtimit të rrahur të Modulit 2, pasi ajo është mbrapa vetë dhe, për më tepër, më së shumti implementuar nga hardware. Hamming zgjidh të dy problemet e përmendura: Së pari, të gjitha elementet e gama janë të ndryshme për vargjet e koduara reale dhe, për rrjedhojë, rezultati i encryption edhe dy blloqe identike në një grup të të dhënave do të jenë të ndryshme. Së dyti, edhe pse elementet e gamës dhe prodhohen nga të njëjtat pjesë të 64 bit, një pjesë e një blloku të tillë me një madhësi të barabartë me madhësinë e bllokut të koduar mund të përdoren.

Tani kthehemi drejtpërdrejt në përshkrimin e gamës së gammimit. Gamma për këtë regjim është marrë si më poshtë: me një gjenerator të caktuar algorithmik të përsëritur të sekuencës së numrave (RGPH), prodhohen blloqe të të dhënave 64-bit, të cilat janë konvertuar më tej nga një cikël prej 32-të, domethënë, encryption në një Modaliteti i thjeshtë i zëvendësimit, rezultati i blloqeve gama është marrë. Për shkak të faktit se vendosja dhe largimi i gamës kryhet duke përdorur të njëjtin funksionim të algoritmeve të rrahura ose të kodimit dhe decryption në mënyrën e imazhit të GAMM janë identike, skema e tyre e përgjithshme është treguar në figurën 4.

RGPH përdoret për të gjeneruar një gamma është një funksion i përsëritur: - Elementet e sekuencës së përsëritur, f. - Funksioni i konvertimit. Prandaj, çështja e inicializimit të saj lind në mënyrë të pashmangshme, domethënë në lidhje me elementin në realitet, ky element i të dhënave është parametri i algoritmit për mënyrat e gamming, në diagramet që tregohet si S.dhe të quajtur kriptografi syncopusil , dhe në mysafirin tonë - mbushje primare një nga regjistrat encryber. Për arsye të caktuara, zhvilluesit e GOST vendosën të përdorin RGPH për të iniciuar jo sinkopowerin e drejtpërdrejtë, por rezultati i konvertimit të tij përgjatë ciklit 32-të: . Sekuenca e elementeve të prodhuara nga RGPH është tërësisht e varur nga mbushja e saj fillestare, domethënë elementet e kësaj sekuence janë funksioni i numrit të tij dhe mbushja fillestare e RGPH: ku f I.(X.)=f.(f I. –1 (X.)), f. 0 (X.)=X.. Duke marrë parasysh transformimin sipas algoritmit të thjeshtë të zëvendësimit, shtohet varësia kryesore:

ku G I.i.një element gamma, K. - Celës.

Kështu, sekuenca e elementeve gama për përdorim në modalitetin e gammimit është përcaktuar në mënyrë unike nga të dhënat kryesore dhe sincopusca. Natyrisht, një dhe të njëjtin sinkopower duhet të përdoren për procedurat e kthyeshme të encryption në proceset dhe decryption. Nga kërkesa e veçantisë së GAMMA, mos përmbushja e të cilave çon në një rënie katastrofike në rezistencën e shifrës, rrjedh se për të encrypt dy arra të ndryshme të të dhënave në një çelës, është e nevojshme për të siguruar përdorimin e sincopyocones të ndryshme. Kjo çon në nevojën për të ruajtur ose transmetuar sincopower përmes kanaleve të komunikimit së bashku me të dhënat e koduara, edhe pse në disa raste të veçanta mund të jenë të paracaktuara ose të llogariten në një mënyrë të veçantë nëse encryption e dy vargjeve është përjashtuar në një venë.

Tani e konsideroni RGPH në detaje të përdorura në mysafir për të gjeneruar elemente të gamës. Para së gjithash, duhet të theksohet se nuk nënkupton kërkesat për të siguruar ndonjë karakteristikë statistikore të sekuencës së prodhuar nga sekuenca. RGPH është projektuar nga zhvilluesit e GOST bazuar në nevojën për të përmbushur kushtet e mëposhtme:

  • periudha e përsëritjes së sekuencës së numrave të gjeneruar nga RGPH nuk duhet të jetë fuqimisht (në përqindje) ndryshojnë nga vlera maksimale e mundshme e vlerës së 2 64 siç është specifikuar
  • vlerat fqinje të prodhuara nga RGPH duhet të ndryshojnë nga njëri-tjetri në secilën pate, përndryshe detyra e klikimeve do të thjeshtësohet;
  • RGPH duhet të jetë thjesht zbatuar mjaft hardware dhe softuer në llojet më të zakonshme të procesorëve, shumica e të cilave janë të njohura të kenë pak nga 32 bit.

Bazuar në parimet e listuara, krijuesit e GOST-it kanë dizajnuar një RGPH shumë të suksesshëm, i cili ka karakteristikat e mëposhtme:

Ku C. 0 =1010101 16 ;

Ku C. 1 =1010104 16 ;

Indeksi i poshtëm në numrin e numrave nënkupton sistemin e tij të numrit, kështu që konstantet e përdorura në këtë hap regjistrohen në një sistem 16-riche.

Shprehja e dytë ka nevojë për komente, si në tekstin e Gost, diçka tjetër është dhënë:, me të njëjtën vlerë të konstante C. një. Por më tej në tekstin e standardit i jepet një koment, i cili rezulton të jetë nën funksionimin e mbetjes së modulit 2 32 -1 atje Nuk kuptohet aspak si në matematikë. Dallimi është se sipas GOST (2 32 -1) mod.(2 32 -1) \u003d (2 32 -1), dhe jo 0. Në fakt, thjeshtëson zbatimin e formulës dhe një shprehje matematikisht e saktë për të është dhënë më sipër.

  • periudha e sekuencës së përsëritur për pjesën më të re është 2 32, për pjesën më të vjetër 2 32 -1, për të gjithë sekuencën, periudha është 2 32 (2 32 -1), prova e këtij fakti është mjaft e thjeshtë, të marrë veten. Formula e parë e dy është zbatuar për një ekip, e dyta, pavarësisht se duket e saj e rëndë, për dy komanda në të gjitha procesorët moderne 32-bit - komanda e parë është shtimi i zakonshëm i modulit 2 32 me memorizimin e bit transferimit dhe Komanda e dytë shton transferimin e bit në vlerën që rezulton.

Skema e algoritmit të enkriptimit në modalitetin e gammimit është paraqitur në figurën 4, më poshtë janë shpjeguar në skemën:


Figura 4. Algoritmi për encryption (decryption) të të dhënave në rangun e dëmit.

Hapi 0.

Përcakton të dhënat burimore për hapin kryesor të kriptocremia:

  • T. o (w) - një koleksion i të dhënave arbitrare të hapura (të koduara), të nënshtruara ndaj procedurës së enkriptimit (decryption), gjatë procedurës, grupi i nënshtrohet konvertimit të 64 bit në pjesë;
  • S. sinkronisushka , Element i të dhënave 64-bit i kërkuar për të inicializuar gjeneratorin GAMMA;

Hapi 1

Transformimi fillestar i sinkopëve të kryer për "randomizimin" e saj, domethënë për të eliminuar modelet statistikore të pranishme në të, rezultati përdoret si mbushje fillestare e RGPH;

Hapi 2.

Një hap i punës së RGPH, duke zbatuar algoritmin e tij të përsëritur. Gjatë këtij hapi, më i madhi ( S. 1) dhe më i riu ( S. 0) Pjesë të sekuencës së të dhënave prodhohen në mënyrë të pavarur nga njëri-tjetri;

Hapi 3.

Hams. Elementi i ardhshëm 64-bit i zhvilluar nga RGPH është i ekspozuar ndaj procedurës së enkriptimit në ciklin 32-të, rezultati përdoret si një element gamma për encryption (decryption) të bllokut të ardhshëm të të dhënave të hapura (të koduara) të të njëjtit madhësi .

Hapi 4.

Rezultati i funksionimit të algoritmit është një grup i të dhënave të koduar (decrypted).

Më poshtë janë tiparet e gamming si modalitet encryption:

  1. Të njëjtat blloqe në grupin e hapur të të dhënave do të jepen kur të kodohen blloqe të ndryshme ciphertectike, të cilat do të lejojnë fshehjen e faktit të identitetit të tyre.
  2. Meqenëse përpunimi gama është përpunuar, encryption e bllokut jo të plotë të të dhënave është i lehtë për të bërë si encryption e biteve të këtij blloku jo të plotë, për të cilat përdoren bit përkatëse të bllokut gama. Pra, për të koduar një bllok të paplotë në 1 bit sipas standardit ju duhet të përdorni pak më të rinj nga blloku gama.
  3. Syncocust, i përdorur kur kodohet, disi duhet të transmetohet për përdorim kur dekodohet. Kjo mund të arrihet në mënyrat e mëposhtme:
  • dyqani ose transmetoni sincopyer së bashku me një grup të të dhënave të koduara, të cilat do të çojnë në një rritje të madhësisë së grupit të të dhënave kur të kodohen në madhësinë e sincopionës, që është, 8 bytes;
  • përdorni vlerën e paracaktuar të sinkronizimit ose për ta prodhuar sinkronisht me një burim dhe marrës për një ligj të veçantë, në këtë rast nuk ka ndryshim në madhësinë e grupit të të dhënave të transmetuara ose të ruajtura;

Të dyja metodat plotësojnë njëri-tjetrin, dhe në ato raste të rralla ku e para nuk është duke punuar, e dyta, më ekzotike mund të përdoret. Metoda e dytë ka aplikim shumë më pak, pasi është e mundur të bëhet një syncopeonel një paracaktuar në rast se ky grup informacioni kyç është i koduar me një mënyrë të qartë jo më shumë se një grup të të dhënave, e cila nuk është aq shpesh. Gjeneroni sinkronizmin sinkrone në burim dhe marrësi i grupit të të dhënave nuk është gjithashtu e mundur, pasi ajo kërkon të detyrueshme për ndonjë gjë në sistem. Pra, duke detyruar në shikim të parë, ideja përdoret si një sinkronizim në sistemin e transmetimit të mesazheve të koduara, numri i mesazhit të transmetueshëm nuk është i përshtatshëm, pasi mesazhi mund të humbasë dhe të mos arrijë më të adresuarit, në këtë rast Do të ketë një pamje të sistemeve të enkriptimit të burimit dhe marrësit. Prandaj, në rastin e konsideruar nuk ka alternativë për transmetimin e sinkroprowers së bashku me një mesazh të koduar.

Nga ana tjetër, ju gjithashtu mund të jepni një shembull të kundërt. Supozoni se enkriptimi i të dhënave përdoret për të mbrojtur informacionin në disk dhe zbatohet në një nivel të ulët, për të siguruar qasje të pavarur, të dhënat janë të koduara nga sektorët. Në këtë rast, është e pamundur të ruhet pluhuri i sinkronizimit me të dhëna të koduara, pasi madhësia e sektorit nuk mund të ndryshohet, por mund të llogaritet si një funksion nga numri i kokës së diskut, numrat e pistave (cilindri) dhe numrat e sektorit në rrugën e duhur. Në këtë rast, sinkronizuesi është i bashkangjitur në pozitën e sektorit në disk, i cili vështirë se mund të ndryshojë pa reformatimin e diskut, domethënë pa shkatërruar të dhënat mbi të.

Modaliteti Hamming ka një tjetër veçori interesante. Në këtë mënyrë, bitat e grupeve të të dhënave janë të koduara në mënyrë të pavarur nga njëri-tjetri. Kështu, çdo bit i Ciphertext varet nga pak korresponduese e tekstit të hapur dhe, sigurisht, numri i sekuencës së bit në grup: . Kjo nënkupton që ndryshimi i bit i shifrës në vlerën e kundërt do të çojë në një ndryshim të ngjashëm në tekst të hapur në të kundërtën:

ku nënkuptohen në lidhje me t. Vlera e bit ().

Kjo pronë i jep një sulmuesi mundësinë për të ndikuar në copa të ciphertextit për të bërë ndryshime të parashikueshme dhe madje në shënjestër në tekstin përkatës të hapur, të marrë pas dekriptimit, pa pasur një çelës sekret. Kjo ilustron të njohur në faktin e kriptologjisë sekrete dhe autenticity thelbin e pronave të ndryshme sistemet kriptografike . Me fjalë të tjera, vetitë e kriptostemit ofrojnë mbrojtje nga njohja e paautorizuar me përmbajtjen e mesazhit dhe nga ndryshimet e paautorizuara të mesazhit janë të pavarura dhe vetëm në disa raste mund të ndërpriten. Kjo do të thotë se ka algoritme kriptografike që sigurojnë fshehtësi të caktuar të të dhënave të koduara dhe në të njëjtën kohë nuk mbrojnë nga ndryshimet dhe anasjelltas, duke siguruar autenticitetin e të dhënave dhe në asnjë mënyrë nuk kufizojnë mundësinë e njohjes me ta. Për këtë arsye, prona në fjalë, vetitë e gamës së gammimit nuk duhet të konsiderohen si disavantazh i saj.

Reagime gamming.

Kjo mënyrë është shumë e ngjashme me gamën e gammimit dhe ndryshon nga ajo vetëm me metodën e prodhimit të elementeve gama - elementi tjetër i gamës prodhohet si rezultat i konvertimit në ciklin e bllokut të mëparshëm të të dhënave të koduara dhe Encrypt bllokun e parë të njësisë së grupit të të dhënave, elementi gama gjenerohet si rezultat i konvertimit në të njëjtin cikël sinchopian. Kjo përfshin angazhimin e blloqeve - çdo bllok i Ciphertext në këtë regjim varet nga korrespondimi dhe të gjitha blloqet e mëparshme të tekstit të hapur. Prandaj, kjo mënyrë nganjëherë quhet gamming me blloqe angazhimi . Në qëndrueshmërinë e shifrës, fakti i angazhimit të blloqeve nuk ka ndonjë ndikim.

Diagrami i algoritmeve për dhe dekripting në gamën e feedback është paraqitur në Figurën 5 dhe për shkak të thjeshtësisë së saj në komentet nuk kanë nevojë.


Figura 5. Algoritmi për encryption (decryption) të të dhënave në një regjim gamming feedback.

Encryption në modalitetin Gamming Reaging ka të njëjtat karakteristika si encryption në varg normale, me përjashtim të efektit të shtrembërimeve të ciphertextit në tekstin përkatës të hapur. Për të krahasuar, shkruani funksionet e decryption bllok për të dy mënyrat e përmendura:

Hamming;

Reagime gamming;

Nëse në gamën normale të ndryshimeve në disa pjesë të ciphertext ndikojnë vetëm në pjesët korresponduese të tekstit të hapur, pastaj në mënyrën e gammimit me reagime, fotografia është disi më e komplikuar. Siç mund të shihet nga ekuacioni përkatës, kur dekodon bllokun e të dhënave në modalitetin Gamming Reaging, njësia e të dhënave të hapura varet nga blloqet përkatëse dhe të mëparshme të të dhënave të koduara. Prandaj, nëse ju bëni shtrembërime në një bllok të koduar, atëherë pas decryption, dy blloqe të hapura të të dhënave do të shtrembërohen - korresponduese dhe e ardhshme do të jetë, dhe shtrembërimi në rastin e parë do të jetë i njëjti karakter si në mënyrën e gammimit , dhe në rastin e dytë - si në zëvendësimin e thjeshtë të modalitetit. Me fjalë të tjera, në njësinë përkatëse të të dhënave të hapura, të njëjtat bite do të shtrembërohen si në bllokun e të dhënave të koduara, dhe në njësinë e ardhshme të të dhënave të hapura të gjitha pjesët në mënyrë të pavarur nga njëri-tjetri me probabilitet 1 / 2 Ndryshoni vlerat tuaja.

Zhvillimi i imitancës në grupin e të dhënave.

Në seksionet e mëparshme, kemi diskutuar ndikimin e shtrembërimit të të dhënave të koduara në të dhënat përkatëse të hapura. Ne kemi gjetur se kur decrypted në një mënyrë të thjeshtë zëvendësimi, njësia korresponduese e të dhënave të hapura rezulton të shtrembërohet në mënyrë të paparashikueshme, dhe kur decrypting njësinë në modalitetin e gammimit, ndryshimet janë të parashikueshme. Në modalitetin e gammimit të feedback, dy blloqe janë të shtrembëruara, një parashikim dhe një tjetër mënyrë e paparashikueshme. A do të thotë kjo që nga këndvështrimi i mbrojtjes nga imponimi i të dhënave të rreme, gamën e gammimit është e keqe dhe mënyrat e zëvendësimit të thjeshtë dhe gamming me reagime janë të mira? - në asnjë rast. Kur analizohet kjo situatë, është e nevojshme të merret parasysh se ndryshimet e paparashikueshme në bllokun e të dhënave të dekoduara mund të zbulohen vetëm në rastin e tepricës së këtyre të dhënave dhe sa më e madhe shkalla e tepricës, aq më shumë ka të ngjarë zbulimin e shtrembërimit. Shumë keqpërdorim ndodh, për shembull, për tekstet mbi gjuhët natyrore dhe artificiale, në këtë rast fakti i shtrembërimit zbulohet pothuajse i pashmangshëm. Megjithatë, në raste të tjera, për shembull, kur shtrembërimi i imazheve të zërit të kompresuar të digjitalizuara, ne thjesht do të marrim një imazh tjetër që mund të perceptojë veshin tonë. Shtrembërimi në këtë rast do të mbetet i pashembullt nëse, sigurisht, nuk ka informacion priori për karakterin e zërit. Produkti këtu është kjo: pasi aftësia e disa mënyrave të enkriptimit për të zbuluar shtrembërimet e bëra në të dhënat e koduara është në bazë të pranisë dhe tepricës së të dhënave të koduara, kjo aftësi nuk është një pronë imanente e mënyrave përkatëse dhe nuk mund të konsiderohet si e tyre avantazh.

Për të zgjidhur problemin e zbulimit të shtrembërimit në një grup të të dhënave të koduara me një probabilitet të caktuar në GOST, ofrohet një mënyrë shtesë e transformimit kriptografik - prodhimi i imitavës. Thjeshtja është një kombinim i kontrollit që varet nga të dhënat e hapura dhe informacionet sekrete kryesore. Qëllimi i përdorimit të Imitovka është zbulimi i të gjitha ndryshimeve të rastësishme ose të qëllimshme në grupin e informacionit. Problemi i përshkruar në paragrafin e mëparshëm mund të zgjidhet me sukses duke shtuar të dhënat e koduara të imitavës. Për një sulmues të mundshëm, dy detyrat e mëposhtme janë praktikisht të pazgjidhura nëse nuk posedojnë çelësin:

  • duke llogaritur imitava për një koleksion të dhënë të hapur të informacionit;
  • përzgjedhja e të dhënave të hapura për një imitavë të caktuar;

Skema e algoritmit për prodhimin e imitavintage është paraqitur në figurën 6.


Figura 6. Algoritmi i gjenerimit të imitancës për grupin e të dhënave.

Një pjesë e bllokut të marrë në prodhim është marrë si imitava, zakonisht 32 nga pak më të rinj. Kur zgjedhni madhësinë e imitavës, është e nevojshme të merret parasysh se probabiliteti i vendosjes së suksesshme të të dhënave të rreme është e barabartë me 2 - | I. | Për një përpjekje për përzgjedhje, nëse një sulmues nuk ka metodë më efikase të përzgjedhjes sesa një supozim i thjeshtë. Kur përdorni imitancën e 32 bit në madhësi, kjo probabilitet është e barabartë me

Diskutimi i algoritmeve kriptografike të Gost.

Cryptographic është rezistenca e gost.

Kur zgjedh një algoritëm kriptografik për përdorim në një zhvillim të caktuar, një nga faktorët përcaktues është qëndrueshmëria e saj, domethënë rezistenca ndaj përpjekjeve të kundërshtarit për ta zbuluar atë. Çështja e ngurtësisë së shifrës së shifrës duket më poshtë në dy çështje të ndërlidhura:

  • a është e mundur të zbulosh plotësisht këtë shifër;
  • nëse po, sa e vështirë është e vështirë të bëhet praktikisht;

Shifrat që janë përgjithësisht të pamundura për t'u zbuluar, quhen absolutisht ose teorikisht rezistente. Ekzistenca e shifrave të tilla vërtetohet nga Teorema Shannon, megjithatë, çmimi i kësaj rezistente është nevoja për të përdorur për të encrypt çdo mesazh kyç që nuk është më i vogël në madhësinë e vetë mesazhit. Në të gjitha rastet, me përjashtim të një numri të veçantë, ky çmim është i tepruar, prandaj, në praktikë, shifrat që nuk kanë rezistencë absolute kryesisht përdoren. Kështu, skemat më të zakonshme të enkriptimit mund të zbulohen për një kohë të caktuar ose, më saktësisht, për një numër të caktuar hapash, secila prej të cilave është disa operacione mbi numrat. Për ta, koncepti i rezistencës praktike, duke shprehur vështirësinë praktike të zbulimit të tyre, është e gjërave më të rëndësishme. Një masë sasiore e kësaj vështirësie është numri i operacioneve fillore aritmetike dhe logjike, të cilat duhet të kryhen për të zbuluar shifrën, domethënë për një cipher të caktuar me një probabilitet që nuk është më i vogël se vlera e specifikuar, për të përcaktuar tekstin përkatës të hapur . Në të njëjtën kohë, përveç grupit të të dhënave të dekoduara, kriptanalitikët mund të vendosen blloqet e të dhënave të hapura dhe të dhënat korresponduese të koduara të koduara ose edhe mundësinë për të marrë të dhënat korresponduese të koduara për çdo të dhënë të hapur të të dhënave të zgjedhura - në varësi të të dhënave të listuara dhe të varësisë Shumë kushte të tjera të paspecifikuara dallojnë llojet individuale të kriptoanalizës.

Të gjitha kriptosystemet moderne janë ndërtuar mbi parimin e Kirchoff, domethënë sekreti i mesazheve të koduara përcaktohet nga sekreti kyç. Kjo do të thotë se edhe nëse algoritmi i enkriptimit është i njohur për kriptanalitikët, një, megjithatë, nuk është në gjendje të decrypt mesazhin nëse nuk ka çelësin e duhur. Shifra konsiderohet e dizajnuar mirë nëse nuk ka metodë për ta hapur atë në një mënyrë më efikase se sa plot për të goditur gjatë gjithë hapësirës kryesore, dmth. Për të gjitha çelësat e mundshëm. GOST ka të ngjarë të përmbushë këtë parim - gjatë viteve të hulumtimeve intensive, nuk është propozuar asnjë mënyrë efektive e kriptanalizës së saj. Sa i përket këmbënguljes, ai është shumë i urdhrave të madhësisë që tejkalon ish-standardin amerikan të enkriptimit, des.

Guest përdor një çelës 256-bit dhe vëllimi i hapësirës kryesore është 2 256. Asnjë nga pajisjet elektronike aktuale ose të vlerësuara në të ardhmen e afërt ose dyshohet se pajisja elektronike nuk mund të zgjidhet gjatë kohës më pak se njëqind vjet. Kjo vlerë është bërë standardi aktual i madhësisë kyçe për kriploalgorit simetrik këto ditë, "Pra, standardi i ri i enkriptimit të SHBA gjithashtu e mbështet atë. Ish-standardi amerikan, des me madhësinë e saj të vërtetë të 56 bit dhe vëllimit të hapësirës kryesore është vetëm 2 56 nuk është më mjaft i vazhdueshëm në dritën e mundësive të informatikës moderne. Kjo u demonstrua në fund të viteve '90 nga disa përpjekje të suksesshme duke hacking des duke kapërcyer. Përveç kësaj, Des ishte i ndjeshëm ndaj mënyrave të veçanta për të kriptanalizës, të tilla si diferenciale dhe lineare. Në këtë drejtim, DES mund të përfaqësohet më tepër një hulumtim ose interes shkencor sesa praktik. Në vitin 1998, dobësia e tij kriptografike u njoh zyrtarisht, Instituti Kombëtar i Standardeve të SHBA rekomandoi përdorimin e encryption trefishtë në des. Dhe në fund të vitit 2001, një standard i ri i enkriptimit të SHBA u miratua zyrtarisht, AES, i ndërtuar mbi parime të tjera dhe të lirë nga pengesat e paraardhësit të saj.

Shënime mbi arkitekturën e GOST.

Është e njohur se standardi i enkriptimit të brendshëm është një përfaqësues i një familjeje të tërë të shifrave të ndërtuara mbi të njëjtat parime. Më e famshme "relative" është ish-standardi i enkriptimit amerikan, algoritmi des. Të gjithë këta shifra, si GOST, përmbajnë algoritme tre nivele. Gjithmonë ka një "hap bazë" të caktuar, në bazë të të cilave "ciklet bazë" janë të ngjashme, dhe procedurat praktike për encryption dhe zhvillimin e imitovka janë ndërtuar mbi to. Kështu, specifikat e secilit prej shifrave të kësaj familjeje përfunduan në hapin e saj kryesor, më saktësisht, madje edhe nga ana e saj. Megjithëse arkitektura e shifrave të bllokut klasik, në të cilën GOST i takon, është larg nga tema e këtij artikulli, ende ia vlen të thuhet disa fjalë për rastin e saj.

Algoritmet "Hapat bazë të kriptopreforming" për shifrat si GOST, të ndërtuara identike, dhe kjo arkitekturë quhet rrjeti i balancuar i zjarrit (Rrjeti i balancuar feistel) me emrin e një personi që e ka ofruar së pari. Circuit konvertimit të të dhënave në një cikël, ose, si ta thërrasësh atë, i rrumbullakët tregohet në figurën 7.


Figura 7. Përmbajtja e hapit kryesor të kripës për të bllokuar shifrat si GOST.

Kontributi i hapit kryesor shërben një bllok të madje madhësisë, gjysma e vjetër dhe më e re e të cilave përpunohen veçmas nga njëri-tjetri. Gjatë konvertimit, gjysma e re e bllokut është vendosur në vendin e pleqve, dhe më i madhi, i kombinuar me funksionimin e thyer " duke përjashtuar ose »Me rezultatin e llogaritjes së disa funksioneve, në vendin më të ri. Kjo veçori që merr një argument është një pjesë e ulët e bllokut dhe elementit të informacionit kyç ( X.) është një pjesë kuptimplote e shifrës dhe quhet tipar encryption . Për arsye të ndryshme doli të jetë e dobishme për të ndarë bllokun e koduar në dy karaktere në madhësi: | N. 1 |=|N. 2 | - Është ky fakt që pasqyron fjalën "të balancuar" në titullin e arkitekturës. Megjithatë, rrjetet e pabalancuara të encryption përdoren edhe kohë pas kohe, edhe pse jo aq shpesh sa të balancuara. Përveç kësaj, konsistenca e konsistencës së shifrës kërkon që madhësia e elementit kyç të jetë jo më pak se gjysma e bllokut: në zorrë, të tre madhësitë janë 32 bit .

Nëse zbatohet në skemën e hapit kryesor të algoritmit të GOST, bëhet e qartë se bllokon 1,2,3 algoritme (shih Figurën 1) të përcaktojë llogaritjen e funksionit të saj të enkriptimit dhe bllokon 4 dhe 5 Vendosni formimin e prodhimit bllokun e hapit kryesor të bazuar në përmbajtjen e njësisë hyrëse dhe funksioneve të enkriptimit. Më hollësisht në lidhje me arkitekturat e shifrave të bllokut modern me një çelës sekret, ju mund të lexoni në punën klasike, ose në formë të përshtatur, në punën time.

Në pjesën e mëparshme, ne kemi krahasuar tashmë DES dhe GOST me qëndrueshmëri, tani ne do t'i krahasojmë ato në përmbajtjen funksionale dhe komoditetin e zbatimit. Në ciklet e kodimit të GOST, hapi kryesor përsëritet 32 \u200b\u200bherë, për DES, kjo vlerë është 16. Megjithatë, funksioni i enkriptimit të GOST është dukshëm më i lehtë për funksionin e ngjashëm des, në të cilin ka shumë permutime të parregullta. Këto operacione janë jashtëzakonisht të paefektshme të zbatuara në procesorët modern jo të specializuar. GOST nuk përmban operacione të tilla, kështu që është shumë më i përshtatshëm për zbatimin e softuerit.

Asnjë nga projektet Intel X86 të konsideruara nga autori i implementimeve për platformën Intel X86, madje edhe gjysma e performancës të propozuar për vëmendjen tuaj në këtë nen të zbatimit të GOST pavarësisht nga cikli më i shkurtër. Të gjitha këto sugjerojnë se zhvilluesit e GOST kanë mësuar aspekte pozitive dhe negative të Desa, dhe mundësitë aktuale dhe premtuese të kriptanasalizës janë më të realizuara. Megjithatë, për të marrë des si një bazë kur krahasimi i performancës së implementimit të shifrave nuk është më relevante. Standardi i ri evropian i enkriptimit është shumë më i mirë në të njëjtën kohë - me të njëjtën gjë si madhësia e ngjyrës së çelësit në 256 bit, AES punon më shpejt me rreth 14% - kjo duhet të krahasohet me numrin e "operacioneve elementare". Përveç kësaj, Gost është praktikisht i paaftë për paralele, dhe AES ka mundësi në këtë drejtim shumë më tepër. Në disa arkitektura, kjo avantazh i AES mund të jetë më pak për të tjerët - më shumë. Pra, në procesorin Intel Pentium ajo arrin 28%. Detajet mund të gjenden në.

Kërkesat e cilësisë dhe burimet kryesore.

Jo të gjitha çelësat dhe tabelat e zëvendësimeve ofrojnë qëndrueshmëri maksimale të shifrës. Për çdo algoritëm encryption, ka kritere të vlerësimit për informacionin kyç. Pra, për algoritmin des, ekzistencën e të ashtuquajturit " Çelësat e dobët "Kur përdorni të cilën lidhja midis të dhënave të hapura dhe të koduara nuk është maskuar aq sa duhet, dhe shifra është relativisht e hapur.

Një përgjigje gjithëpërfshirëse për çështjen e kritereve për cilësinë e çelësave dhe tabelave të substratit të GOST, nëse mund të merrni kudo vetëm, atëherë vetëm zhvilluesit e algoritmit. Të dhënat përkatëse nuk u publikuan në shtyp të hapur. Megjithatë, sipas procedurës së përcaktuar, të dhënat kryesore të marra nga një organizatë e autorizuar duhet të përdoren për të koduar informacionin në lidhje me organizatën margjinale. Në mënyrë indirekte kjo mund të tregojë praninë e teknikave kryesore të verifikimit të të dhënave për "qepje". Nëse prania e çelësave të dobët në mysafir është një pyetje diskutimi, atëherë prania e nyjeve të dobëta zëvendësuese nuk është dyshim. Natyrisht, tabela e zëvendësimit "të parëndësishme", sipas të cilit ndonjë vlerë zëvendësohet me vete, është kaq e dobët, kur e përdor, shifra është zgjimi fillestar, pavarësisht nga çelësi.

Siç është theksuar më sipër, kriteret për vlerësimin e informacionit kyç nuk janë të disponueshme, por disa konsiderata të përgjithshme mund të shprehen në llogarinë e tyre.

Celës

Çelësi duhet të jetë një koleksion i biteve statistikisht të pavarura që pranojnë të barabartë me probabilitetin e vlerës së 0 dhe 1. Është e pamundur të përjashtohen plotësisht se disa vlera specifike kryesore mund të jenë "të dobëta", domethënë, shifra nuk mund të ofrojë një nivel të caktuar të rezistencës në rast të përdorimit të tyre. Megjithatë, me sa duket, përqindja e vlerave të tilla në masën totale të të gjitha çelësave të mundshëm është e papërfillshme. Së paku, studimet intensive të shifrës ende nuk kanë zbuluar një çelës të vetëm për ndonjë tabelat zëvendësuese të njohur (I.E. FAPSI). Prandaj, çelësat e prodhuar duke përdorur një sensor të caktuar të numrave me të vërtetë të rastësishëm do të jenë cilësore me një probabilitet që ndryshon nga njësia në një vlerë të papërfillshme. Nëse çelësat gjenerohen duke përdorur një gjenerator të numrave pseudo-të rastësishëm, gjeneratori i përdorur duhet të sigurojë karakteristikat e mësipërme statistikore, dhe, përveç kësaj, të ketë një rezistencë të lartë kriptike, jo më pak se ajo e vetë Gost. Me fjalë të tjera, detyra e përcaktimit të anëtarit të munguar të gjeneruar nga gjeneratori i sekuencës së elementeve nuk duhet të jetë më i lehtë se detyra e hapjes së shifrës. Përveç kësaj, kriteret e ndryshme statistikore mund të përdoren për të kundërshtuar çelësat me karakteristika të këqija statistikore. Në praktikë, dy kritere zakonisht janë të mjaftueshme - për të kontrolluar shpërndarjen ekuilibrin e biteve kyçe midis vlerave 0 dhe 1, është përdorur zakonisht kriterin e Pearson ("Sheshi") dhe për të kontrolluar pavarësinë e bit kryesore, kriteret e serive. Mund të lexojmë për kriteret e përmendura në tekstet shkollore ose librat referues mbi statistikat matematikore.

Qasja më e mirë për zhvillimin e çelësave do të ishte përdorimi i sensorëve të harduerit MC, por kjo nuk është gjithmonë e pranueshme për konsideratat ekonomike. Gjatë gjenerimit të një koleksioni të vogël të informacionit kyç, një alternativë e arsyeshme për përdorimin e një sensori të tillë është dhe përdoret gjerësisht në praktikë metodën "ruletë elektronike", kur pjesa tjetër e gjeneruar e copave të rastësishme varet nga koha e shtypjes së çelësit të operatorit në tastierën e kompjuterit. Në këtë skemë, burimi i të dhënave të rastësishme është një përdorues kompjuteri, më saktësisht - karakteristikat kohore të reagimit të saj. Në këtë shtyp, vetëm disa pjesë të të dhënave të rastësishme mund të zhvillohen në të njëjtën kohë, kështu që shpejtësia totale e informacionit kyç është i vogël - deri në disa bit për sekondë. Natyrisht, kjo qasje nuk është e përshtatshme për vargjet e mëdha të çelësave.

Në rastin kur është e nevojshme për të punuar një sasi të madhe të informacionit kyç, përdorimi i sensorë të ndryshëm të softuerëve të numrave pseudo-rastësi të rastësishme është e mundur dhe është shumë gjerësisht e përhapur. Meqë ka kriptoskopi të lartë, përdorimi i vetë shifrës, pasi është përdorimi i skemës në vetvete si ajo, thjesht është "prerja" e madhësive të fërguara në "copat" e madhësisë së dëshiruar, për GOST - 32 bytes . Natyrisht, për këtë qasje, ne do të kemi nevojë për një "kyç master", të cilin ne mund të marrim metodën elektronike të ruletëve të përshkruara më sipër, dhe me të duke përdorur shifrën në modalitetin Gamma Generator, ne marrim një sërë informacioni kyç që na nevojitet. Pra, këto dy mënyra për të zhvilluar çelësat, "manual" dhe "algoritmik", punojnë në tandem, duke plotësuar njëri-tjetrin. Skemat kryesore të gjenerimit në sistemet kriptografike të "buxhetit të ulët" janë pothuajse gjithmonë të ndërtuara në këtë parim.

Zëvendësimi i tabelës

Tabela e zëvendësimit është një element kyç afatgjatë, domethënë, vepron mbi një periudhë shumë më të gjatë sesa një çelës i veçantë. Supozohet se është e zakonshme për të gjitha vendet e enkriptimit brenda një sistemi mbrojtës kriptografik. Edhe me një shkelje të privatësisë së tabelës, qëndrueshmëria e shifrës mbetet jashtëzakonisht e lartë dhe nuk ulet nën kufirin e lejuar. Prandaj, nuk ka nevojë të veçantë për të mbajtur tryezën sekrete, dhe në shumicën e aplikacioneve komerciale të GOST është bërë. Nga ana tjetër, tabela e zëvendësimit është një element kritik për të siguruar qëndrueshmërinë e të gjithë shifrës. Zgjedhja e një tabele të pahijshme mund të çojë në faktin se shifra do të hapet lehtësisht nga metodat e njohura të kriptoanalizës. Kriteret për zhvillimin e nyjeve të zëvendësimeve - Misteri për shtatë vula dhe FAPSI nuk ka gjasa ta ndajë atë me një publik në të ardhmen më të afërt të parashikueshme. Në fund të fundit, për të thënë nëse kjo tabelë e veçantë e zëvendësimeve është e mirë apo e keqe, është e nevojshme të kryhet një sasi e madhe pune - shumë mijëra njerëz dhe orë të makinave. Pasi tabela e përzgjedhur dhe e përdorur është subjekt i zëvendësimit në atë dhe vetëm nëse shifrat me përdorimin e tij doli të jetë i prekshëm ndaj një ose një lloj tjetër të kriptanalizës. Prandaj, zgjidhja më e mirë për një shifër të zakonshme të përdoruesit do të marrë një nga tabelat që janë bërë domen publik. Për shembull, nga standardi për funksionin e hash, është "centrobankovskaya"; Informacioni për këto tabela mund të gjenden në shtyp të hapur dhe madje edhe në internet, nëse dukeni mirë.

Për ata që nuk janë përdorur për të shkuar në shtigje të lehta, skema e përgjithshme për marrjen e tabelave me cilësi të lartë është më poshtë:

  1. Duke përdorur një teknikë, ne prodhojmë një sërë tetë nyjesh të zëvendësimit me karakteristikat e garantuara të jolinearit. Ka disa teknika të tilla, njëri prej tyre është përdorimi i të ashtuquajturave funksione të përkulura.
  2. Kontrolloni përmbushjen e "kritereve të cilësisë" më të thjeshta - për shembull, ato që janë të publikuara për nyjet e zëvendësimit des. Këtu janë disa konsiderata të përgjithshme për këtë: çdo nyje zëvendësuese mund të përshkruhet nga katër funksione logjike nga katër argumente logjike. Nëse këto funksione regjistrohen në formë minimale (i.E. me gjatësinë minimale të mundshme të shprehjes) nuk do të jetë mjaft e mjaftueshme, një nyje e tillë zëvendësuese refuzohet. Përveç kësaj, funksionet individuale brenda tërë tabelës së zëvendësimit duhet të ndryshojnë nga njëri-tjetri në mjaftueshëm. Në këtë fazë, shumë tavolina me vetëdije të ulët janë eklipsuar.
  3. Për shifër me tavolinat tuaja të zgjedhura, duke ndërtuar modele të ndryshme të rrumbullakëta, që korrespondojnë me lloje të ndryshme të kriptoanalizës dhe matni karakteristikat përkatëse "profili". Pra, për kriploansis lineare, duke ndërtuar një analog linear statistikor të raundit të kodimit dhe llogaritjen e "profilit" karakteristikë - treguesi jolinear. Nëse rezulton të jetë e pamjaftueshme, tabela e zëvendësimit refuzohet.
  4. Së fundi, duke përdorur rezultatet e paragrafit të mëparshëm, ekspozoni shifrën me tabelën e hulumtimeve intensive që keni zgjedhur - përpjekje për të kriptanalya nga të gjitha metodat e njohura. Kjo fazë është më e vështira dhe më e vështira. Por nëse është bërë cilësisht, atëherë me një shkallë të lartë të probabilitetit, mund të thuhet se shifra me tavolinat që ju zgjidhni nuk do të hapet me vdekje të thjeshta, dhe nuk është i përjashtuar, nuk do të jetë në dhëmbë të veçantë shërbime.

Është e mundur, megjithatë, është shumë më e lehtë për të bërë. Gjë është se sa më e madhe është raundet në shifër, aq më pak ndikim në qëndrueshmërinë e të gjithë shifrës kanë karakteristikat e rezistencës së një raundi. Guest Ahm 32 raundi është më shumë se pothuajse të gjithë shifrat me arkitekturë të ngjashme. Prandaj, për shumicën e aplikacioneve shtëpiake dhe komerciale, është e mjaftueshme për të marrë nyjet e zëvendësimeve si riorganizime të pavarura të numrave nga 0 në 15. Kjo mund të zbatohet praktikisht, për shembull, duke përzier një kuvertë nga gjashtëmbëdhjetë karta, secila prej të cilave është e fiksuar një nga vlerat e vargut të specifikuar.

Sa i përket tabelës së zëvendësimit, është e nevojshme të theksohet një tjetër fakt interesant. Për cikle të kthyeshme të encryption "32-s" dhe "32-p", nuk është e nevojshme që nyjet e zëvendësimeve të jenë permutacionet e numrave nga 0 në 15. Çdo gjë punon edhe nëse ka elemente të përsëritura në nyjen e zëvendësimit dhe Zëvendësimi, i pakthyeshëm, - por në këtë rast rezistenca e shifrës është zvogëluar. Pse pikërisht është rasti, nuk konsiderohet në këtë artikull, por është e lehtë të siguroheni në faktin. Për ta bërë këtë, është e mjaftueshme për të provuar së pari encrypt, dhe pastaj decrypt bllokun e të dhënave duke përdorur një tabelë të tillë të zëvendësimit "të dëmtuar", nyjet e të cilave përmbajnë vlera të përsëritura.

Ndryshime në temën e GOST

Shumë shpesh, për përdorim në sistemin e mbrojtjes së të dhënave kriptografike, kërkohet një algoritëm me më të madh se ai i performancës së GOST të zbatimit dhe kjo nuk kërkon një rezistencë të tillë të lartë kriptike. Një shembull tipik i detyrave të tilla janë lloje të ndryshme të sistemeve elektronike të tregtimit të aksioneve, menaxhimin e seancave tregtare në kohë reale. Këtu nga algoritmet e përdorura të enkriptimit është e nevojshme që është e pamundur të deshifroj të dhënat operacionale të sistemit gjatë seancës (të dhënat mbi aplikimet e aplikacioneve, në lidhje me transaksionet, etj.), Për skadimin e saj, këto të dhëna janë zakonisht e padobishme për ndërhyrës. Me fjalë të tjera, kërkohet këmbëngulja e garantuar për vetëm disa orë - kjo është kohëzgjatja tipike e seancës tregtare. Është e qartë se përdorimi i një gost të plotë në këtë situatë do të ishte të shtënat nga armët në harabela.

Si ta bëni këtë dhe raste të ngjashme për të rritur shpejtësinë e enkriptimit? Përgjigja qëndron në sipërfaqe - përdorni modifikimin e shifrës me një numër më të vogël të hapave kryesorë (raunde) në ciklet bazë. Sa herë e zvogëlojmë numrin e raundeve të enkriptimit, shpejtësia rritet në të njëjtën kohë. Ndryshimi i specifikuar mund të arrihet në dy mënyra - një rënie në gjatësinë kyçe dhe një rënie në numrin e "cikleve të shikimit" të çelësit. Kujtojnë se numri i hapave fiks në ciklet themelore të encryption është e barabartë N.=n · M.ku n. - Numri i elementeve 32-bit në çelësin, m. - Numri i cikleve duke përdorur elemente kyçe në standard n.=8, m.\u003d 4. Ju mund të zvogëloni ndonjë nga këto numra, por opsioni më i thjeshtë është zvogëlimi i gjatësisë kyçe, jo prekja e përdorimit të tij.

Është e qartë se pagesa për përshpejtim do të reduktohet rezistenca e shifrës. Vështirësia kryesore qëndron në faktin se është mjaft e vështirë për të vlerësuar më shumë ose më pak me saktësi madhësinë e kësaj reduktimi. Natyrisht, e vetmja mënyrë e mundshme për ta bërë këtë është studimi i opsioneve të shifrës me cikle konvertimi kriptografike të reduktuar "në programin e plotë". Është e qartë se, së pari, ajo kërkon përdorimin e informacionit të mbyllur, të cilin vetëm zhvilluesit e GOST, dhe, së dyti, janë shumë të mundimshëm. Prandaj, tani do të përpiqemi të vlerësojmë, shumë dhe shumë të vrazhdë, duke vazhduar vetëm nga modelet e përgjithshme.

Sa për stabilitetin e shifrës në metodat e "gjerë" të piraterisë, domethënë në sulmin "lart", që këtu është pak a shumë i qartë: çelësi i 64 bit është diku në prag të aksesueshmërisë këtë lloj sulmi, shifër me një çelës 96 bit dhe më të lartë (mos harroni se çelësi duhet të përmbajë një numër të plotë të elementeve 32-bit) është mjaft rezistent ndaj tij. Në të vërtetë, disa vjet më parë, ish-standardet e enkriptimit të SHBA, DES, u përplas në mënyrë të përsëritur nga dërrmuese, - në fillim u hodhën nga një rrjet informatik, i organizuar në bazë të rrjetit global të internetit, dhe pastaj i specializuar, i.e. Projektuar posaçërisht për këtë makinë informatike. Ne do të miratojmë që versioni standard i GOST për zbatimin e softuerit në përpunuesit modern po ecën me katërvjeçare më shpejt. Pastaj 8-raundi "Gost i reduktuar" do të punojë 16 herë më shpejt se Des. Ne gjithashtu marrim atë, për të kaluarën nga momenti i hacking des, performanca e teknologjisë informatike sipas ligjit të Moore u rrit katër prej tyre. Ne marrim si rezultat që tani po kontrollon një çelës 64-bit për "GOST të reduktuar" me tetë cikle është 64 herë më shpejt se në një kohë provë e një butoni DES u krye. Kështu, avantazhi i këtij opsioni të Gost Para Des nga kompleksiteti i sulmit ndër-stroke është reduktuar nga 2 64-56 \u003d 2 8 \u003d 256 në 256 / 64 \u003d 4 herë. Pajtohem, ky është një ndryshim shumë iluzor, pothuajse asgjë.

Është shumë më e vështirë të vlerësohet stabiliteti i modifikimeve të dobësuar të shtetit në metodat "intensive" të kriptanalizës. Megjithatë, modeli i përgjithshëm mund të gjurmohet këtu. Fakti është se "profili" karakteristikat e shumë llojeve më të forta të kriptanalizës varen në mënyrë eksponenciale nga numri i raundeve të enkriptimit. Pra, për kriploanalizën lineare (LKA) do të jetë një karakteristikë e linearisë L. :

ku C. dhe - konstante, r është numri i raundeve. Një varësi e ngjashme ekziston për kriptanalizën diferenciale. Në "kuptimin e tij fizik", të gjitha karakteristikat e këtij lloji - probabiliteti. Zakonisht shuma e të dhënave burimore të nevojshme për kriptanalizën dhe kompleksitetin e saj është në mënyrë proporcionale me karakteristika të tilla. Rrjedhimisht, këto norma me intensitet të punës po rriten në mënyrë eksponenciale me një rritje të numrit të hapave bazë të encryption. Prandaj, me një rënie të numrit të raundeve, kompleksiteti i llojeve më të njohura të analizës do të ndryshojë si, - shumë përafërsisht dhe përafërsisht, është rrënja e kësaj shkalle nga shuma fillestare. Kjo është një rënie shumë e madhe në rezistencë.

Nga ana tjetër, GOST është projektuar me një diferencë të madhe forcë dhe sot është rezistente ndaj të gjitha llojeve të njohura të kriptanalizës, duke përfshirë diferencën dhe linearin. Në lidhje me LKA, kjo do të thotë se për sjelljen e saj të suksesshme kërkohet më shumë "bllok të hapur është një bllok i koduar" sesa "ekziston në natyrë", domethënë më shumë se 2,64. Duke marrë parasysh sa më sipër, kjo do të thotë që për një LCA të suksesshme të Gost 16-raund, ju do të keni nevojë për më pak blloqe ose 25 bytes ose 32 GB të dhëna, dhe për 8-raundin - të paktën blloqe ose 2 19 bytes ose 0.5 MB.

Konkluzionet nga të gjitha këto janë dhënë në tabelën e mëposhtme, e cila përgjithëson karakteristikat e opsioneve të reduktuara të GroA.

Numri i rrumbullakët Madhësia kryesore, pak Indeksi i Veprimit të Shpejtë Karakteristikat e mundshme të shifrave (vlerësim shumë i përafërt)
24 192 1,33 Të qëndrueshme për llojet më të famshme të KA, ose të jetë në prag të stabilitetit. Zbatimi praktik i AK-së është i pamundur për shkak të kërkesave të larta për të dhënat fillestare dhe kompleksitetin.
16 128 2 Teorikisht i paqëndrueshëm ndaj llojeve të caktuara të kriptoanalizës, por zbatimi praktik i tyre në shumicën e rasteve është i vështirë për shkak të kërkesave të larta për të dhënat fillestare dhe intensitetin e punës.
12 95 2,67 Të paqëndrueshme për disa lloje të famshme të kriptoanalizës, por është i përshtatshëm për sekretin e sasive të vogla të të dhënave (deri në dhjetë qindra krib) për një kohë të shkurtër.
8 64 4 Të paqëndrueshme për disa lloje të famshme të kriptoanalizës, por është i përshtatshëm për sekretin e sasive të vogla të të dhënave (deri në dhjetëra KB) për një kohë të shkurtër.

Dy opsionet e fundit, me 12 dhe 8 raunde janë të afta të sigurojnë një mbrojtje shumë dhe shumë të kufizuar në kohë. Përdorimi i tyre është i justifikuar vetëm në detyra, ku kërkohet vetëm sekreti afatshkurtër i të dhënave të mbyllura, rreth disa orë. Zona e mundshme e zbatimit të këtyre opsioneve të dobëta të shifrës është mbyllja e trafikut UDP të sistemeve elektronike të tregtimit të aksioneve. Në këtë rast, çdo pako e të dhënave (datagram, mesatarja "D" nga shkurtesa UDP) është e koduar në një çelës të veçantë 64-bit, dhe vetë çelësi është i koduar në një çelës sesioni (kyç është zona e të cilit është një sesion komunikimi midis dy kompjutera) dhe transmetohet me të dhëna.

Para se të përfundojë me variantet e reduktuara të GOST, unë do të them se të gjitha konsideratat e mësipërme janë shumë spekulative. Standardi siguron këmbëngulje vetëm për një opsion 32-raund. Dhe askush nuk mund t'ju japë garanci se stabiliteti i varianteve të reduktuara të shifrës për të goditur do të ndryshohet më sipër. Nëse ende vendosni t'i përdorni ato në zhvillimet tuaja, mos harroni se keni hyrë në një tokë shumë të butë, e cila mund të vijë nga nën këmbët tuaja në çdo kohë. Nëse pyetjet e shpejtësisë së enkriptimit së shpejti janë kritike për ju, ndoshta ia vlen të mendoni për përdorimin e një shifre më të shpejtë ose kompjuter më të fuqishëm? Një konsideratë tjetër për të cilën duhet të bëhet është se variantet e dobësuar të GOST do të jenë aq të ndjeshme ndaj cilësisë së nyjeve zëvendësuese të përdorura.

Pyetja në shqyrtim ka një anë të kundërt. Çka nëse shkalla e enkriptimit është jo kritike, dhe kërkesat për rezistencë është shumë e ngushtë? Ju mund të rrisni rezistencën e gostit në dy mënyra - konvencionalisht i quani ato "të gjera" dhe "intensive". E para nuk është asgjë më shumë se një rritje e thjeshtë në numrin e raundeve të encryption. Nuk është krejtësisht e qartë për mua pse mund të ketë nevojë për të, sepse standardi i brendshëm dhe pa këtë siguron rezistencën e nevojshme. Megjithatë, nëse vuani nga paranoja më shumë nivele të nevojshme (dhe të gjitha "avokatët e informacionit" thjesht të detyruar të vuajnë, kjo gjendje e profesionalizmit është, pyetja është vetëm në shkallën e rasteve të rastit :), kjo do t'ju ndihmojë të qetësoheni disi. Nëse nuk jeni të sigurt për këtë kgb-shifra ose tabelën e zëvendësimeve që përdorni, vetëm të dyfishtë, të ngritur etj. Numri i raundeve - shumëpliciteti Zgjidhni bazuar në ashpërsinë e rastit tuaj. Kjo qasje ju lejon të rrisni me të vërtetë qëndrueshmërinë e shifrës, - nëse kriptanaliza e mëparshme ishte thjesht e pamundur, tani është e pamundur në shesh!

Më e ndërlikuar dhe interesante është pyetja, dhe nëse është e mundur të rritet qëndrueshmëria e shifrës, pa ndryshuar numrin dhe strukturën e hapave kryesorë të enkriptimit. Pa marrë parasysh se sa çuditërisht, përgjigja për këtë është pozitive, edhe pse ne hapim përsëri në tokën piselle të spekulimeve. Fakti është se në mysafir, në hapin kryesor të transformimit, supozohet të zëvendësohet 4 nga 4 bit, dhe në praktikë (kjo është më përpara) të gjitha implementimet e softuerit kryejnë ndërthurjen e ndërlikuar të ndërlikuar, i.e. 8 deri në 8 bit - Kjo është bërë për konsideratat e efikasitetit. Nëse e hartoni menjëherë një zëvendësim të tillë si 8-bit, atëherë ne do të përmirësojmë ndjeshëm karakteristikat e një raundi. Së pari, "difuzioni" karakteristike ose tregues i "ortek" do të rritet - një grimë e të dhënave burimore dhe / ose çelësi do të ndikojë në numrin më të madh të bit të rezultateve. Së dyti, për nyjet e zëvendësimit të madh, mund të merrni karakteristika më të ulëta diferenciale dhe lineare, duke zvogëluar ekspozimin ndaj shifrës me të njëjtin emër të kriptanalizës. Veçanërisht e rëndësishme për ciklet e reduktuara të GOST, dhe për 8 dhe 12 opsione të rrumbullakëta, një hap i tillë është thjesht i nevojshëm. Kjo kompenson disi për humbjen e këmbënguljes në to nga reduktimi i numrit të raundeve. Çfarë e bën të vështirë për të përdorur këtë pritje - kjo është ajo që dizajnimi i nyjeve zëvendësuese të tilla "të zgjeruara" do të duhet të jenë në mënyrë të pavarur. Dhe gjithashtu fakti që nyjet më të mëdha janë projektuar përgjithësisht dukshëm më të vështira se sa më të vogla në madhësi.

Përdorimi jo standard i standardit.

Natyrisht, qëllimi kryesor i Cryptoalgorithm Gost është encryption dhe të dhëna imittivore. Megjithatë, ata gjithashtu mund të gjejnë aplikacione të tjera të lidhura, natyrisht, me mbrojtjen e informacionit. Tregoni shkurtimisht për to:

1. Për encryption në modalitetin e gammimit, GOST parashikon zhvillimin e një gama kriptografike - një sekuencë bit me karakteristika të mira statistikore me rezistencë të lartë të fshehtë. Më tej, ky gamma përdoret për të modifikuar të dhënat e hapura, duke rezultuar në të dhënat e të dhënave të koduara. Megjithatë, kjo nuk është aplikimi i vetëm i mundshëm i vargut kriptografik. Fakti është se algoritmi i prodhimit të saj është një gjenerator i sekuencës së numrave pseudo-rastësi (GPPSH) me karakteristika të shkëlqyera. Natyrisht, nuk është e nevojshme të përdoret një GPPSH i tillë ku nevojiten vetëm karakteristikat statistikore të sekuencës së prodhuar, dhe kriptoskopi nuk është i nevojshëm, jo \u200b\u200bshumë i arsyeshëm - ka shumë gjeneratorë më efikas për këto raste. Por për aplikime të ndryshme që lidhen me mbrojtjen e informacionit, një burim i tillë do të jetë mjaft nga rruga:

  • Siç u tha më lart, gama mund të përdoret si "lëndë e parë" për të gjeneruar çelësa. Për këtë ju duhet vetëm të merrni një segment të gamës së gjatësisë së dëshiruar - 32 bytes. Në këtë mënyrë, çelësat mund të bëhen sipas nevojës dhe nuk do të duhet të ruhen - nëse një çelës i tillë është i nevojshëm, do të jetë e mjaftueshme për të punuar mjaftueshëm. Ajo do të jetë e nevojshme vetëm të kujtojmë se si ky është zhvilluar fillimisht, i cili përdorte sinkronizimin dhe nga e cila byte e gamës së prodhuar filloi çelësi. Të gjitha informatat, me përjashtim të çelësit, është i panevojshëm. Kjo qasje do t'ju lejojë të kontrolloni lehtësisht një sistem kyç të komplikuar dhe të degëzuar duke përdorur vetëm një "çelës master".
  • Ngjashëm me të mëparshmen, gamit mund të përdoret si burim "lëndë e parë" për të gjeneruar fjalëkalime. Mund të ketë një pyetje, pse duhet t'i gjeneroni ato, nuk është më e lehtë pasi ju duhet vetëm t'i shpikni ato. Dështimi i një qasjeje të tillë u demonstrua qartë nga një sërë incidentesh në rrjetet kompjuterike, më e madhe prej të cilave ishte paraliza e përditshme e internetit në nëntor 1988, e shkaktuar nga "krimbi i Morris". Një mënyrë për të depërtuar në programin e dëmshëm në kompjuter ishte përzgjedhja e fjalëkalimeve: programi u përpoq të hyjë në sistem, vazhdimisht trajtoi fjalëkalimet nga lista e saj e brendshme e disa qindra, dhe në një proporcion të rëndësishëm ajo arriti të bënte atë. Fantazi e një personi për të shpikur fjalëkalimet ishte shumë e dobët. Kjo është arsyeja pse në ato organizata ku siguria paguhet në vëmendjen e duhur, fjalëkalimet gjenerojnë dhe shpërndan administratorin e sistemit për përdoruesit. Zhvillimi i fjalëkalimeve është paksa i komplikuar sesa zhvillimi i çelësave, pasi që gamat binar "të papërpunuara" duhet të konvertohen në një formë simboli, dhe jo vetëm "prerë" në copa. Përveç kësaj, vlerat individuale mund të duhet të hiqen për të siguruar probabilitet të barabartë të paraqitjes së të gjitha karaktereve të alfabetit në fjalëkalim.
  • Një mënyrë tjetër për të përdorur gamën kriptografike është e garantuar për të forcuar të dhënat për mediat magnetike. Fakti është se edhe kur të mbivendosni informacion mbi bartësin magnetik, gjurmët e të dhënave të mëparshme mbeten, të cilat mund të rivendosin ekzaminimin përkatës. Për të shkatërruar këto gjurmë, ky mbishkrim duhet të kryhet në mënyrë të përsëritur. Doli se do të ishte e nevojshme të mbishkruajë informacion mbi bartësin më pak herë nëse me një procedurë të tillë për të përdorur të dhëna të rastësishme ose pseudo-të rastësishme, të cilat do të mbeten ekspertë të panjohur duke u përpjekur të rivendosin informacionin e nxehtë. Gamma shifra këtu do të jetë po aq e pamundur.

2. Jo vetëm gama kriptografike, por edhe vetë transformimi kriptografik, mund të përdoret për nevojat që nuk lidhen drejtpërdrejt me encryption:

  • Ne e dimë se një nga këto opsione për përdorimin e GOST është zhvillimi i imitavas për vargjet e të dhënave. Megjithatë, në bazë të çdo shifre bllokimi, dhe GOST duke përfshirë, është mjaft e lehtë për të ndërtuar një skemë për llogaritjen e një funksioni hash me një drejtim, i quajtur edhe MDC në literaturë, e cila në burime të ndryshme është deshifruar kodi i zbulimit të ndryshimeve / manipulime (M.njoftim / M.autorizim D.ection. C.ode) ose mesazhi i Digest (M.essage. D.iGEST. C.ode). Dekodimi i parë u shfaq në literaturë shumë më herët, e dyta, më e shkurtër, mendoj, doli me ata që nuk ishin në gjendje të kujtojnë të parën :) - ishte një shaka. MDC mund të përdoret drejtpërdrejt në sistemet e imituara si një analog i imitavintage, jo, megjithatë, nga çelësi sekret. Përveç kësaj, MDC është përdorur gjerësisht në skemat e nënshkrimit elektronik-digjital (EDS), sepse shumica e këtyre skemave janë të dizajnuara në mënyrë të tillë që të nënshkruajë një bllok të përshtatshëm të të dhënave me madhësi fikse. Siç dihet mirë, standardi i Federatës Ruse për llogaritjen e funksionit të njëanshëm Hash GOST P34.11-94 është ndërtuar në bazë të standardit GOST 28147-89.
  • Është më pak e njohur se në bazë të çdo shifre bllokimi, dhe GOST duke përfshirë, një skemë e EDS-së plotësisht funksionale mund të ndërtohet, me një nënshkrim të fshehtë dhe një kombinim të inspektimit të hapur. Për një numër arsyesh, kjo skemë nuk ka marrë shpërndarje praktike të përhapur, por në disa raste ajo ende konsiderohet si një alternativë shumë tërheqëse ndaj skemave dominuese "matematikore" të eds.

Letërsi

Sistemet e përpunimit të informacionit. Mbrojtje kriptografike. Algoritmi për transformimin kriptografike GOST 28147-89. Shtet Com. BRSS Sipas standardeve, M., 1989. ftp://ftp.wtc-aral.ru/pub/en.crypt/gost-28147
Shannon Claude. Teoria matematikore e sistemeve sekrete. Në mbledhjen e "punës në teorinë e informacionit dhe kibernetikës", M., IL, 1963, f. 333-369. http://www.enlight.ru/crypto/articles/shannon/shann__i.htm.
Njoftimi i Miratimit të Standardit Federal të Përpunimit të Informacionit (FIPS) 197, Standardi i Energjisë së Avancuar (AES), Regjistri Federal Vol. 66, Nr. 235 / E enjte, 6 dhjetor 2001 / Njoftime, PP 63369-63371. http://csrc.nist.gov/encryption/aes/
Fayastel Horst. Kriptografi dhe siguri kompjuterike. Përkthimi i A. Rinokuburov nga Horst Feistel. Cryptography dhe Privacy kompjuterike, shkencore amerikane, maj 1973, Vol. 228, Nr. 5, pp. 15-23. http://www.enlight.ru/crypto/articles/feistel/feist_i.htm.
Schnayer Bruce. Kriptografia e aplikuar. 2 ed. Protokollet, algoritmet dhe tekstet burimore në gjuhën C., M., "Triumph", 2002 http://www.ssl.stu.neva.ru/psw/crypto/appl_rus/appl_cryp.htm
Menezes Alfred, Van Oorschot Paul, Vanstone Scott. Doracaku i kriptografisë së aplikuar. Ttp: //www.cacr.math.uwaterloo.ca/hac/
Vinokurov Andrey. Si është shifra e bllokut? Dorëshkrim. http://www.enlight.ru/crypto/articles/vinokurov/blyph_i.htm.
Vinokurov Andrey. Çështjet e kriptografisë për emailin online të infused bytes. http://www.enlight.ru/crypto/articles/ib/ib.htm.
Andrey Vinokurov, Eduard aplikohet. Teksti i raportit "Për zbatimin e softuerit të standardeve të encryption të Federatës Ruse dhe Shteteve të Bashkuara", Konferenca për Informatizimin, Moskën, Mephi, 28-29 janar 2001. Botuar në materialet e konferencës.
Teknologjia e informacionit. Mbrojtja e informacionit kriptografik. Funksioni i çelikut GOST R34.11-94, Gosstandart RF, M., 1994.

Përshkrimi i shkurtër shifër

GOST 28147-89 - Standardi sovjetik dhe rus i enkriptimit simetrik të prezantuar në vitin 1990, është gjithashtu standardi i CIS. Emri i plotë - "GOST 28147-89 Sistemi i përpunimit të informacionit. Mbrojtje kriptografike. Algoritmi i transformimit kriptografik. " Bllokoj algoritmin e shifrës. Kur përdorni metodën e encryption me gamming, mund të kryejë një rrjedhë të një algoritëm të rrjedhës së rrjedhjes.

GOST 28147-89 - bllokoni shifër me një çelës 256-bit dhe 32 cikle konvertimi që operojnë me blloqe 64-bit. Baza e algoritmit të shifrës është një zinxhir i faistelit. Modaliteti themelor i encryption sipas GOST 28147-89 është një regjim i thjeshtë i zëvendësimit (modes më komplekse gamming, gammimi i reagimeve dhe modaliteti imitava).

Parimi i funksionimit të algoritmit

Algoritmi nuk është krejtësisht i ndryshëm nga des. Gjithashtu ndodh në ciklet e enkriptimit (prandaj 32) sipas skemës së Faistelit (Fig. 2.9.).

Fik. 2.9. Rounds Encryption Algoritmi GOST 28147-89.

Për të gjeneruar një prizë, çelësi i burimit 256-bit është i ndarë në tetë blloqe 32-bit: K 1 ... k 8. Keys K 9 ... k 24 janë përsëritje ciklike të çelësave K 1 ... k 8 (numrat nga bits rinj për pleq). Keys k 25 ... k 32 janë çelësat k 1 ... k 8, duke shkuar prapa në mënyrë të kundërt.

Pas kryerjes së të gjitha 32 raundeve të algoritmit, blloqet A33 dhe B 33 janë ngjitur së bashku (vëmendja duhet t'i kushtohet faktit se bit më i vjetër bëhet një 33, dhe më i riu-b 33) - rezultati është rezultat i funksionimin e algoritmit.

Funksion f.(A. i. ,K. i.) Llogarit si më poshtë: A I dhe K Unë jam i palosur me modulin 2 32, atëherë rezultati është i ndarë në tetë nënçmimet 4-bit, secila prej të cilave hyn në hyrjen e saj zëvendësimi i tryezës së nyjeve (në mënyrë që të rritet diferenca e bit), e quajtur më poshtë Bllok. Numri i përgjithshëm i blloqeve S-Gost - tetë, i.e., po aq sa edhe nënqira. Të gjithë Bllok Kjo është një ndryshim i numrave nga 0 në 15. Pasardhjen e parë 4-bit bie në kontributin e bllokut të parë, i dyti - në hyrjen e dytë, etj. Produktet e të gjitha tetë blloqeve janë të kombinuara në një 32-bit fjalë, atëherë fjala është zhvendosur ciklikisht majtas (për shkarkimin e lartë) me 11 bit. Të gjitha tetë blloqet mund të jenë të ndryshme. Në fakt, ato mund të jenë një material shtesë kyç, por janë më shpesh një parametër skeme për një grup të caktuar të përdoruesve. Teksti standard tregon se furnizimi i plotësimit të nyjeve zëvendësuese (S-blloqet) kryhet në mënyrën e përshkruar, dmth. Zhvilluesi i algoritmit. Komuniteti i zhvilluesve të Rusisë SKU koordinon nyjet e zëvendësimit të përdorura në internet.

Decryption kryhet në të njëjtën mënyrë si encryption, por rendi i lidhjes k unë është i përmbysur.

Modalitetet e Operacionit Algoritmi GOST 28147-89

Algoritmi GOST 28147-89 ka katër mënyra të funksionimit.

1. Modëzëvendësim i thjeshtë Merr të dhënat e hyrjes, madhësia e të cilave është shkurtuar se 64 bit. Rezultati i enkriptimit është teksti i inputit i konvertuar nga 64 bit në rastin e encryption nga cikli "32-s", dhe në rastin e decryption - cikli "32-p".

2. Modëhamming merr të dhënat e hyrjes për çdo madhësi, si dhe një parametër shtesë prej 64-bit - sinkronizim. Gjatë punës, sinkronizmi konvertohet në ciklin "32-s", rezultati është i ndarë në dy pjesë. Pjesa e parë formohet nga Moduli 2 32 me një vlerë konstante prej 1010101 16. Nëse pjesa e dytë është 2 32 -1, atëherë vlera e saj nuk ndryshon, përndryshe ajo konsiston në modulin 2 32 -1 me një vlerë konstante prej 1010104 16. Vlera e fituar nga kombinimi i të dy pjesëve të transformuara, të quajtura Ciper Gamma, hyn në ciklin "32-s", rezultati i saj është i palosur shkurt nga moduli 2 me një bllok hyrje 64-bit. Nëse ky i fundit është më pak se 64 shifra, atëherë shkarkimet shtesë të vlerës së marrë janë hedhur poshtë. Vlera rezultuese furnizohet me prodhimin. Nëse ka më shumë të dhëna hyrëse, veprimi përsëritet: Njësia konvertohet nga pjesët e 32-bit në pjesë e kështu me radhë.

3. Modëreagime gamming Gjithashtu merr të dhënat e hyrjes për çdo madhësi dhe sincopower. Njësia e të dhënave të hyrjes është e palosur në modulin 2 me rezultatin e konvertimit në ciklin "32-з" të synkopyers. Vlera rezultuese furnizohet me prodhimin. Vlera e sinkronizimit është zëvendësuar në rastin e encryption nga njësia e prodhimit, dhe në rastin e decryption - input, që është, koduar. Nëse blloku i fundit i të dhënave hyrëse është më pak se 64 shkarkime, atëherë dimensionet shtesë të gamës (prodhimi i ciklit "32-s") është hedhur poshtë. Nëse ka më shumë të dhëna hyrëse, veprimi përsëritet: nga rezultatet e encryption të vlerës së zëvendësuar, është formuar Gamma e shifrës etj.

4. Modaliteti i Zhvillimiti imitovka Merr të dhënat e hyrjes, madhësia e të cilave është së paku dy blloqe të plota 64-bit dhe kthen një bllok të të dhënave 64-bit, të quajtur Imitavka. Vlera e përkohshme 64-bit është vendosur në 0, në tekstin e mëtejmë, ndërkohë që ka të dhëna të dhëna, është palosur në modulin 2 me rezultatin e ekzekutimit të ciklit "16-s", blloku i hyrjes i jepet inputit. Pas përfundimit të të dhënave të hyrjes, vlera e përkohshme kthehet si rezultat.

Cryptoanalysis shifër

Cipher Gost 28147-89 përdor një çelës 256-bit dhe madhësia e hapësirës kryesore është 2 256. Asnjë nga aplikacionet e përgjithshme aktuale nuk zgjedh një çelës gjatë kohës më pak se qindra vjet. Standardi rus i GOST 28147-89 u hartua me një diferencë të madhe dhe për rezistencë ndaj shumë urdhrave të madhësisë tejkalon standardin amerikan DES me madhësinë e saj të vërtetë të 56 bit dhe një hapësirë \u200b\u200bkyçe prej vetëm 2 56.

Ka sulme dhe Gost 28147-89 me afat të plotë pa asnjë modifikim. Një nga veprat e para të hapura në të cilat është kryer analiza e algoritmit, përdor dobësi për të zgjeruar çelësin për një numër algoritmesh të njohura të enkriptimit. Në veçanti, algoritmi i plotë i GOST 28147-89 mund të hapet duke përdorur kriptanalizë diferenciale në çelësat e lidhur, por vetëm në rastin e përdorimit të tabelave të dobëta të zëvendësimit. Versioni 24-raund i algoritmit (në të cilin mungojnë 8 raundet e para) hapet në mënyrë të ngjashme me tabelat e zëvendësimit, megjithatë, tavolina të forta zëvendësuese e bëjnë një sulm të tillë është absolutisht jopraktik.

Shkencëtarët vendas A.G. Rostovtsev dhe E.B. Në vitin 2001, Makhovenko propozoi një metodë krejtësisht të re të kriptanalizës duke formuar një funksion të synuar nga një tekst i njohur i hapur që korrespondon me Ciphertextin dhe vlerën kryesore të dëshiruar dhe gjetjen e ekstremit të saj që korrespondon me vlerën e vërtetë kryesore. Ata gjithashtu gjetën një klasë të madhe të çelësave të dobët të algoritmit të GOST 28147-89, të cilat ju lejojnë të hapni algoritmin me ndihmën e vetëm 4 teksteve të hapura të hapura dhe të korrespondoni me shifrat me një kompleksitet mjaft të ulët.

Në vitin 2004, një grup specialistësh nga Koreja propozoi një sulm me të cilin, duke përdorur kriptoanalizën diferenciale në çelësat e lidhur, është e mundur për të marrë një probabilitet prej 91.7% 12 bit të çelësit të fshehtë. Për sulmin ju duhet 2 35 tekste të hapura të hapura dhe 2 36 operacione encryption. Siç mund të shihet, ky sulm është praktikisht i padobishëm për autopsinë e vërtetë të algoritmit.

Tabela e zëvendësimit është një element kyç afatgjatë, domethënë, vepron mbi një periudhë shumë më të gjatë sesa një çelës i veçantë. Supozohet se është e zakonshme për të gjitha vendet e enkriptimit brenda një sistemi mbrojtës kriptografik. Cilësia e shifrës varet nga cilësia e kësaj tabele. Kur tabela e zëvendësimit "të fortë", qëndrueshmëria e shifrës nuk bie nën një kufi të lejuar edhe në rast të zbulimit të saj. Anasjelltas, përdorimi i një tabele "të dobët" mund të zvogëlojë rezistencën e shifrës në një kufi të papranueshëm të ulët. Asnjë informacion mbi cilësinë e tabelës së zëvendësimit nuk është publikuar, megjithatë, ekzistenca e tabelave "të dobëta" nuk shkakton dyshime - një shembull është tabela e zëvendësimit "e parëndësishme", sipas të cilit çdo vlerë zëvendësohet me të vetë. Në një numër letrash, është konstatuar gabimisht se tabelat sekrete të algoritmit të zëvendësimit GOST 28147-89 mund të jenë pjesë e çelësit dhe të rrisin gjatësinë e saj efektive (e cila është e parëndësishme, pasi algoritmi ka një çelës shumë të madh 256-bit).