Podpisovanje s številkami

    Digitalni podpis je vsaj na prvi pogled nenavaden pojem. Če podpis razumemo kot nekaj, česar ni mogoče zlahka ponarediti, saj ga lahko pravilno napiše le vsak zase, je v digitalnem svetu nasprotno že v osnovi mogoče kopirati prav vse. V digitalnem svetu po definiciji ni delitve na izvirnik in kopije, saj je vsaka kopija povsem enaka izvirniku. Kaj je torej ta navidez protislovni pojem, ki je omogočil, da je internet postal pomembno orodje za sklepanje poslov in druge dejavnosti, pri katerih je pristnost identitete sodelujočih izjemno pomembna?

    Klasični ročni podpis je, podobno kot je bil nekoč pečat, znak avtorizacije. Podpis s pisalom na papirju temelji na predpostavki, da je lastnoročno izveden zapis imena tako specifičen, da ga lahko enako zapiše le vsak zase. Čeprav iz prakse vemo, da marsikaterega podpisa ni ravno težko ponarediti, se zaradi praktičnosti tovrstni način potrjevanja istovetnosti še vedno množično uporablja v vsakdanjem življenju. Teoretično sistem podpisovanja deluje tako, da vsak svoj podpis s pisalom na papirju shrani pri skupnem skrbniku. Če kasneje kdo dvomi o verodostojnosti podpisa na nekem dokumentu, lahko pri skrbniku preveri, ali se podpis na pogodbi ujema z arhiviranim podpisom.

    Sistem klasičnih podpisov temelji na spoznanju, da je v samem načinu pisanja z roko vedno prisoten specifičen osebni element, ki je značilen za dotičnega posameznika in ga ni mogoče zlahka ponarediti. V digitalnem svetu izmenjave informacij pa tega osebnega elementa pisave po sami definiciji digitalnih informacij ni več. Kopija je enaka originalu, podatek o gibanju prstov posameznega pisca se denimo pri tipkanju na tipkovnico izgubi. To je predstavljalo veliko težavo, ki so jo morali inženirji razrešiti, preden se je na internetu lahko začelo resno trgovati in sklepati pogodbe.

    Vsak digitalni podpis je malo drugačen

    Kot nadomestilo klasičnim podpisom se je v digitalnem svetu uveljavila metoda zaklepanja dokumentov, pri kateri ima vsakdo na voljo veliko lastnih specifičnih ključavnic, ki jih lahko zaklene le on sam, hkrati pa lahko kdorkoli z njegovim javno dostopnim ključem preveri, ali je ta posameznik res zaklenil konkretno ključavnico. V digitalnem svetu dokument podpišemo tako, da ga, če uporabimo prispodobo, položimo v prozorno škatlo, ki jo zaklenemo s ključavnico, ki pripada le nam in jo lahko le mi zaklenemo. Namesto da bi nekje deponirali svoj podpis, sedaj deponiramo ključ, ki lahko odklene ključavnico, ki jo lahko zgolj mi zaklenemo. Če nekomu uspe odkleniti ključavnico z našim javnim ključem, to pomeni, da smo jo prav mi zaklenili. Torej lahko sklepa, da je dokument, ki je bil zaklenjen v škatlici s ključavnico, ki jo je odprl naš ključ, dejansko naš oziroma smo ga podpisali.

    Računalniški programi, ki jih presnamemo preko interneta, so praviloma digitalno podpisani. Avtor programa podpiše datoteko tako, da jo zaklene z eno od svojih ključavnic, ključ za odprtje ključavnice pa javno objavi. Ko tako prenesemo njegov program, se lahko preko njegovega javnega ključa prepričamo, da smo res prejeli natanko tako verzijo programa, kot ga je on ustvaril. Če je morda kdo vmes kaj spreminjal, je spremenjena tudi ključavnica in je njegov javni ključ ne bo več odklenil.

    Paradoks digitalnega podpisa so strokovnjaki razrešili tako, da so podpis dejansko razdelili na dva ločena dela, na ključ in ključavnico. Vsak digitalni podpis je malo drugačen, kar pomeni, da je specifičen za podpisani dokument in z njegovim kopiranjem ne moremo podpisati drugega dokumenta. To lahko storimo le tako, da ta drugi dokument zaklenemo z novo ključavnico, kar pa lahko storimo le mi sami. V digitalnem svetu seveda ni fizičnih ključev in ključavnic, ampak jih nadomeščajo števila in aritmetične operacije z njimi. Strokovnjaki so se kar namučili, da so razvili sistem operacij s števili, ki nam danes omogoča, da lahko varno in zanesljivo trgujemo preko interneta.

    Vendar tudi v digitalnem svetu še vedno potrebujemo zanesljivo banko oziroma izdajatelja ključev, preko katerega pridobimo ustrezno orodje za ustvarjanje ključavnic in hranjenje ter razdeljevanje ključev. S sistemom za digitalno podpisovanje in hkrati šifriranje podatkov se danes praviloma srečamo, ko si uredimo spletni dostop do svoje banke. Takrat prejmemo digitalni certifikat, ki nam med drugim omogoča tudi, da ustvarjamo ključavnice in elektronsko podpisujemo dokumente.

    Algoritmi, ki so spremenili prihodnost

    Računalniki in informacijska tehnologija so zadnja desetletja močno vplivali na naš vsakdan. Digitalna tehnologija je bistveno olajšala in poenostavila marsikatere prej zelo zahtevne operacije. Čeprav je vpliv informacijske tehnologije na naša življenja zelo velik, pa je po drugi strani vsaj v širši javnosti malo znanega o temeljnih spoznanjih in iznajdbah, ki so omogočile današnjo informacijsko družbo. Še posebej malo vemo o ključnih algoritmih, ki omogočajo delovanje večine računalniških aplikacij in večinoma niso starejši kot nekaj deset let.

    Kot opisuje John MacCormick v knjigi Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today’s Computers (Princeton University Press, 2011), informacijske družbe seveda ne bi bilo brez računalnikov, pa tudi ne brez pomembnih idej, kako v svet računalnikov prevesti značilnosti vsakdanjega sveta, na katere smo močno navajeni in so ključnega pomena za urejanje medsebojnih odnosov. Preverjanje pristnosti digitalnega podpisa je zgolj eden izmed pomembnih algoritmov, ki poganjajo sodobno digitalno družbo. MacCormick podrobno opiše in predstavi metode, kako računalniki sami odpravljajo napake, do katerih pride med prenašanjem in kopiranjem informacij, ter pojasni, na kaj vse so morali misliti programerji velikih baz podatkov, v katerih so danes shranjeni vsi bančni podatki in še mnogo drugega.

    Že najmanjša napaka lahko povzroči hudo nočno moro programerjev, ko postanejo podatki v bazi nekonsistentni, kar najbolj preprosto rečeno pomeni, da recimo pri Maji piše, da je poročena z Matejem, pri Mateju pa, da je samski. Ali da se pri nakazilu denarja z enega bančnega računa na drugega na prvem znesek odšteje, na drugem pa še ne prišteje, saj vmes zmanjka elektrike. Na take in podobne možnosti so morali biti programerji pozorni, ko so ustvarjali algoritme, s katerimi danes krmilijo baze podatkov. Postopke spreminjanja vrednosti v bazi so morali programirati tako, da nikoli ne more priti do nekonsistentnosti in napak, tudi če se med samo izvedbo transakcije celoten sistem sesuje.

    Digitalno iskanje izgubljenega znanstvenika

    Eden izmed pomembnih tvorcev algoritmov za upravljanje računalniških baz podatkov je bil ameriški znanstvenik Jim Gray. V nedeljo, 28. januarja 2007, se je s svojo dvanajstmetrsko jadrnico v lepem vremenu odpravil iz zaliva San Francisca proti odprtemu morju. Njegov cilj so bili Farallonovi otoki. Vrnil naj bi se še isti dan, a ne njega ne njegove jadrnice niso nikoli več videli.

    Vest o izginulem znanstveniku, med drugim tudi dobitniku prestižne Turingove nagrade, se je razširila med njegovimi prijatelji in znanci iz različnih računalniških podjetij in univerz. Ti so se hitro organizirali in začeli pregledovati satelitske posnetke morja v okolici San Francisca in Farallonovih otokov, ki jih je 1. februarja 2007 prav v ta namen posnel satelit DigitalGlobe. Za usklajevanje iskanja so med drugim uporabili računalniške baze oziroma programe, ki jih je Gray soustvarjal. Bogatejši kolegi so najeli tudi letala in prečesavali območja, za katera so menili, da jih obalna straža ni dovolj temeljito pregledala. A žal nobena od metod, s katerimi so se lotili iskanja, ni bila uspešna. Dobrih pet let po nesreči, 16. maja 2012, so Jima Graya tudi uradno razglasili za mrtvega.