Mis on asümmeetriline krüptimine?

Krüptograafias on palju erinevaid osi. Kui soovite siiski teatud andmeid krüpteerida, saate kasutada kahte tüüpi algoritme: sümmeetrilisi krüpteerimisalgoritme ja asümmeetrilisi krüpteerimisalgoritme. Kontseptsioon on sama: nad saavad andmeid krüpteerida, kuid töötavad erinevatel põhimõtetel ja neil on muid kasutusjuhtumeid.

Peamine erinevus kirjeldab aga krüpteerimisvõtmeid. Sümmeetriline krüpteerimisalgoritm kasutab andmete krüptimiseks ja dekrüpteerimiseks ühte jagatud võtit. Asümmeetriline krüpteerimisalgoritm kasutab kahte lingitud võtit, millest üks dekrüpteerib ja teine ​​dekrüpteerimiseks.

Terminoloogia

Asümmeetrilised krüpteerimisalgoritmid põhinevad kahe erineva võtme kasutamisel. Ühte võtit saab kasutada andmete krüpteerimiseks ja teist dekrüpteerimiseks. Kaks krüpteerimisvõtit ei ole lihtsalt kaks vana väärtust. Need on olemuslikult seotud ja need tuleb genereerida võtme genereerimise algoritmi abil.

Asümmeetrilise krüptimise alternatiivne nimetus on avaliku võtmega krüptimine. Seda seetõttu, et on ette nähtud, et üks kahest võtmest on avalik. Traditsiooniline kontseptsioon on see, et krüpteerimisvõtit jagatakse avalikult ja dekrüpteerimisvõtit hoitakse rangelt privaatsena. Sel põhjusel nimetatakse krüpteerimisvõtit avalikuks võtmeks ja dekrüpteerimisvõtit on privaatvõti.

See konfiguratsioon võimaldab kõigil sõnumit krüpteerida, nii et ainult privaatvõtme omanik saab selle dekrüpteerida. See on kasulik, kuna igaüks saab ühe avaldatud krüpteerimisvõtmega turvaliselt suhelda soovitud adressaadiga. Turvaliseks vastusuhtluseks peab adressaat kasutama algse saatja avalikku võtit.

Teoreetiliselt pole põhjust, miks te ei saaks võtmeid ümber vahetada ja dekrüpteerimisvõtit jagada, hoides krüpteerimisvõtme privaatsena. Seda saab kasutada allika autentsuse kontrollimiseks, kui see ei paku olulist turvalisust. Praktikas seda aga ei tehta, kuna sama tulemuse saavutamiseks on olemas muud mehhanismid.

Sümmeetriliste krüpteerimisalgoritmide omadused

Asümmeetrilised krüpteerimisalgoritmid nõuavad sama turvalisuse tagamiseks palju suuremate võtmete kasutamist kui sümmeetrilised krüpteerimisalgoritmid. Üldiselt peetakse 128-bitise krüpteerimisvõtmega sümmeetrilist krüpteerimisalgoritmi turvaliseks, kuigi eelistatud on 256-bitised võtmed. Asümmeetrilises krüpteerimisalgoritmis peetakse 2048-bitiseid võtmeid ohutuks.

2048-bitise võtme näide kehtib RSA kohta, mis on pikka aega olnud asümmeetrilise krüptimise standard. Elliptilise kõvera krüptograafia on aga uuem kontseptsioon, mis on samuti asümmeetriline, kuid kasutab oluliselt väiksemaid võtmeid. 2048-bitine RSA-võti pakub samaväärset turvalisust 224-bitise elliptilise kõvera võtmega.

Näpunäide: Ülaltoodud väärtusi peetakse kommertskasutuseks turvaliseks, kuid NSA nõuab ülisalajaseks krüptimiseks tugevamaid võtmeid. Vaja on vähemalt 3072-bitiseid RSA-võtmeid, samas kui vajalikud on 384-bitised elliptilise kõvera võtmed. Väärib märkimist, et 3072-bitine RSA-võti on nõrgem kui 384-bitine elliptilise kõvera võti.

Asümmeetrilised krüpteerimisalgoritmid kipuvad olema suhteliselt aeglased võrreldes sümmeetriliste krüpteerimisalgoritmidega. Turvalist sidet saab läbi viia ebaturvalise kanali kaudu, kui mõlemad pooled genereerivad asümmeetrilise võtmepaari ja vahetavad seejärel avalikud võtmed. Sel viisil saavad mõlemad pooled saata sõnumeid, mida ainult teine ​​​​saab dekrüpteerida.

Praktikas peab vähemalt üks osapooltest kontrollima oma avaliku võtme terviklikkust. Seda tehakse PKI või avaliku võtme infrastruktuuri kaudu. See toimub sertifitseerimisasutuste kujul, mis allkirjastavad teiste võtmed, et näidata, et nende identiteet on kinnitatud. Selles süsteemis peavad kõik sertifitseerimisasutused olema usaldusväärsed; ilma selleta laguneb süsteem laiali.

Praktikas kasutamine

Asümmeetrilisi krüpteerimisalgoritme ei kasutata tavaliselt hulgi krüptimiseks, eriti kui probleem on ajas või jõudluses. Neid võib kasutada ühekordsete sõnumite, näiteks meilisõnumite, krüpteerimiseks. Kuid nende võime kaitsta ebaturvalist kanalit teeb neist suurepärase valiku võtmevahetusprotokolli jaoks, mis edastab sümmeetrilisi võtmeid, mida saab seejärel kasutada tõhusamaks hulgi krüptimiseks.

See on kasutusjuht TLS-is, mis pakub turvalisust HTTPS-is. Kasutaja loob ühenduse veebiserveriga; seejärel vahetavad nad avalikke võtmeid, et krüpteerida üksteisele väikeseid sõnumeid. Seejärel genereerib server sümmeetrilise võtme, krüpteerib selle kasutaja avaliku võtmega ja saadab selle neile. Kasutaja dekrüpteerib võtme ja saab seejärel kasutada sümmeetrilist võtit, et tõhusalt krüpteerida serveriga edaspidist suhtlust.

Sertifikaadiasutus kontrollib ülaltoodud protsessis serveri avalikku võtit. See võimaldab kasutajal olla kindel, et ta suhtleb sellega, kellega ta üritab suhelda. Enamikul juhtudel loob kasutaja ühekordse võtme, kuna server ei pea kontrollima, millise kasutajaga ta suhtleb.

Järeldus

Asümmeetrilised krüpteerimisalgoritmid kasutavad kahte erinevat võtit. Ühte võtit kasutatakse krüptimiseks ja teist dekrüpteerimiseks. Võtmed on matemaatiliselt seotud ja need tuleb genereerida võtme genereerimise algoritmi abil; juhuslikud väärtused ei tööta. Tavaliselt jagatakse krüpteerimisvõtit avalikult, võimaldades igaühel krüpteerida võtmepaari omanikule mõeldud sõnumi.

Kuni dekrüpteerimisvõti jääb privaatseks, saab avaliku võtmega krüpteeritud sõnumeid dekrüpteerida ainult võtme omanik. Sellisena nimetatakse asümmeetrilist krüptimist sageli ka avaliku võtme krüptograafiaks.