Šifra
Ta članek potrebuje čiščenje. Pri urejanju upoštevaj pravila slogovnega priročnika. |
Šifra ali šifriranje je v kriptografiji algoritem za izvrševanje enkripcije in dekripcije.
To so serije dobro definiranih korakov, ki jim sledimo kot proceduri. Alternativni termin je dešifriranje. Pri ne-tehnološki uporabi ima šifra enak pomen kot koda, vendar se v kriptografiji koncepta razlikujeta. V klasični kriptografiji se šifre razločujejo od kod. Kode operirajo z nadomeščanjem glede na veliko kodno knjigo, ki povezuje slučajne nize znakov ali številk, v besedo ali frazo. Na primer »UQJHSE« je lahko koda za: »Nadaljevati do sledečih koordinat.« Originalna informacija je znana kot čisti tekst in enkritpirana forma kot šifriran tekst. Sporočilo šifriranega teksta vsebuje vse informacije sporočila čistega teksta, vendar tega formata človek ali računalnik ne more prebrati brez primernega mehanizma za dekripcijo. Za tiste, ki ni predviden, da ga berejo, je lahko podoben slučajnemu žlobudranju.
Delovanje šifre je po navadi odvisno od dela pomožne informacije, ki se ji reče ključ, ali po tradicionalnem NSA izražanju kriptovariabla. Procedura enkripcije varira odvisno od ključa, ki spremeni detajlne informacije algoritma. Ključ mora biti izbran pred uporabo šifre za enkricpijo sporočila. Brez poznavanja ključa bi bilo težko, če ne celo nemogoče, dekriptirati izvorne šifre v bralni čisti tekst.
Večino modernih šifer je lahko razporejenih na različne načine: - Po tem če delujejo na blokih simbolov, po navadi določene velikosti (bločne šifre) ali na neskončnem nizu simbolov (šifre na nizu). - Po tem če je isti ključ uporabljen tako pri enkripciji kot pri dekripciji (algoritmi simetričnega ključa) ali če je za vsako stvar uporabljen drug ključ (algoritmi nesimetričnih ključev). Če je algoritem simetričen, potem mora biti ključ znan prejemniku in nikomur drugem. Če pa je algoritem nesimetričen, potem je šifrirni ključ različen, a tesno povezan, od odšifrirnega ključa. Če en ključ ne more biti izpeljan iz drugega, potem ima algoritem asimetričnega ključa ključ v javni lasti in eden od teh ključev mora biti narejen javno brez izgube zaupnosti. Feistlova šifra uporablja kombinacijo nadomestnih in prenosnih tehnik. Večina algoritmov bločne šifre temelji na tej strukturi.
Etimologija šifre
urediŠifra (v srednjeveški francoščini kot cifre in v srednjeveški latinščini kot cifra, iz arabščine sifr = nič) je alternativno črkovano kot cifra (ta inačica je danes redkejše uporabljena in tako pogosto smatrana za napačno).
Beseda »šifra« je v prejšnjih časih pomenila »nič« in imata isti izvor, kasneje je bila uporabljena za kakršnokoli decimalno števko, celo za katerokoli številko. Tu so te teorije o tem kako je beseda šifra dobila pomen šifriranja (encoding): - Šifriranje pogosto vsebuje številke. - Rimski sistem števil je bil zelo okoren, ker ni bilo nobenega koncepta ničle (ali praznega prostora). Koncept ničle (ki so ji prav tako rekli šifra), ki se nam danes zdi naraven, je bil zelo tuj v srednjeveški Evropi, tako zmeden in dvoumen za tedanje Evropejce, da bi v debatah ljudje rekli: »Govori jasneje in ne tako zavito kot v šifrah.« Šifra je tako pomenila skrivališče čistih sporočil enkripcije. o Francozi so oblikovali besedo »chiffre« in posvojili italijansko besedo »zero«. o Angleži so uporabljali »zero« za »0« in »šifro« iz besede »šifrirati«, ki je pomenila računanje. o Nemci os uporabljali besedi »Ziffer« in »Chiffre«.
Dr. Al-Kadi je sklenil, da se je arabska beseda »sfir«, za številsko ničlo razvila v evropejski tehnični termin za enkripcijo.
Razlika med šiframi in kodami
urediPri ne-tehnični uporabi (skrivna) koda po navadi pomeni »šifro«. Znotraj tehničnih diskusij pa se besedi »šifra« in »koda« nanašata na dva različna koncepta. Kode delujejo na stopnji pomenov. To je, da so besede ali fraze preoblikovane v nekaj drugega in to kosanje po navadi skrajša sporočilo. Na drugi strani pa šifre delujejo na nižji stopnji, na stopnji individualnih črk, majhni skupini črk, v modernih shemah, v individualnih koščkih. Nekateri sistemi uporabljajo tako kode kot šifre v enem sistemu, tako da uporabijo superenchiperment, da bi povečali varnost. V nekaterih primerih sta termina koda in šifra prav tako uporabljena kot sinonima tako za substitucijo kot za transpozicijo.
Historično gledano se je kriptografija zlila v dihotomijo kod in šifer; in kodiranje kot svoja terminologija analogno za šifre v kodiranje, kodirni tekst, dekodiranje in tako naprej.
Kakorkoli, kode imajo kopico slabih strani, vključno z dovzetnostjo za kriptoanalizo in težavnostnim upravljanjem okorne kodirne knjige. Zaradi tega so kode padle v neuporabo v moderni krpitografiji, šifre pa so postale dominantna tehnika.
Vrste šifer
urediImamo veliko raznolikost različnih tipov enkripcije. Zgodnejše uporabljeni algoritmi v zgodovini kriptografije so dokazano drugačni od modernih metod. Moderen šifre so lahko zaupne glede na to kako delujejo in glede na to ali se uporabljata eden ali dva ključa.
Šifre v zgodovini
urediZgodovinske opisne šifre uporabljene v preteklosti so včasih znane kot klasične šifre. Vsebujejo preproste šifre substitucije in šifre transpozicije. Kot primer lahko damo »GOOD DOG«, ki je lahko zašifriran kot »PLLX XLP«, kjer je v sporočilu »L« nadomestek za »O«, »P« za »G in »X« za »D«. Transpozicija črk »GOOD DOG« se lahko izrazi v »DGOGDOO«. Te preproste šifre in primeri so enostavni za razvozlanje celo brez parov šifrirnega ali čistega teksta.
Enostavne šifre so bile zamenjane s polialfabetičnimi nadomestnimi šiframi, ki so spremenile substitucijo abecede za vsako črko. Če uporabimo kar primer »GOOD DOG«, ki ga lahko enkriptirmo kot »PLSX TWF«, kjer »L« , »S« in »W« nadomeščajo »O«. Celo z malo znanja ali nepoznavanja čistega teksta je preprosto abecedno nadomeščanje šifer in črk, ki temelji na opisni enkripciji enostavno rešiti.
Preko zgodnjega dvajsetega stoletja so bili izumljeni elektro-mehanični stroji za potrebe enkripcije in dekripcije, ki so temeljili na transpoziciji, abecedni zamenjavi črk in nekakšne dodatne substitucije. V vrtljivih strojih, so posamezni vrtljivi diski zagotavljali abecedno zamenjavo, medtem ko so stikalne plošče zagotavljale drugačno substitucijo. Ključe se je enostavno spreminjalo s spreminjanjem vrtljivih diskov in žic stikalne plošče. Kljub vsemu so bile te metode enkripcije bolj kompleksne od prejšnjih sistemov in so zahtevale stroj za enkripcijo in dekripcijo. Priprava kot je bila britanska »Bomba« je bila izdelana za razreševanje takšnih enkripcijskih metod.