CRYPTON

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 6. kesäkuuta 2015 tarkistetusta versiosta . tarkastukset vaativat 27 muokkausta .
CRYPTON
Luoja Che Hong Lim (Future Systems, Inc.)
Luotu 1998_ _
julkaistu 1998 - 1999
Avaimen koko 128, 192, 256 bittiä
Lohkon koko 128 bittinen
Kierrosten lukumäärä 12
Tyyppi Korvaus-permutaatioverkko

CRYPTON  on symmetrinen lohkosalausalgoritmi ( lohkokoko 128 bittiä, avain enintään 256 bittiä), jonka on  kehittänyt eteläkorealainen kryptologi Chae Hoon Lim eteläkorealaisesta Future Systems -yhtiöstä , joka on toiminut verkon tietoturvamarkkinoilla viime aikoina. 1980-luku ja tietoturva. Algoritmi kehitettiin vuonna 1998 AES -salauksena . Kuten kirjoittaja myönsi, algoritmin suunnittelu perustuu SQUARE -algoritmiin .

Crypton-algoritmi ei sisällä perinteisiä Feistel-verkkoja lohkosalauksille . Tämän salauksen perustana on ns. SP-verkko (korvausten-permutaatioiden toistuva syklinen funktio , joka keskittyy koko tietolohkon rinnakkaismuotoiseen epälineaariseen käsittelyyn [1] ). Suuren nopeuden lisäksi tällaisten algoritmien edut helpottavat salauksen kestävyyden tutkimista differentiaalisen ja lineaarisen krypta -analyysin menetelmiä kohtaan , jotka ovat nykyään päätyökaluja lohkosalausten murtamiseen.

Crypton v0.5 -algoritmin versio lähetettiin alun perin AES-kilpailuun. Kuten Che Hong Lim sanoi, hänellä ei kuitenkaan ollut tarpeeksi aikaa kehittää täysversiota. Ja jo AES-kilpailun ensimmäisessä vaiheessa, algoritmien analysoinnin aikana, Crypton v0.5 -versio korvattiin Crypton v1.0 -versiolla. Ero uuden version ja alkuperäisen välillä oli korvaavien taulukoiden muuttamisessa, avainten laajennusprosessin muuttamisessa.

Algoritmin rakenne. Tärkeimmät ominaisuudet

Kuten muutkin AES-kilpailijat, Crypton on suunniteltu salaamaan 128-bittiset tietolohkot. Salaus käyttää useiden kiinteiden kokojen salausavaimia - 0 - 256 bittiä 8 bitin moninkertaisuudella .

Crypton-algoritmin rakenne - "Square"-rakenne - on monin tavoin samanlainen kuin vuonna 1997 luodun Square-algoritmin rakenne. Tämän rakenteen algoritmien kryptografiset muunnokset voidaan suorittaa sekä taulukon kokonaisille riveille ja sarakkeille että sen yksittäisille tavuille. (On syytä huomata, että Square-algoritmin ovat kehittäneet tulevan AES-kilpailun voittajan kirjoittajat - Rijndael -algoritmin kirjoittajat  - Vincent Raymen ja Joan Dimen .)

Salaus

Crypton-algoritmi edustaa 128-bittistä salattua datalohkoa 4x4-tavuisen taulukon muodossa, jonka yli suoritetaan useita muunnoskierroksia salausprosessin aikana. Jokaisella kierroksella seuraavat toiminnot on tarkoitus suorittaa peräkkäin:

Taulukon vaihto

Crypton-algoritmi käyttää 4 korvaustaulukkoa. Jokainen niistä korvaa 8-bittisen tuloarvon samankokoisella lähdöllä.

Kaikki taulukot on johdettu päätaulukosta (katso kuva - johdettujen korvaustaulukoiden laskenta).

Alla on esimerkki taulukoista:

Taulukko :
63 ec 59 aa db 8e 66 c0 37 3c neljätoista ff 13 44 a9 91
3b 78 8d ef c2 2a f0 d7 61 9e a5 eKr 48 viisitoista 12 47
toim 42 1a 33 38 c8 17 90 a6 d5 5d 65 6a esim 8f a1
93 c2 2f 0c 68 58 df f4 45 yksitoista a0 a7 22 96 fb 7d
1d b4 84 e0 bf 57 e9 0a 4e 83 cc 7a 71 39 c7 32
74 3d de viisikymmentä 85 06 6f 53 e8 ilmoitus 82 19 e1 ba 36 cb
0e 28 f3 9b 4a 62 94 1f bd f6 67 41 d8 d1 2d a4
86 b7 01 c5 b0 75 02 f9 2c 29 6e d2 f5 8b fc 5a
e4 7f dd 07 55 b1 2b 89 72 kahdeksantoista 3a 4c b6 e3 80 ce
49 vrt 6b b9 f2 0d DC 64 95 46 f7 kymmenen 9a kaksikymmentä a2 3f
d6 87 70 3e 21 fd 4d 7b 3c ae 09 8a 04 b3 54 f8
kolmekymmentä 00 56 d4 e7 25 bb ac 98 73 ea c9 9d 4f 7e 03
ab 92 a8 43 0f fa 24 5c 1e 60 31 97 CD c6 79 f5
5e e5 34 76 1c 81 b2 af 0b 5d d9 e2 27 6d d0 88
c1 51 e6 9c 77 olla 99 23 da eb 52 2e b5 08 05 6c
b8 1b a3 69 8c d3 40 26 f1 c4 9f 35 ee 7c 4b 16
Pöytä
8d b3 65 aa 6f 3a 99 03 DC f0 viisikymmentä ff 4c yksitoista a6 46
ec e1 36 bf 0b a8 c3 5f 85 7a 96 f2 21 54 48 1d
b7 09 68 cc e0 23 5c 42 9a 57 75 95 a9 fb 3e 86
4e 2b eKr kolmekymmentä a1 61 7f d3 viisitoista 44 82 9e 88 5a ef f5
74 d2 12 83 esim 5d a7 28 39 0e 33 e9 c5 e4 1f c8
d1 f4 7b 41 16 kahdeksantoista bd 4d a3 b6 0a 64 87 ea d8 2f
38 a0 vrt 6e 29 89 52 7c f6 db 9d 05 63 47 b4 92
1a de 04 17 c2 d5 08 e7 b0 a4 b9 4b 7d 2e f3 69
93 fd 77 1c 55 c6 ac 26 c9 60 e8 31 da 8f 02 3b
25 3f ilmoitus e6 cb 34 73 91 56 19 df 40 6a 80 8a fc
5b 1e c1 f8 84 f7 35 toim 0f ba 24 2a kymmenen ce 51 e3
c0 00 59 53 9f 94 ee b2 62 CD ab 27 76 3d f9 0c
ae 4a a2 0d 3c eb 90 71 78 81 c4 5e 37 1b e5 d7
79 97 d0 d9 70 06 noin olla 2c 6d 67 8b 9c b5 43 22
07 45 9b 72 dd fa 66 8c 6b af 49 b8 d6 kaksikymmentä neljätoista b1
e2 6c 8e a5 32 4f 01 98 c7 13 7e d4 bb f1 2d 58
Pöytä
b1 72 76 bf ac ee 55 83 toim aa 47 d8 33 95 60 c4
9b 39 1e 0c 0a 1d ff 26 89 5b 22 f1 d4 40 c8 67
9d a4 3c e7 c6 b5 f7 DC 61 79 viisitoista 86 78 6e eb 32
b0 noin 4f 23 d2 fb 5e 08 24 4d 8a kymmenen 09 51 a3 9f
f6 6b 21 c3 0d 38 99 1f 1c 90 64 esim 8b a6 48 bd
53 e1 ea 57 ae 84 b2 45 35 02 7f d9 c7 2a d0 7c
c9 kahdeksantoista 65 00 97 2b 06 6a 34 f3 2c 92 ef dd 7a 56
a2 c4 88 b9 viisikymmentä 75 d3 e4 yksitoista ce 4b a7 fd 3f olla 81
8e d5 5a 49 42 54 70 a1 df 87 ab 7d f4 12 05 2e
27 0f c1 kolmekymmentä 66 98 3d cb b8 e6 9c 63 e3 eKr 19 fa
3a 2f 9e f2 6f 1a 28 3b c2 0e 03 c0 b7 59 a9 d7
74 85 d6 ilmoitus 41 ec 8c 71 f0 93 5d b6 1b 68 e5 44
07 e0 neljätoista 8a f9 73 CD 4e 25 bb 31 5f 4a cc 8f 91
de 6d 7b f5 b3 29 a0 17 6c da e8 04 96 82 52 36
43 5c db 8d 80 d1 e2 b4 58 46 ba e9 01 kaksikymmentä fc 13
16 f8 94 62 37 vrt 69 9a af 77 c5 3e 7e a5 2d 0b
Taulukko :
b1 f6 8e 07 72 6b d5 e0 76 21 5a neljätoista bf c3 49 a8
ac 0d 42 f9 ee 38 54 73 55 99 70 CD 83 1f a1 4e
toim 1c df 25 aa 90 87 bb 47 64 ab 31 d8 esim 7d 5f
33 8b f4 4a 95 a6 12 cc 60 48 05 8f c4 bd 2e 91
9b 53 27 de 39 e1 0f 6d 1e ea c1 7b 0c 57 kolmekymmentä f5
0a ae 66 b3 1d 84 98 29 ff b2 3d a0 26 45 cb 17
89 35 b8 6c 5b 02 e6 da 22 7f 9c e8 f1 d9 63 04
d4 c7 e3 96 40 2a eKr 82 c8 d0 19 52 67 7c fa 36
9d c9 3a 43 a4 kahdeksantoista 2f 5c 3c 65 9e db e7 00 f2 8d
c6 97 6f 80 b5 2b 1a d1 f7 06 28 e2 DC 6a 3b b4
61 34 c2 58 79 f3 0e 46 viisitoista 2c 03 ba 86 92 c0 e9
78 ef b7 01 6e dd 59 kaksikymmentä eb 7a a9 fc 32 56 d7 13
b0 a2 74 16 noin 4c 85 f8 4f 88 d6 94 23 b9 ilmoitus 62
d2 viisikymmentä 41 37 fb 75 ec vrt 5e d3 8c 69 08 e4 71 9a
24 yksitoista f0 af 4d ce 93 77 8a 4b 5d c5 kymmenen a7 b6 3e
09 fd 1b 7e 51 3f 68 a5 a3 olla e5 2d 9f 81 44 0b

Operaatiota käytetään parillisissa kierroksissa ja parittomissa kierroksissa . Näillä operaatioilla ja korvaustaulukoilla on useita tärkeitä ominaisuuksia, jotka ovat tärkeitä erityisesti salaus- ja salauksenpurkutoimintojen yhdistämisen kannalta . Taulukoiden ja operaatioiden ominaisuudet:

missä  on salatun tietolohkon nykyinen arvo. Toiminnot ja voidaan määritellä seuraavasti:

missä:

  •  - tietyn datatavun nykyinen arvo;
  •  - datatavun arvo toimenpiteen jälkeen;
Lineaarinen muunnos

Tässä käytetään 4 erikoisvakiota , joiden heksadesimaaliarvot on annettu alla:

Nämä vakiot yhdistetään alla lueteltuiksi pakosekvensseiksi :

missä on  ketjutusoperaatio .

Itse operaatio  on hieman permutaatiota. Parittomilla kierroksilla operaatiota käytetään :

missä:

  •  - looginen bittikohtainen operaatio "ja";
  • ja  — käsiteltyjen tietojen i:nnen rivin arvo ennen toimenpidettä ja sen jälkeen.

Tasaisissa kierroksissa operaatiota käytetään :

Itse asiassa tämä toiminto varmistaa, että kunkin sarakkeen jokaisessa tuloksena olevassa tavussa on kaksi bittiä saman sarakkeen kustakin lähdetavusta.

Tavupermutaatio

Tämä permutaatio muuttaa tietorivin sarakkeeksi yksinkertaisimmalla tavalla:

Operaatio

Tämä operaatio on bittikohtainen lisäys koko tietojoukosta pyöreällä avaimella:

jossa:  on salatun datalohkon uusi arvo;  - nykyisen kierroksen avain .

Huomaa, että algoritmin kirjoittaja Che Hong Lima suosittelee 12 salauskierrosta, mutta tiukkaa kierrosten määrää ei ole vahvistettu. 12 salauskierroksen lisäksi ennen algoritmin ensimmäistä kierrosta suoritetaan alustava toimenpide ja 12 kierroksen jälkeen tulosmuunnos, joka koostuu peräkkäisistä toiminnoista ja .

Salauksen purku

Salauksen purku suoritetaan käyttämällä käänteisiä operaatioita käänteisessä järjestyksessä. Kaikki operaatiot, paitsi ja ovat käänteisiä itselleen, ja ne liittyvät itse seuraavien suhteiden avulla:

siksi salakirjoituksessa  , - käytetään parillisilla kierroksilla ja  - parittomilla kierroksilla.

On syytä huomata vielä yksi ominaisuus: jokainen vaihe voidaan suorittaa rinnakkain, mikä on tärkeää, kun se toteutetaan nykyaikaisissa moniytimisissä ja monisäikeisissä järjestelmissä . Algoritmilla on SP-verkkorakenne, kuten Rijndael (joka on AES-kilpailun voittaja) Salauksen ominaisuus on myös se, että samaa menettelyä voidaan käyttää salaamiseen ja salauksen purkamiseen, mutta eri aliavaimilla. Algoritmi on tehokas sekä ohjelmisto- että laitteistototeutuksessa. Salaus on riittävän nopea - AES-kilpailussa se osoitti Borland C -kääntäjällä parhaat tulokset kaikista osallistujista.

Avaimen laajennusmenettely

Crypton-algoritmi vaatii 128-bittisen avaimen jokaiselle kierrokselle sekä 128-bittisen avaimen esioperaatiolle σ. Avaimen laajennus tapahtuu kahdessa vaiheessa:

  1. ensimmäisessä vaiheessa generoidaan kahdeksan laajennettua avainta;
  2. toisessa vaiheessa pyöreät näppäimet lasketaan laajennetuista näppäimistä.

Laajennettu avainten sukupolvi

Laajennetut avaimet luodaan seuraavasti:

  • Jos salausavain on pienempi kuin 256 bittiä, se täytetään nollabiteillä, kunnes se saavuttaa 32-tavuisen alkuperäisen avaimen :
  • Avain K jäsennetään sekvensseiksi ja , joista ensimmäinen sisältää vain avaimen parillisia tavuja, toinen sisältää vain parittomat tavut:
  • Sekvenssejen ja yli suoritetaan yksi Crypton-algoritmin salauskierros käyttämällä pyöreää avainta, joka koostuu nollabitistä. Vastaavasti parittomat pyöreät muunnokset suoritetaan arvolle , ja parilliset pyöreät muunnokset arvolle. Tuloksena olevat sekvenssit merkitään ja .
  • 8 laajennettua avainta lasketaan:

missä ja ovat sekvenssit ,  jotka on määritelty seuraavilla kaavoilla:

Lasketaan pyöreitä avaimia

Laskettaessa laajennetuista avaimista - pyöreistä avaimista käytetään seuraavia vakioita:

Huomaa, että pseudosatunnaisvakiot A54FF53A ja 3C6EF372 saadaan lukujen murto-osista ja vastaavasti.

Ensin lasketaan esioperaation σ ja ensimmäisen kierroksen avaimet:

missä  on pyöreän avaimen i. rivi . Kuten salattujen tietojen kohdalla, avain toimitetaan taulukon muodossa.

Vakiot lasketaan kiertämällä kutakin vakion tavua bitti kerrallaan 1 bitin verran vasemmalle.

Toiselle ja jokaiselle seuraavalle parilliselle kierrokselle avain lasketaan seuraavasti:

  • Neljä ensimmäistä laajennettua näppäintä on muokattu:

missä <<< tarkoittaa laajennetun avaimen jokaisen tavun (erikseen) bittikohtaista kiertoa tietyllä bittimäärällä vasemmalle ja << on koko avaimen bittisuuntaista kiertoa määritetyllä bittimäärällä vasemmalle .

  • Pyöreän avaimen laskeminen muokatuilla laajennetuilla näppäimillä:

Samoin parittomien kierrosten avainten laskenta tapahtuu:

Avaimen laajennusmenettelyn avulla voit luoda pyöreitä avaimia lennossa, toisin sanoen salausprosessissa tarpeen mukaan. Tämä on algoritmin selvä etu, ainakin koska muistia ei tarvita pyöreiden näppäinten tallentamiseen. Salauksen purkamiseen on myös mahdollista suorittaa suora avaimen laajennus ja käyttää saatuja pyöreitä avaimia käänteisessä järjestyksessä.

Turvallisuus

Crypton-algoritmin haitat

Analysoidessaan algoritmin alkuperäistä versiota, Crypton v0.5, kaksi asiantuntijaa löysi itsenäisesti heikkojen avainten luokan: 256-bittisiä avaimia oli 2 teholla. Lisäksi löydettiin hyökkäys Crypton-algoritmin kuuden kierroksen versiota vastaan, joka on samanlainen kuin Square-algoritmin hyökkäys. Tämä oli yksi syy algoritmin uuden version - Crypton v1.0 - syntymiseen.

Crypton-algoritmin edut

NIST -instituutin asiantuntijoiden mukaan edellä mainitut haitat eivät kuitenkaan ole karkeita. Lisäksi algoritmilla oli tarpeeksi etuja:

  1. algoritmi on tehokas ohjelmisto- ja laitteistotasolla suuren rinnakkaisuuden ja erittäin yksinkertaisten ANDS / XORS-logiikkatoimintojen käytön ansiosta;
  2. algoritmi ei ole alttiina suoritusaikaan ja virrankulutukseen kohdistuville hyökkäyksille ;
  3. hyvä vastustuskyky olemassa olevia hyökkäyksiä vastaan;
  4. mahdollisuus rinnastaa toimintoja salausprosessissa;
  5. nopea avainten laajennus, nopea avainten luominen: avainluettelon salaus on paljon nopeampi kuin yhden lohkon salaus, joten se on erittäin tehokas sovelluksissa, jotka vaativat usein avainten vaihtoa (esim. hash-tila).
  6. riittävän suuri nopeus kaikilla kohdealustoilla;
  7. pienet vaatimukset RAM -muistille ja kyky laajentaa avainta lennossa mahdollistavat Crypton-algoritmin käytön älykorteissa minimaalisilla resursseilla;
  8. Algoritmi tukee muita avaimen kokoja kuin kilpailijan asettamat koot (128, 192, 256 bittiä).

Kehittäjä julisti taatun vastustuskyvyn lineaariselle ja differentiaaliselle kryptausanalyysille ja yleensä kaikille kehityshetkellä olemassa oleville hyökkäyksille. Uudistettu avainaikataulu ja uudet S-Box-taulukot poistivat kaikki havaitut puutteet ja haavoittuvuudet .

Integraalinen hyökkäys Crypton-salaukseen (4 kierrosta)

Lohkosymmetrisen salauksen (BSC) Cryptonin turvallisuusanalyysi osoittaa, että 12-kierroksisella itsekorvautuvalla salauksella (samalla koodaus- ja salauksenpurkuprosessilla), jonka lohkon pituus on 128 bittiä ja avaimen pituus jopa 128 bittiä, on hyvä vastus. olemassa oleviin hyökkäyksiin. Integroitu hyökkäys 4-kierrosta Crypton BSS:ää vastaan ​​on paljon tehokkaampi kuin raa'an voiman etsintä koko avaintilassa.

Lyhyt kuvaus salauksesta

Crypton on lohkosalaus. Avaimen pituus ja lohkon pituus ovat 128 bittiä. Neljä muutosta toimivat välituloksella nimeltä tila. Tila voidaan esittää suorakaiteen muotoisena 16 tavun taulukkona:

missä

Merkitään 4-tavuinen sarake nimellä

Kuvitellaan myös salausavain:

missä ja .

Salaus määrittelee Galois-kentän , jonka elementit ovat tavuja. Tavuja käsitellään polynomeina yli

Summaustoiminto  - tavuja lisättäessä vastaavat polynomit lisätään .

Kertolasku - kertomisen aikana vastaavat polynomit kerrotaan ja tuloksena oleva polynomi otetaan modulo yksinkertaisesta polynomista

Algoritmin toiminnan aikana avain laajenee (Key Schedule, Key Expansion). Ensimmäiset 4 saraketta (kukin 4 tavua) ovat alkuperäinen avain . Jokainen seuraava 4 sarakkeen sarja lasketaan edellisestä sarjasta ja sitä käytetään -: nnelle kierrokselle, jota merkitään . Kierros koostuu neljästä erilaisesta alkeismuunnoksesta, jotka muuttavat tilan tilaan  :

  • Tavukorvaus - BS (Byte Substitution): permutaatio tai
  • Rivinsiirto - SR (Shift Rows): tavujen syklinen siirto säännön mukaan:
  • Sarakkeiden sekoitus - MC (Mix Columns: jokaista tilasaraketta muokataan lineaarisella muunnolla

Toisin sanoen tämä ei ole muuta kuin sarakkeiden kertomista vasemmalla olevalla matriisilla:

Operaatio on palautuva:

  • Pyöreän avaimen lisääminen - KA (Key Addition): pyöreä avain lisätään nykyiseen tilaan.

Viimeinen kierros ei sisällä MC-operaatiota. Kaavat, jotka yhdistävät tilat ja :

; ; Algoritmi integraalin hyökkäyksen toteuttamiseksi

Integroitu hyökkäys perustuu hyökkääjän mahdollisuuteen valita vapaasti tietyt selkeät tekstit myöhempää salausta varten. Se on tehokkaampaa kuin tyhjentävä luettelointi koko avainavaruudessa.

Esittelemme määritelmät.

 — joukko 256 syöttölohkoa (State array), joista jokaisessa on tavuja (kutsutaanko niitä aktiivisiksi), joiden arvot ovat erilaiset kaikille 256 lohkolle. Loput tavut (passiiviset) pysyvät samoina kaikille 256 lohkolle -joukosta. Eli mille tahansa, jos tavu indeksillä (i, j) on aktiivinen ja muuten .

 - ck aktiivisia tavuja.  on joukko tiloja kierroksen r lopussa.


-pakki. Alkeismuunnosten BS ja KA jälkeen -set-lohkot johtavat toiseen -sarjaan, jossa aktiiviset tavut ovat samoissa paikoissa kuin alkuperäinen. SR-muunnos siirtää näitä tavuja siinä määritettyjen siirtymien mukaan. Muunnoksen jälkeen MC -joukko ei välttämättä jää yleisessä tapauksessa -joukoksi (operaation tulos ei välttämättä enää täytä -joukon määritelmää). Koska jokainen MC-tuloksen tavu on saman sarakkeen neljän tulotavun lineaarinen yhdistelmä (käänteisillä kertoimilla), sarake , jonka tulossa on yksi aktiivinen tavu, johtaa sarakkeeseen, jossa on kaikki neljä aktiivista tavua lähdössä.

Harkitse -set-salausta. Vain yksi tavu on aktiivinen kaikissa lohkoissa. Tämän tavun arvo on erilainen kaikissa 256 lohkossa, ja loput tavut ovat samoja. Ensimmäisellä kierroksella MC-muunnos muuntaa yhden aktiivisen tavun 4 aktiivisen tavun sarakkeeksi, eli on . Toisella kierroksella nämä 4 tavua menevät 4 eri sarakkeeseen muunnoksen SR, on -set seurauksena. Seuraavan, kolmannen kierroksen MC-muunnos muuttaa nämä tavut 4 sarakkeeksi, jotka sisältävät aktiiviset tavut. Tämä sarja on edelleen -setti, kunnes se tulee kolmannen kierroksen MC-tuloon.

Joukon pääominaisuus on kaikkien samoissa paikoissa joukossa olevien tavujen bittikohtainen summa modulo 2 ( ) on yhtä suuri kuin nolla (ei-aktiivisten (samoilla arvoilla) tavujen bittikohtainen summa on nolla " " operaatio ja aktiiviset tavut, jotka kulkevat kaikkien 256 arvon läpi, myös bittikohtaisella summauksella ne antavat nollan)

Tulotietotaulukon tavujen kolmannella kierroksella MC-muunnoksen tulos ulostulodatataulukon tavuiksi  on tulosjoukon kaikkien lohkojen bittikohtainen summa nolla:

Siten on olemassa . Syötetietojen kokonaissumma on nolla. Tätä tasa-arvoa rikkoo myöhempi BS-muunnos.

Avain on yksilöllisesti määritelty R-esityksessä:

Hyökkäyksen toteuttamiseen tarvitaan 256 tilasta koostuva sarja. Joukko saadaan käyttämällä 2 käänteistä muunnosta SR ja MC salaussyötteestä .

Kaavio integraalista perushyökkäyksestä 4-kierrosta kryptonia vastaan:

Kaikille

varten

jos ,

sitten

Tässä mallissa 4. kierros käännetään askel askeleelta, jotta saadaan tavuja , joiden kokonaissumma on 0. Kun summa

Jos avaintavun odotettu arvo oli oikea, se sisällytetään mahdollisiin valintoihin paikalla . Suurin osa huonoista tavuarvoista karsitaan pois. Koska haku voidaan suorittaa erikseen (rinnakkain) jokaiselle avaimen tavulle, pyöreän avaimen koko arvon valintanopeus on erittäin korkea. Edelleen arvon mukaan löydät , ja sitten ja  - alkuperäisen avaimen.

AES-kilpailu

Ensimmäiset askeleet kohti salausstandardien muuttamista olivat AES-kilpailun luominen. Se oli avoin kilpailu, jonka järjesti US Institute of Standards and Technology - NIST (National Institute of Standard and Technology). Tämän kilpailun voittaja oli Yhdysvaltain uusi salausstandardi. Kilpailuun voivat osallistua yksityishenkilöt, yritykset sekä Yhdysvalloissa että sen ulkopuolella.

Ensisijaiset vaatimukset:

  1. 128 bittiä - salatun tiedon lohkon koko.
  2. Algoritmin on tuettava kolmea tai useampaa avainkokoa (128, 256, 192 - bitit ovat pakollisia avainkokoja kilpailussa).

Huolimatta pienestä määrästä algoritmeja koskevia vaatimuksia, toiveita oli kuitenkin monia:

  1. algoritmin on kestettävä kilpailuhetkellä tunnettuja kryptanalyyttisiä hyökkäyksiä;
  2. algoritmin rakenteen tulee olla selkeä, yksinkertainen ja perusteltu;
  3. ei saa olla heikkoja ja vastaavia avaimia;
  4. tietojen salausnopeuden tulisi olla korkea kaikilla mahdollisilla laitteistoalustoilla 8–64 bittiä.
  5. Algoritmin rakenteen tulisi mahdollistaa toimintojen rinnastaminen moniprosessorijärjestelmissä ja laitteistototeutuksissa.
  6. Algoritmin on asetettava vähimmäisvaatimukset toiminnalliselle ja haihtumattomalle muistille.
  7. algoritmien käyttöä ei pitäisi rajoittaa.

Huomaa, että AES-kilpailun osallistujat saivat tehdä kilpailun aikana muutoksia algoritmeihin, jos ne olivat pieniä muutoksia. Crypton-algoritmille uutta versiota toimittaessaan tuomaristo piti muutoksia merkittävinä, koska ne koskivat korvaustaulukkoa, avaimen laajennusmenettelyä. Tämän seurauksena Crypton v0.5 -versio osallistui kilpailuun.

Ilmeisten haittojen puuttuminen ja etujen läsnäolo Crypton-algoritmissa eivät silti antaneet sille mahdollisuuden päästä AES-kilpailun finaaliin. Syynä tähän oli kahden algoritmin osallistuminen kilpailuun: Rijndael ja Twofish . Näillä algoritmeilla ei ollut Crypton-algoritmin heikkoja avainongelmia. Lisäksi ne olivat nopeampia kuin Crypton kohdealustoilla. Päätettiin, että jatkossa Crypton häviää näille algoritmeille joka tapauksessa, joten kilpailun asiantuntijat eivät päässeet Cryptonia finaaliin. (Rijndael on kilpailun tuleva voittaja).

Crypton-algoritmin versiot

Kilpailuun osallistui algoritmin ensisijainen versio, joka sai jonkin ajan kuluttua indeksin 0,5. Jonkin ajan kuluttua ehdotettiin useita muita versioita, joista viimeisin oli versio 1.0, jossa oli tarkistettu avainaikataulu ja uudet hakutaulukot.

Muistiinpanot

  1. Bukharov O.E., Bogolyubov D.P. Geneettisiin algoritmeihin ja hermoverkkoihin perustuva rinnakkainen itseoppivan päätöksen tukijärjestelmä  (venäjä)  // Järjestelmänvalvoja. - 2014. - Nro Numero 9 (142) . Arkistoitu alkuperäisestä 28. tammikuuta 2021.

Kirjallisuus

  • Chae Hoon Lim. CRYPTON: uusi 128-bittinen Block Cipher-Specification and Analysis. - 1998. - doi : 10.1.1.52.5771 .
  • Salausalgoritmit. Erikoishakemisto / Tekijä: Sergey Petrovich Panasenko / Kustantaja: "BHV-St. Petersburg", 2009

Linkit