Šifrovanie a elektronický podpis – 1. časť

S prí­cho­dom pr­vej štá­tom uz­na­nej cer­ti­fi­kač­nej auto­ri­ty na Slo­ven­sku sa prob­le­ma­ti­ka šif­ro­va­nia a elek­tro­nic­ké­ho pod­pi­su stá­va veľ­mi ak­tuál­nou, no mno­ho ľu­dí stá­le ne­vie, o čo vlas­tne ide. Za­čne­me tým, že si ob­jas­ní­me po­jem šif­ro­va­nie, roz­lí­ši­me sym­et­ric­ké a asy­met­ric­ké šif­ry a všet­ko si uká­že­me na jed­no­du­chých prak­tic­kých prík­la­doch.

Čo je vlas­tne šif­ro­va­nie?
Hneď na úvod by som chcel upo­zor­niť na čas­té mie­ša­nie poj­mov kó­do­va­nie a šif­ro­va­nie. Nie, nie je to to is­té, ho­ci ma­jú ve­ľa spo­loč­né­ho. Kó­do­va­nie má za cieľ umož­niť uk­la­da­nie in­for­má­cií (zvy­čaj­ne ich čí­sel­nou rep­re­zen­tá­ciou) či uľah­čiť ich pre­nos, šif­ro­va­nie sa sna­ží o „zne­či­ta­teľ­ne­nie“ do­ku­men­tu pre to­ho, ko­mu nie je ur­če­ný – ide te­da o uta­je­nie ob­sa­hu. Kým pri de­kó­do­va­ní za­kó­do­va­nej sprá­vy nám sta­čí poz­nať (spra­vid­la ve­rej­ne zná­my) pos­tup, na de­šif­ro­va­nie za­šif­ro­va­nej sprá­vy mu­sí­me poz­nať i aké­si hes­lo či kľúč.

Sym­et­ric­ké šif­ro­va­nie
Sym­et­ric­ké šif­ro­va­nie je v kryp­tog­ra­fii kla­si­ka a prá­ve to, čo si pod poj­mom šif­ro­va­nie pred­sta­ví väč­ši­na ľu­dí. Čo je preň cha­rak­te­ris­tic­ké? Pou­ží­va sa je­di­ný kľúč, kto­rým mož­no do­ku­ment za­šif­ro­vať i de­šif­ro­vať. Nie­čo po­dob­né ako tre­zor – kaž­dý, kto má kľúč, mô­že si ho ot­vo­riť a pre­zrieť do­ku­men­ty ulo­že­né v ňom, ako aj vkla­dať ďal­šie do­ku­men­ty. Ak sa nie­ko­mu kľúč dos­ta­ne do rúk, mo­hol by si ho „sko­pí­ro­vať“ a zís­kať tak prís­tup ke­dy­koľ­vek. Mož­no ste niek­to­ré jed­no­du­ché šif­ro­va­nie už ke­dy­si pou­ží­va­li pri po­sie­la­ní sprá­vi­čiek spo­lu­žia­kom na nud­ných ho­di­nách. Uveď­me si pár prík­la­dov.
Veľ­mi jed­no­du­chá šif­ra na det­ské hry by moh­la vy­ze­rať nap­rík­lad tak­to – kaž­dé pís­men­ko „zväč­ší­me“ o 2, te­da na­mies­to A na­pí­še­me C, na­mies­to B bu­de D atď. Text AHOJ by po za­šif­ro­va­ní bol CJQL. Tá­to šif­ra sa na­zý­va po­suv­ná šif­ra (shift cip­her). Ak za­šif­ro­va­nú sprá­vu poš­le­me prí­jem­co­vi, to­mu sta­čí ve­dieť, aký pos­tup sme pou­ži­li, a poz­nať správ­ny kľúč. Čo je v tom­to prí­pa­de kľú­čom? Je to čís­lo 2, o kto­ré tre­ba za­se „zmen­šiť“ kaž­dé pís­men­ko za­šif­ro­va­nej sprá­vy.
A čo ak sa za­šif­ro­va­ná sprá­va dos­ta­ne do rúk ne­po­vo­la­nej oso­be, kto­rá ne­poz­ná kľúč? Ak bu­de mať zá­ujem doz­ve­dieť sa ob­sah sprá­vy, asi mu v tom ne­zab­rá­ni­me, je veľ­mi ľah­ké tú­to jed­no­du­chú šif­ru na­lo­miť i pou­ži­tím to­ho naj­ne­vý­hod­nej­šie­ho úto­ku, tzv. úto­ku hru­bou si­lou (bru­te-for­ce at­tack), kto­rý vlas­tne pred­sta­vu­je skú­ša­nie všet­kých mož­nos­tí. No koľ­ko je tých všet­kých mož­nos­tí? Ak bu­de­me pred­pok­la­dať iba pís­men­ká bez di­ak­ri­ti­ky, má­me toľ­ko mož­nos­tí, koľ­ko je pís­men v abe­ce­de (26), vlas­tne o jed­nu me­nej, pre­to­že „zvý­še­nie o 0“ ne­má vý­znam.

Poz­nám­ka: Abe­ce­du pok­la­dá­me za cyk­lic­kú, te­da po pís­me­ne Z nas­le­du­je opäť A – nap­rík­lad „zvý­še­nie o 25“ je vlas­tne to is­té, ako „zní­že­nie o 1“, pre­to­že z A sa sta­ne Z, z B bu­de A, z C za­se B atď.

Skús­me uve­de­nú šif­ru zlep­šiť, a to tak, že ne­bu­de­me pís­men­ká kon­štan­tne „zvy­šo­vať“ (vlas­tne po­sú­vať abe­ce­du), ale ich úpl­ne roz­há­dže­me. Nap­rík­lad na­mies­to A bu­de R (A -> R), B -> D, C -> K, D -> Z a pod. Ta­ká­to šif­ra sa na­zý­va sub­sti­tuč­ná šif­ra (sub­sti­tu­tion cip­her) a spo­me­nu­tá po­suv­ná šif­ra, kto­rou sme sa za­obe­ra­li, je len jej pod­mno­ži­nou. Čo je vlas­tne kľú­čom pri sub­sti­tuč­nej šif­re? Už to nie je je­di­né čís­lo, ale ce­lé us­po­ria­da­nie, te­da tzv. per­mu­tá­cia – ide o us­po­ria­da­nú mno­ži­nu 26 pís­men, kto­rá by sa v na­šom prík­la­de za­čí­na­la [R, D, K, Z...]. Ma­te­ma­tic­ky zdat­nej­ším či­ta­te­ľom je zrej­mé, že exis­tu­je 26! rôz­nych kľú­čov, čo je asi 4 × 1026. Je to veľ­mi ve­ľa, a pre­to sa tá­to šif­ra na pr­vý poh­ľad zdá po­mer­ne sil­ná. Len­že po­zor, na šif­ru vô­bec net­re­ba úto­čiť hru­bou si­lou! Pred­pok­la­daj­me, že poz­ná­me pr­vé slo­vo pô­vod­né­ho textu, napr. AHOJ. Po­tom už poz­ná­me zá­me­nu 4 pís­men. Ak ich do­sa­dí­me v ce­lom texte na prís­luš­né mies­ta, mô­že­me za­čať pos­tup­ne há­dať – dopĺňať pís­men­ká tam, kde sa ako­si „ho­dia“. Naj­hor­šie je te­da za­čať, ale i s tým sa dá vy­rov­nať.
Pre kaž­dý ja­zyk mož­no vy­tvo­riť ur­či­tú ta­buľ­ku prav­de­po­dob­nos­ti vý­sky­tu jed­not­li­vých pís­men v bež­nom texte, napr. v an­glic­kom ja­zy­ku je naj­čas­tej­ším pís­men­kom E (p = 0,127 s veľ­kým nás­ko­kom), tak­že ak má­me pred se­bou za­šif­ro­va­ný an­glic­ký text, zis­tí­me si naj­čas­tej­šie sa vy­sky­tu­jú­ce pís­me­no v za­šif­ro­va­nom texte a mô­že­me ďa­lej pred­pok­la­dať, že vy­jad­ru­je pís­me­no E. Po­dob­ne sa da­jú pod­ľa vý­sky­tu us­po­ria­dať i dvo­ji­ce a tro­ji­ce pís­men (v an­glič­ti­ne dvo­ji­ce TH, HE, IN..., tro­ji­ce THE, ING, AND...). Po nac­vi­če­ní pos­tu­pu do­ká­že­me text de­šif­ro­vať za me­nej ako ho­di­nu. Čím je dl­hší, tým lep­šie pre útoč­ní­ka. A ak vy­uži­je­me po­moc po­čí­ta­ča, kto­rý nám veľ­mi rých­lo vie vy­ko­nať šta­tis­tic­kú ana­lý­zu a „do­sá­dzať“ pís­men­ká, šif­ru na­lo­mí­me prak­tic­ky hneď.
Na ukáž­ku (a zís­ka­nie pred­sta­vy) uve­de­né prík­la­dy sta­čia. Ke­by sme spo­ji­li via­ce­ro ta­kých­to jed­no­du­chých ši­fier (text za­šif­ru­je­me naj­skôr jed­nou, po­tom ten­to za­šif­ro­va­ný text opäť za­šif­ru­je­me, ale už inou šif­rou – kľú­čom by bo­la pos­tup­nosť všet­kých pou­ži­tých čias­tko­vých kľú­čov), zís­ka­me už po­mer­ne sil­nú šif­ru, kto­rú je veľ­mi ob­ťaž­né na­lo­miť. Tak­to fun­gu­jú i zná­me sym­et­ric­ké šif­ry DES (Da­ta En­cryp­tion Stan­dard) a AES (Ad­van­ced En­cryp­tion Stan­dard).
Te­raz, keď už vie­me, o čo ide pri sym­et­ric­kom šif­ro­va­ní, za­mys­li­me sa nad je­ho pou­ží­va­ním. Pred­pok­la­daj­me, že má­me k dis­po­zí­cii veľ­mi sil­nú šif­ru, kto­rú prak­tic­ky ne­mož­no na­lo­miť bez zna­los­ti kľú­ča, a pred­stav­me si si­tuáciu, keď chce Ali­ca pos­lať Bo­bo­vi taj­nú sprá­vu. Ak oba­ja poz­na­jú kľúč, nie je ni­ja­ký prob­lém – Ali­ca ním sprá­vu za­šif­ru­je, poš­le ju Bo­bo­vi, Bob si ju tým­to kľú­čom za­se de­šif­ru­je. Pri­daj­me eš­te ďal­šiu oso­bu – Os­ka­ra, kto­rý sa chce doz­ve­dieť ob­sah pre­ná­ša­nej sprá­vy. Ako správ­ny zá­škod­ník, Os­kar má prís­tup ku ko­mu­ni­kač­né­mu ka­ná­lu, kto­rým Ali­ca ko­mu­ni­ku­je s Bo­bom (tým­to ka­ná­lom mô­že byť kla­sic­ká poš­ta, te­le­fón­na lin­ka, ká­bel po­čí­ta­čo­vej sie­te a po­dob­ne) – te­da do­ká­že všet­ko „od­po­čú­vať“. Čo te­da za­chy­tí Os­kar? Iba bez­cen­nú po­do­bu sprá­vy – pre­ná­ša sa pred­sa za­šif­ro­va­ná. Ak ma­jú Ali­ca i Bob bez­peč­ne us­cho­va­ný kľúč, ne­mu­sia sa báť, že by si sprá­vy čí­tal i niek­to iný.

Čo sa však sta­ne, ak chce Ali­ca pos­lať sprá­vu Bo­bo­vi, no ten ne­má Ali­cin kľúč? Prá­ve tu je sla­bi­na sym­et­ric­ké­ho šif­ro­va­nia. Ali­ca ne­mô­že kľúč pos­lať ve­rej­ným (od­po­čú­va­ným) ka­ná­lom, kto­rý sle­du­je Os­kar. Len­že kaž­dý ko­mu­ni­kač­ný ka­nál je po­ten­ciál­ne od­po­čú­va­ný – ne­mô­žu vy­lú­čiť, že Os­kar od­po­čú­va, a te­da to mu­sia pred­pok­la­dať. Ak ne­ma­jú ni­ja­ký „za­ru­če­ne bez­peč­ný“ ko­mu­ni­kač­ný ka­nál, ne­zos­tá­va im nič iné, iba sa stret­núť a osob­ne si od­ov­zdať kľúč – po­tom už bu­dú môcť bez­peč­ne ko­mu­ni­ko­vať i v bu­dúc­nos­ti. Osob­né stret­nu­tie a od­ov­zda­nie kľú­ča sa nám sí­ce mô­že ja­viť ako cel­kom dob­rý ná­pad, ale čo ak sa na­chá­dza­jú na dru­hom kon­ci sve­ta?

Asy­met­ric­ké šif­ro­va­nie
Veľ­mi vý­znam­ným kro­kom v kryp­tog­ra­fii bo­lo vy­tvo­re­nie pos­tu­pov asy­met­ric­ké­ho šif­ro­va­nia. Čím sa lí­ši od sym­et­ric­ké­ho? Na­mies­to je­di­né­ho kľú­ča, kto­rý slú­ži zá­ro­veň na šif­ro­va­nie i de­šif­ro­va­nie, sa tu pou­ží­va dvo­ji­ca kľú­čov (key pair). Ak jed­ným z nich sprá­vu za­šif­ru­je­me, mož­no ju de­šif­ro­vať iba tým dru­hým. Po­cho­pi­teľ­ne, tie­to dva kľú­če sú ako­si ma­te­ma­tic­ky zvia­za­né, te­da pa­tria k se­be a bo­li spo­lu vy­ge­ne­ro­va­né. No pla­tí, že zna­losť jed­né­ho z dvo­ji­ce kľú­čov ne­pos­ta­ču­je na zís­ka­nie to­ho dru­hé­ho.
Naz­vi­me za­tiaľ je­den kľúč „šif­ro­va­cí“, ten dru­hý „de­šif­ro­va­cí“. Keď­že za­šif­ro­va­nú sprá­vu by mal ve­dieť de­šif­ro­vať de­šif­ro­va­cím kľú­čom iba ten, pre ko­ho je ur­če­ná, a nik­to iný, po­tom by sme moh­li de­šif­ro­va­cí kľúč ozna­čiť ako súk­rom­ný, a keď­že za­šif­ro­vať sprá­vu pre ne­ja­ké­ho prí­jem­cu šif­ro­va­cím kľú­čom by mal mať mož­nosť kaž­dý, šif­ro­va­cí kľúč ozna­čí­me ako ve­rej­ný. Ďalej už bu­de­me pou­ží­vať iba tie­to dva poj­my, te­da ve­rej­ný kľúč slú­ži na šif­ro­va­nie (je voľ­ne k dis­po­zí­cii pre ve­rej­nosť), súk­rom­ný kľúč sa pou­ži­je na de­šif­ro­va­nie (je­ho vlas­tník si ho dr­ží v bez­pe­čí).
Vráť­me sa k Ali­ci a Bo­bo­vi. Ali­ca chce pos­lať Bo­bo­vi taj­nú sprá­vu. Pre­čí­tať ju mô­že iba Bob, te­da má byť de­šif­ro­va­teľ­ná iba je­ho súk­rom­ným kľú­čom, z čo­ho ďa­lej vy­plý­va, že ju Ali­ca mu­sí za­šif­ro­vať je­ho ve­rej­ným kľú­čom. Aký bu­de te­da pos­tup?
1. Bob si vy­ge­ne­ru­je svo­ju dvo­ji­cu kľú­čov. Jed­nu je­ho časť zve­rej­ní (ve­rej­ný kľúč), dru­hú si po­ne­chá (súk­rom­ný kľúč).
2. Ali­ca si sko­pí­ru­je Bo­bov ve­rej­ný kľúč.
3. Ali­ca za­šif­ru­je sprá­vu Bo­bo­vým ve­rej­ným kľú­čom.
4. Ali­ca poš­le za­šif­ro­va­nú sprá­vu Bo­bo­vi.
5. Bob pri­ja­tú sprá­vu de­šif­ru­je svo­jím súk­rom­ným kľú­čom.
Tre­ba si uve­do­miť jed­nu za­ují­ma­vosť – keď­že je sprá­va za­šif­ro­va­ná Bo­bo­vým ve­rej­ným kľú­čom, do­ká­že ju de­šif­ro­vať je­di­ne on, te­da po za­šif­ro­va­ní ju už ne­do­ká­že de­šif­ro­vať ani Ali­ca, kto­rá ju za­šif­ro­va­la! (Dá sa však oča­ká­vať, že to ne­bu­de pot­re­bo­vať.)
A čo na to zve­da­vý Os­kar? Ko­mu­ni­kač­ným ka­ná­lom naj­skôr pu­tu­je ve­rej­ný Bo­bov kľúč (kto­rý je však nor­mál­ne k dis­po­zí­cii pre všet­kých, te­da i pre Os­ka­ra), po­tom už len za­šif­ro­va­ná sprá­va. Čo sme te­da zís­ka­li asy­met­ric­kým šif­ro­va­ním? Od­strá­ni­li sme zá­važ­ný ne­dos­ta­tok sym­et­ric­ké­ho šif­ro­va­nia – nie je pot­reb­né, aby sa Ali­ca a Bob osob­ne stret­li a od­ov­zda­li si kľúč.
Pre úpl­nosť do­daj­me, že ak chce Bob od­pí­sať Ali­ci, mu­sí si nah­rať jej ve­rej­ný kľúč a sprá­vu za­šif­ro­vať ním.

Autor člán­ku je re­dak­to­rom DISK.SK

Ohodnoťte článok:
 
 
 

24 hodín

týždeň

mesiac

Najnovšie články

Re­cen­zia: So­ny XPE­RIA M4 Aqua
Lákadlom nového modelu predstaveného na MWC je nielen jeho deklarovaná odolnosť proti vode a prachu, ale aj atraktívny, elegantný prémiový dizajn, interne nazývaný OmniBalance, ktorý sa Sony osvedčil vo vlajkovom modeli Xperia Z3. čítať »
 
Re­cen­zia: In­tel Com­pu­te Stick - po­čí­tač do vrec­ka
Kompletný počítač v puzdre o niečo väčšom ako bežný kľúč USB od Intelu je jeden z prvých predstaviteľov novej kategórie výpočtových zariadení. čítať »
 
PC RE­VUE vi­deo: Sam­sung Gear VR In­no­va­tor Edi­tion
Otestovali sme okuliare pre virtuálnu realitu využívajúce telefóny Samsung Galaxy S6 a S6 edge. čítať »
 
PowerI­SO
Dlho sme hľadali univerzálny nástroj, ktorý by zvládol všetky operácie s obrazmi CD, DVD alebo Blu-ray. čítať »
 
Aomei Par­ti­tion As­sis­tant Pro
Každý IT nadšenec iste už raz prišiel do styku s partíciami na diskoch a potrebou ich úpravy či opravy. čítať »
 
Vi­deo: Prih­lá­se­nie do inter­net ban­kin­gu od­tlač­kom prs­ta
UniCredit Bank pre svojich klientov pripravil zaujímavé novinky v mobilnom bankovníctve. Vďaka využitiu najnovších funkcií inteligentných telefónov sa do mobilných aplikácií Smart Banking a Smart kľúč môžu prihlásiť jednoduchým zosnímaním odtlačku prsta. čítať »
 
Re­cen­zia: Har­man/Kar­don OM­NI
Zvukový systém OMNI je na prvý pohľad ďalší z radu reproduktorov, ktoré majú bezdrôtový prenos a možnosť párovania medzi sebou. čítať »
 
Re­cen­zia: GoP­ro He­ro 4
Spoločnosť GoPro prišla koncom minulého roka s ďalšou generáciou obľúbeného modelu športovej kamery s označením Hero 4. čítať »
 
 
 
  Zdieľaj cez Facebook Zdieľaj cez Google+ Zdieľaj cez Twitter Zdieľaj cez LinkedIn Správy z RSS Správy na smartfóne Správy cez newsletter