====Vigenèreova šifra==== **Vigenèreova šifra** je polialfabetska supstitucijska šifra koja se sastoji od niza nekoliko [[|Cezarovih šifri]] s različitim pomacima. Kao ključ ne koristimo jedan broj, već jednu riječ ili frazu koja određuje uzorak pomaka. Znakove ključa zbrajamo s odgovarajućim znakovima jasnog teksta kako bismo dobili skriveni tekst. Takav postupak matematički možemo opisati na sljedeći način: Si = ( Ai + Ki ) mod(broj_slova_abecede) **__PRIMJER__ - šifriranje**\\ {{:wiki:vigenere_enkr.png?nolink&500 |}} \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ Kao i svaka supstitucijska šifra, Vigenèreova šifra nije sigurna. Iako je po pitanju napada grubom silom sigurnija od Cezarove, moguće ju je napasti Kasiskijevim testom ili frekvencijskom analizom skrivenog teksta uz pogađanje duljine ključa. **__PRIMJER:__ Zadatak s Hacknite platforme – Zagubljene bilješke** Marko je odlučio istražiti malo više o CERT-u budući da mu je san raditi tamo. Odlučio je raditi bilješke kako bi lakše pamtio ono što pročita. Nažalost, tijekom istraživanja Markovo računalo se zarazilo ransomwareom i bilješke su mu pretvorene u nekakav čudan tekst. Možeš li pomoći Marku kako bi vratio svoje bilješke? Flag je u formatu CTF2021[brojevi] Skriveni tekst: Peuoipefuć GCAM (ULJKZ.da ) đlj sjđljđ NJljdrzbelj čršjaobelj l džbmtesonjčhelj oacđa – GRTUCČ sbiznjču 30. folzzlevč 2007. nieoilj šactr DŽšripć z lučzkoeuodurkp uoććkpzmčć AD (5. žijsšdđljlj) džčz urdokurnuk mlpcsi džš jtljpljgdođć l reljzonjć sj ardžćieđpod njakdžr bdžnntukbml đenjpod ćpmkafčgdžplmod lžbnjenjč o Khžofđlgdž Čtdščlmzđ tlpdž dh kbgsdio bežemčr zsteže tevćgčsiz-uoććkpzmućk džušljcurze b dofpao khnaeipr rdžfatucčćdžrc llnoagsbnjo ž LJljjžffošl Danjččmrilj. Ćlšćnj, hdk njčt fkspcdć žkčkhfio be mđčn: mto, vae, jhč, vhdcč, hcčćto, jhč, vae, jhč, ljhbnj, edš, vljmč, ccbm. ULJKZ.da ulj frao ogdožljgzzh rmz ba pcjgč kj učljegč o ćpgdžjapčo gčsšdžć ć Aašćtsćdo NJkaenjbdžsp (ieukbgs, edžs đlj ž .njk jktapo ođl o čtdščlmzh ĆŠ šjkhbizf žljzlzzljć), kbćo njodhsš vtđšdgh ožkčdc oč ezdh đlj pežsacei Očdkj be bćjćljuiuč ogizljtrdođbdžlnj bnučšdr (RBĆU). Iuoh msnš, Peuoipefuć GCAM bc sčddž ćpgdžjapčdžtr bš openjućo ohćprkt šactr DŽšripć z motljkpljnjotmzđ llnoagsbnjo sžcarzzlje msđćtpod nusonr o jraenjljđlje jćjonjeđpod nusonr džš lhrnjzkh tegmeljbmae, ćpmljelzaormžac blušušlpmrij njaplcnje, jdžnćzefua oimkčbnjanmčoaa, žoi žkbđsdioč ćmsnje džr jljđrauš mlpcsr o jraenjljđljlj jćjonjeđpod nusonr. Ključ nam je nepoznat, a tekst je dugačak i uz to znamo da je Marko istraživao o CERT-u, što znači da možemo očekivati da su četveroznačni akronimi u tekstu uglavnom „CERT“. Pa uzmimo naš prvi četveroznačni akronim u tekstu i pretpostavimo da on kaže CERT. „GCAM“ == „CERT“ S pomoću ovog komada teksta, pokušat ćemo odrediti dio ključa. Si = ( Ai + Ki ) mod(30) G = (C + Ki)mod30 10 = (2 + K) mod30 ------>K = 8 = E C = (E + K) mod30 2 = (8 + K) mod30 ------> K = 24 = Š A = (R + K)mod30 0 = (22 + K)mod30 ------> K = 8 = E M = (T + K) mod30 17 = (25 + K) mod 30 ------> K = 22 = R Sad znamo da ključ sadrži znakovni niz „EŠER“, ali još ne znamo je li to cijeli ključ ili ima još. Možemo pokušati dekriptirati dijelove teksta s različitim duljinama ključeva (EŠEREŠEREŠEREŠER..., xEŠERxEŠERxEŠER..., xxEŠERxxEŠERxxEŠERxxEŠER... itd.) , sve dok ne dobijemo nešto smisleno. Pa pogađajmo! Već u drugom pokušaju (xEŠERxEŠERxEŠER...) dobivamo nešto smisleno, što znači da je duljina našeg ključa 5. To znači da nam preostaje samo jedno nepoznato slovo, koje možemo ili pogađati grubom silom, ili odrediti jednostavnim oduzimanjem (ako znamo koje slovo nedostaje u nekom dijelu teksta iz konteksta okolnih znakova) kao za Cezarovu šifru. \\ Konačni ključ je ČEŠER. Na kraju dobivamo cjeloviti jasni tekst u kojemu možemo pronaći zastavicu: Nacionalni CERT (CERT.hr ) je odjel Hrvatske akademske i istraživačke mreže – CARNET osnovan 30. listopada 2007. godine prema Zakonu o informacijskoj sigurnosti RH (5. poglavlje) kao nacionalno tijelo za prevenciju i zaštitu od računalnih ugroza sigurnosti javnih informacijskih sustava u Republici Hrvatskoj čiji je osnovni zadatak obrada računalno-sigurnosnih incidenata s ciljem očuvanja kibernetičke sigurnosti u Republici Hrvatskoj. Usput, evo vam brojevi potrebni za flag: tri, dva, pet, devet, četiri, pet, dva, pet, šest, dva, šest, šest. CERT.hr se bavi incidentom ako se jedna od strana u incidentu nalazi u Republici Hrvatskoj (odnosno, ako je u .hr domeni ili u hrvatskom IP adresnom prostoru), osim tijela državne uprave za koje je nadležan Zavod za sigurnost informacijskih sustava (ZSIS). Osim toga, Nacionalni CERT se bavi incidentima sa znatnim učinkom prema Zakonu o kibernetičkoj sigurnosti operatora ključnih usluga i davatelja digitalnih usluga za sektore bankarstva, infrastrukture financijskog tržišta, digitalne infrastrukture, dio poslovnih usluga za državna tijela i davatelje digitalnih usluga. ===Izvori=== [1] Christof Paar, Jan Pelzl, Understanding Cryptography, Springer-Verlag Berlin Heidelberg, 2009.\\ [2] https://platforma.hacknite.hr/challenges\\ [3] Kriptografija i kriptoanaliza, predavanja, FER\\