HPC (salaus)

HPC ( Hasty Pudding Cipher ) on lohkosymmetrinen salausalgoritmi , jonka loi kuuluisa amerikkalainen kryptologi ja matemaatikko Richard SchreppelArizona State Universitystä vuonna 1998 . Kryptoalgoritmin nimen kaksi ensimmäistä sanaa voidaan kääntää "jauhoinen vaniljakastike " . HPC sai niin oudon nimen ilmeisesti "ovelien" numeeristen muunnosten runsauden vuoksi, mikä vaikeuttaa merkittävästi sen analysointia .

Yleinen rakenne

HPC perustuu Feistel-soluun ja siinä on mielenkiintoinen ominaisuus - sekä salatun lohkon että salausavaimen kokoa ei rajoita mikään. Itse asiassa HPC-algoritmi koostuu viidestä erilaisesta (mutta toisiinsa liittyvästä) alialgoritmista, joista jokainen on suunniteltu salaamaan eripituisia lohkoja:

Nimi Lohkon koko bitteinä
HPC Tiny 0-35
HPC lyhyt 36-64
HPC Medium 65-128
HPC pitkä 129-512
HPC Extended 513 ja enemmän

HPC-Medium-kierroksen rakenne [1] [2]

Salaus suoritetaan 8 kierroksella. Salattu 128 - bittinen lohko kirjoitetaan kahteen 64 - bittiseen rekisteriin , jonka jälkeen niille suoritetaan valtava määrä erilaisia ​​matemaattisia operaatioita:

Nimitys Operaatio
  modulo 2 lisäys
modulo lisäys
modulo-vähennys
kiertää vasemmalle n bittiä
Kierrä oikealle n bittiä
nollataan 64 - bittisen lohkon alhainen tavu
bittain looginen "ja"

Lisäksi eräät vakiot osallistuvat myös kierrokseen :

Kun 8 muunnoskierrosta on suoritettu, suoritetaan vielä 2 toimintoa:

Salauksen purku suoritetaan suorittamalla käänteiset toiminnot käänteisessä järjestyksessä.

Avaimen laajennusmenettely

Avaimen laajennusproseduurin tehtävänä on luoda laajennettu avain , joka on 256 64 - bittisen sanan joukko . On selvää, että jokaisella aligoritmilla on oltava oma menettelynsä. Yhden laajennetun avaintaulukon tunteminen ei salli muiden taulukoiden tai itse salausavaimen laskemista . Kuitenkin, kun salattujen lohkojen koko on kiinteä, riittää, että generoidaan laajennettu avain kerran tälle aligoritmille.

Vaihe 1: Alustus

Avaimen loput 253 sanaa alustetaan seuraavasti:

Vaihe 2: Lisäys

Suoritetaan salausavaimen ja alustetun laajennetun avaintaulukon bittikohtainen modulo 2 -lisäys , mutta enintään 128 sanaa.

Vaihe 3: Sekoitus

Laajennetun avaimen datan sekoitustoiminto suoritetaan , mikä varmistaa, että avaimen jokainen bitti vaikuttaa laajennetun avaimen jokaiseen bittiin :

Vaihe 1

Rekisterejä alustetaan :

Vaihe 2

Jokaiselle laajennetun avaimen sanalle suoritetaan kuvassa näkyvä toiminto. Vaikutuksen parantamiseksi algoritmin kirjoittaja suosittelee 3 sekoituskierrosta.

Vaihe 4: Lisääminen

Jos avaimen koko ylittää 128 64 - bittistä sanaa, vaiheet 2 ja 3 toistetaan jokaiselle 128 sanan lohkolle. Näin ollen avainten sekoitusmenettely monimutkaisuusjärjestyksessä on suunnilleen samanlainen kuin itse salausmenettely .

Lisäavain

Sen tarkoituksena on muokata salaustulosta samoilla syöttölohkoilla ja avaimilla . Lisäavain voi olla salainen, mikä kasvattaa todellista avaininformaation määrää, mutta rajoittamattoman avaimenpituuden omaavassa algoritmissa tämä mahdollisuus voi olla tarpeeton. Tällaisissa tapauksissa voit yksinkertaisesti nollata lisäavaimen .

Edut ja haitat

  1. HPC-algoritmin yksi salauskierros koostuu erittäin suuresta määrästä perusoperaatioita. Verrattuna esimerkiksi kotimaiseen algoritmiin GOST 28147-89 , joka koostuu vain neljästä perusoperaatiosta, HPC näyttää erittäin monimutkaiselta ja hankalalta. Kuitenkin, koska kaikki toiminnot suoritetaan 64- bittisillä sanoilla, HPC osoitti yllättävän suurta nopeutta 64 - bittisillä alustoilla. AES - salausstandardikilpailussa HPC oli 128-bittisten lohkojen salausnopeudella toisella sijalla DFC - algoritmin jälkeen ja HPC salasi 512- ja 1024- bittiset lohkot 2-3 kertaa nopeammin kuin kaikki kilpailijansa.
  2. Algoritmin ilmeisiä haittoja ovat monimutkaisuuden lisäksi mahdottomuus rinnastaa salaus- ja sekoitusprosesseja sekä algoritmin asettamat valtavat vaatimukset haihtumattomalle ja hajasaantimuistille, mikä vaikeuttaa sen käyttöä. se älykorteissa .
  3. Algoritmi ei päässyt AES :n toiseen vaiheeseen . Artikkelissaan [4] kirjoittaja moitti AES -asiantuntijoita uskoen, että kilpailun prioriteetit oli asetettu väärin. Richard Schreppelin mukaan on välttämätöntä valita 64 - bittisille alustoille sovitetut algoritmit maailmanstandardiksi, koska tulevaisuus on niissä. Lisäksi HPC:n kirjoittaja väitti, että on mahdotonta kehittää algoritmia, joka toimii yhtä hyvin sekä tehokkailla moniytimisillä 64- bittisillä palvelimilla että heikoilla ja halvoilla 8 - bittisillä älykorteilla . Tämä asema ei kuitenkaan vaikuttanut kilpailun tuloksiin.

Cryptanalysis

  • Herättääkseen kiinnostusta keksintönsä kryptausanalyysiin kirjailija sitoutui palkitsemaan jokaisen kryptanalyytikon pullolla kuuluisaa Dom Pérignon -samppanjaa . Palkinnot pidetään kunnes koodi avataan tai kunnes laatikko (10 pulloa) on tyhjä. [5]
  • Salauksen kirjoittajan mukaan HPC:n suojaustaso on 400 bittiä , eli onnistunut salaushyökkäys vaatii testauksen. Tällainen lausunto perustuu salausprosessin välitilojen lukumäärän laskemiseen sekä laajennetun avaimen kokoon [6] .

Haavoittuvuudet

David Wagner HPC- salauksessa [7] ja myöhemmin Carl D'Halluin, Gert Bijnens, Bart Presnel ja Vincent Rayman julkaisivat tämän vahvistavan paperin [8] . Kävi ilmi, että suunnilleen joka 256. algoritmin avaimessa on 230 vastaavaa avainta . Tämän puutteen tekijä kuitenkin korjasi viipymättä jo ennen kilpailun ensimmäisen kierroksen tulosten yhteenvetoa.

Attack "Chosen Spice"

Tämän tyyppisessä hyökkäyksessä hyökkääjä, jolla on pääsy selkeän tekstin ja salatekstin pareihin, voi manipuloimalla lisäavaimen "Spice" joukkoa tarkkailla, kuinka selväteksti tai salateksti muuttuu myöhemmissä salauksissa . Kirjoittajan mukaan tämän tyyppisiä hyökkäyksiä ei kuitenkaan ole vielä havaittu, ja työ tällä alueella vaatii kryptanalyyttisen yhteisön ponnisteluja. [2]

Muistiinpanot

  1. Panasenko S.P. Salausalgoritmit. Erityinen hakuteos - Pietari. : BHV-SPb , 2009. - 576 s. — ISBN 978-5-9775-0319-8
  2. 1 2 Richard Schroeppel, "Hasty Pudding Cipher Specification", toukokuu 1999 (linkki ei ole käytettävissä) . Haettu 31. lokakuuta 2010. Arkistoitu alkuperäisestä 17. heinäkuuta 2011. 
  3. ja niillä on sama muoto, mutta yleisesti ottaen nämä ovat erilaisia ​​​​lukuja, koska ne riippuvat nykyisestä arvosta .
  4. Rich Schroeppel, Puddingmeister, "The Hasty Pudding Cipher: One Year Later", 12. kesäkuuta 1999 (linkki ei ole käytettävissä) . Haettu 31. lokakuuta 2010. Arkistoitu alkuperäisestä 30. marraskuuta 2021. 
  5. "VIESTINTÄ- JA TELEVIESTINTÄ TURVALLISUUSJÄRJESTELMÄT", 1999 . Käyttöpäivä: 30. lokakuuta 2010. Arkistoitu alkuperäisestä 3. heinäkuuta 2011.
  6. Rich Schroeppel, Hilarie Orman, "An Overview of the Hasty Pudding Cipher", heinäkuu 1998 (linkki ei saatavilla) . Haettu 31. lokakuuta 2010. Arkistoitu alkuperäisestä 30. marraskuuta 2021. 
  7. Richard Schroeppel, "Tweaking the Hasty Pudding Cipher", 14. toukokuuta 1999 (linkki ei ole käytettävissä) . Haettu 31. lokakuuta 2010. Arkistoitu alkuperäisestä 30. marraskuuta 2021. 
  8. "HPC:n vastaavat avaimet", 1999