Ang pangangailangang i-encrypt ang mga sulat ay lumitaw sa sinaunang mundo, at lumitaw ang mga simpleng substitution cipher. Tinukoy ng mga naka-encrypt na mensahe ang kapalaran ng maraming labanan at naimpluwensyahan ang takbo ng kasaysayan. Sa paglipas ng panahon, nag-imbento ang mga tao ng higit at mas advanced na mga paraan ng pag-encrypt.
Ang Code at cipher ay, nga pala, magkaibang konsepto. Ang una ay nangangahulugan ng pagpapalit ng bawat salita sa mensahe ng isang code word. Ang pangalawa ay i-encrypt ang bawat simbolo ng impormasyon gamit ang isang partikular na algorithm.
Pagkatapos magsimulang mag-encode ng impormasyon ang matematika at mabuo ang teorya ng cryptography, natuklasan ng mga siyentipiko ang maraming kapaki-pakinabang na katangian ng inilapat na agham na ito. Halimbawa, ang mga algorithm sa pag-decode ay nakatulong sa paglutas ng mga patay na wika gaya ng sinaunang Egyptian o Latin.
Steganography
Ang Steganography ay mas luma kaysa sa coding at encryption. Ang sining na ito ay umiral sa napakatagal na panahon. Ito ay literal na nangangahulugang "nakatagong pagsulat" o "pagsusulat ng cipher". Bagama't hindi masyadong natutugunan ng steganography ang mga kahulugan ng isang code o cipher, nilayon nitong itago ang impormasyon mula sa mga estranghero.mata.
Ang Steganography ay ang pinakasimpleng cipher. Ang mga nakalunok na tala na natatakpan ng wax ay karaniwang mga halimbawa, o isang mensahe sa isang ahit na ulo na nagtatago sa ilalim ng tumubong buhok. Ang pinakamalinaw na halimbawa ng steganography ay ang paraan na inilalarawan sa maraming English (at hindi lamang) mga detective na libro, kapag ang mga mensahe ay ipinadala sa pamamagitan ng isang pahayagan, kung saan ang mga titik ay hindi nakikitang minarkahan.
Ang pangunahing kawalan ng steganography ay mapapansin ito ng isang matulungin na estranghero. Samakatuwid, para maiwasang madaling mabasa ang lihim na mensahe, ginagamit ang mga paraan ng pag-encrypt at coding kasabay ng steganography.
ROT1 at Caesar cipher
Ang pangalan ng cipher na ito ay ROTate 1 letter forward, at kilala ito ng maraming mag-aaral. Ito ay isang simpleng substitution cipher. Ang kakanyahan nito ay nakasalalay sa katotohanan na ang bawat titik ay naka-encrypt sa pamamagitan ng paglilipat ayon sa alpabeto ng 1 titik pasulong. A -> B, B -> C, …, Z -> A. Halimbawa, ine-encrypt namin ang pariralang "malakas na umiiyak ang aming Nastya" at nakuha namin ang "pangkalahatang Obtua dspnlp rmbsheu".
Ang ROT1 cipher ay maaaring gawing pangkalahatan sa isang arbitrary na bilang ng mga offset, pagkatapos ay tinatawag itong ROTN, kung saan ang N ay ang numero kung saan dapat ilipat ang pag-encrypt ng mga titik. Sa ganitong anyo, ang cipher ay kilala mula pa noong sinaunang panahon at tinatawag na "Caesar cipher".
Ang Caesar cipher ay napakasimple at mabilis, ngunit ito ay isang simpleng solong permutation cipher at samakatuwid ay madaling masira. Sa pagkakaroon ng ganoong disbentaha, angkop lamang ito para sa mga pambata na kalokohan.
Transpositional o permutation ciphers
Ang mga uri ng simpleng permutation cipher na ito ay mas seryoso at aktibong ginamit kamakailan lang. Sa panahon ng American Civil War at World War I, ginamit ito upang magpadala ng mga mensahe. Ang kanyang algorithm ay binubuo sa muling pagsasaayos ng mga titik sa mga lugar - isulat ang mensahe sa reverse order o muling ayusin ang mga titik sa mga pares. Halimbawa, i-encrypt natin ang pariralang "Ang Morse code ay isa ring cipher" -> "akubza ezrom - hedgehog rfish".
Sa isang mahusay na algorithm na tumutukoy sa mga arbitrary na permutasyon para sa bawat karakter o pangkat ng mga ito, ang cipher ay naging lumalaban sa simpleng pag-crack. Ngunit! Sa takdang panahon lamang. Dahil ang cipher ay madaling masira sa pamamagitan ng simpleng brute force o pagtutugma ng diksyunaryo, ngayon ay kayang hawakan ng anumang smartphone ang pag-decryption nito. Samakatuwid, sa pagdating ng mga computer, ang cipher na ito ay lumipat din sa kategorya ng mga bata.
Morse code
Ang ABC ay isang daluyan ng pagpapalitan ng impormasyon at ang pangunahing gawain nito ay gawing mas madali at maunawaan ang mga mensahe para sa paghahatid. Bagaman ito ay salungat sa kung para saan ang pag-encrypt. Gayunpaman, ito ay gumagana tulad ng pinakasimpleng mga cipher. Sa Morse system, ang bawat titik, numero, at bantas ay may sariling code, na binubuo ng isang pangkat ng mga gitling at tuldok. Kapag nagpapadala ng mensahe gamit ang telegraph, ang mga gitling at tuldok ay kumakatawan sa mahaba at maiikling signal.
Telegraph at Morse code… Si Morse ang unang nag-patent ng "kanyang" imbensyon noong 1840, kahit na ang mga katulad na device ay naimbento na sa Russia at England bago siya. Ngunit sino ang nagmamalasakit ngayon … Telegraph at alpabetoAng Morse code ay may napakalaking epekto sa mundo, na nagbibigay-daan sa halos agarang paghahatid ng mga mensahe sa mga kontinental na distansya.
Monoalphabetic substitution
Ang ROTN at Morse code na inilarawan sa itaas ay mga halimbawa ng monoalphabetic na kapalit na font. Ang prefix na "mono" ay nangangahulugan na sa panahon ng pag-encrypt, ang bawat titik ng orihinal na mensahe ay pinapalitan ng isa pang titik o code mula sa nag-iisang alpabeto ng pag-encrypt.
Ang pag-decipher ng mga simpleng substitution cipher ay hindi mahirap, at ito ang kanilang pangunahing disbentaha. Ang mga ito ay malulutas sa pamamagitan ng simpleng enumeration o frequency analysis. Halimbawa, kilala na ang pinaka ginagamit na mga titik ng wikang Ruso ay "o", "a", "i". Kaya, maaaring ipagpalagay na sa ciphertext ang mga titik na madalas na nangyayari ay nangangahulugang alinman sa "o", o "a", o "at". Batay sa mga pagsasaalang-alang na ito, maaaring i-decrypt ang mensahe kahit na walang paghahanap sa computer.
Alam na si Mary I, Queen of Scots mula 1561 hanggang 1567, ay gumamit ng napakakomplikadong monoalphabetic substitution cipher na may ilang kumbinasyon. Gayunpaman, naunawaan ng kanyang mga kaaway ang mga mensahe, at sapat na ang impormasyon para hatulan ng kamatayan ang reyna.
Gronsfeld cipher, o polyalphabetic substitution
Ang mga simpleng cipher ay idineklara na walang silbi sa pamamagitan ng cryptography. Samakatuwid, marami sa kanila ang napabuti. Ang Gronsfeld cipher ay isang pagbabago ng Caesar cipher. Ang pamamaraang ito ay higit na lumalaban sa pag-hack at nakasalalay sa katotohanan na ang bawat karakter ng naka-encode na impormasyon ay naka-encrypt gamit ang isa sa iba't ibang mga alpabeto, na paulit-ulit na paikot. Masasabing isa itong multi-dimensional na aplikasyonang pinakasimpleng substitution cipher. Sa katunayan, ang Gronsfeld cipher ay halos kapareho sa Vigenère cipher na tinalakay sa ibaba.
ADFGX encryption algorithm
Ito ang pinakasikat na World War I cipher na ginamit ng mga German. Nakuha ng cipher ang pangalan nito dahil pinangunahan ng encryption algorithm ang lahat ng ciphergrams sa paghalili ng mga titik na ito. Ang pagpili ng mga titik sa kanilang sarili ay tinutukoy ng kanilang kaginhawahan kapag ipinadala sa mga linya ng telegrapo. Ang bawat titik sa cipher ay kinakatawan ng dalawa. Tingnan natin ang isang mas kawili-wiling bersyon ng ADFGX square na may kasamang mga numero at tinatawag na ADFGVX.
A | D | F | G | V | X | |
A | J | Q | A | 5 | H | D |
D | 2 | E | R | V | 9 | Z |
F | 8 | Y | I | N | K | V |
G | U | P | B | F | 6 | O |
V | 4 | G | X | S | 3 | T |
X | W | L | Q | 7 | C | 0 |
Ang ADFGX squaring algorithm ay ang sumusunod:
- Pumili ng random n mga titik para sa mga column at row.
- Pagbuo ng N x N matrix.
- Ilagay ang alpabeto, mga numero, mga character na random na nakakalat sa mga cell sa matrix.
Gumawa tayo ng katulad na parisukat para sa wikang Ruso. Halimbawa, gumawa tayo ng parisukat na ABCD:
A | B | B | G | D | |
A | E/E | N | b/b | A | I/Y |
B | W | V/F | G/R | З | D |
B | Sh/Sh | B | L | X | I |
G | R | M | O | Yu | P |
D | F | T | T | S | U |
Mukhang kakaiba ang matrix na ito dahil ang isang row ng mga cell ay naglalaman ng dalawang titik. Ito ay katanggap-tanggap, ang kahulugan ng mensahe ay hindi nawawala. Madali itong maibalik. I-encrypt ang pariralang "Compact cipher" gamit ang talahanayang ito:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | |
Parirala | K | O | M | P | A | K | T | N | S | Y | Ш | & | F | R |
Cipher | bw | gv | gb | where | ag | bw | db | ab | dg | hell | wa | hell | bb | ha |
Kaya, ganito ang hitsura ng huling naka-encrypt na mensahe: "bvgvgbgdagbvdbabdgvdvaadbbga." Siyempre, ang mga Aleman ay nagsagawa ng isang katulad na linya sa pamamagitan ng ilang higit pang mga cipher. At sa huli ito ay naging napaka-stablepara basagin ang naka-encrypt na mensahe.
Vigenère cipher
Ang cipher na ito ay isang order ng magnitude na mas lumalaban sa pag-crack kaysa sa mga monoalphabetic, bagama't isa itong simpleng text replacement cipher. Gayunpaman, dahil sa matatag na algorithm, matagal nang itinuturing na imposibleng i-hack. Ang unang pagbanggit nito ay nagsimula noong ika-16 na siglo. Si Vigenère (isang French diplomat) ay maling kinikilala bilang imbentor nito. Para mas maunawaan kung ano ang nakataya, isaalang-alang ang talahanayan ng Vigenère (Vigenère square, tabula recta) para sa wikang Russian.
Simulan natin ang coding ng pariralang "Kasperovich laughs". Ngunit para magtagumpay ang pag-encrypt, kailangan ang isang keyword - hayaan itong maging "password". Ngayon simulan natin ang pag-encrypt. Upang gawin ito, isinusulat namin ang susi nang maraming beses na ang bilang ng mga titik mula rito ay tumutugma sa bilang ng mga titik sa naka-encrypt na parirala, sa pamamagitan ng pag-uulit ng susi o pagputol:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | |
Parirala: | K | A | С | P | E | R | O | B | & | W | С | M | E | E | T | С | I |
Susi | P | A | R | O | L | b | P | A | R | O | L | b | P | A | R | O | L |
Ngayon, gamit ang talahanayan ng Vigenère, tulad ng sa coordinate plane, naghahanap kami ng isang cell na intersection ng mga pares ng mga titik, at makuha namin ang: K + P=b, A + A=B, C + P=C, atbp.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | |
Cipher: | b | B | B | Yu | С | N | Yu | G | Sch | F | E | Y | X | F | G | A | L |
Naiintindihan namin na "tumawa si Kasperovich"="bvusnyugschzh eykhzhgal".
Napakahirap ang pag-crack ng Vigenère cipher dahil kailangang malaman ng pagsusuri sa dalas ang haba ng keyword upang gumana. Kaya ang hack ay random na itapon ang haba ng keyword at subukang basagin ang lihim na mensahe.
Dapat ding banggitin na bilang karagdagan sa isang ganap na random na key, maaaring gumamit ng isang ganap na naiibang talahanayan ng Vigenère. Sa kasong ito, ang Vigenère square ay binubuo ng isang linya-by-line na nakasulat na alpabetong Ruso na may shift ng isa. Na tumutukoy sa amin sa ROT1 cipher. At tulad ng sa Caesar cipher, ang offset ay maaaring anuman. Bukod dito, ang pagkakasunud-sunod ng mga titik ay hindi kailangang alphabetical. Sa kasong ito, ang talahanayan mismo ay maaaring maging susi, nang hindi nalalaman kung alin ang magiging imposibleng basahin ang mensahe, kahit na alam ang susi.
Mga Code
Ang mga totoong code ay binubuo ng mga tugma para sa bawat isamga salita ng isang hiwalay na code. Upang makatrabaho sila, kailangan ang tinatawag na mga code book. Sa katunayan, ito ay ang parehong diksyunaryo, na naglalaman lamang ng mga pagsasalin ng mga salita sa mga code. Ang karaniwang at pinasimpleng halimbawa ng mga code ay ang ASCII table - isang international cipher ng mga simpleng character.
Ang pangunahing bentahe ng mga code ay ang mga ito ay napakahirap i-decipher. Ang pagsusuri sa dalas ay halos hindi gumagana kapag sila ay na-hack. Ang kahinaan ng mga code ay, sa katunayan, ang mga libro mismo. Una, ang kanilang paghahanda ay isang masalimuot at mahal na proseso. Pangalawa, para sa mga kaaway sila ay nagiging isang gustong bagay at ang pagharang ng kahit na bahagi ng aklat ay pinipilit kang baguhin ang lahat ng mga code nang lubusan.
Noong ika-20 siglo, maraming estado ang gumamit ng mga code para maglipat ng lihim na data, binabago ang code book pagkatapos ng isang tiyak na panahon. At aktibo rin silang nanghuhuli ng mga libro ng mga kapitbahay at kalaban.
Enigma
Alam ng lahat na ang Enigma ang pangunahing cipher machine ng mga Nazi noong World War II. Kasama sa istruktura ng Enigma ang kumbinasyon ng mga electrical at mechanical circuit. Kung paano lalabas ang cipher ay depende sa paunang pagsasaayos ng Enigma. Kasabay nito, awtomatikong binabago ng Enigma ang configuration nito sa panahon ng operasyon, na nag-e-encrypt ng isang mensahe sa ilang paraan sa buong haba nito.
Kabaligtaran sa mga pinakasimpleng cipher, ang "Enigma" ay nagbigay ng trilyon-trilyong posibleng kumbinasyon, na naging dahilan kung bakit halos imposible ang pag-crack ng naka-encrypt na impormasyon. Sa turn, ang mga Nazi ay may isang tiyak na kumbinasyon na inihanda para sa bawat araw, na kung saan silaginagamit sa isang partikular na araw upang magpadala ng mga mensahe. Samakatuwid, kahit na nahulog si Enigma sa mga kamay ng kalaban, wala itong nagawa para i-decrypt ang mga mensahe nang hindi inilalagay ang tamang configuration araw-araw.
Hack "Enigma" ay aktibong sinubukan sa buong kampanyang militar ni Hitler. Sa England, noong 1936, isa sa mga unang computing device (Turing machine) ang binuo para dito, na naging prototype ng mga computer sa hinaharap. Ang kanyang gawain ay gayahin ang operasyon ng ilang dosenang Enigmas nang sabay-sabay at patakbuhin ang mga naharang na mensahe ng Nazi sa pamamagitan ng mga ito. Ngunit kahit ang Turing machine ay paminsan-minsan lang nagagawang basagin ang mensahe.
Public key encryption
Ang pinakasikat sa mga algorithm ng pag-encrypt, na ginagamit saanman sa teknolohiya at mga computer system. Ang kakanyahan nito ay namamalagi, bilang isang panuntunan, sa pagkakaroon ng dalawang susi, ang isa ay ipinadala sa publiko, at ang pangalawa ay lihim (pribado). Ginagamit ang pampublikong key para i-encrypt ang mensahe at ang pribadong key ay ginagamit para i-decrypt ito.
Ang pampublikong susi ay kadalasang isang napakalaking numero na mayroon lamang dalawang divisors, hindi binibilang ang isa at ang numero mismo. Magkasama, ang dalawang divisors na ito ay bumubuo ng isang secret key.
Pag-isipan natin ang isang simpleng halimbawa. Hayaang 905 ang public key. Ang mga divisors nito ay ang mga numero 1, 5, 181 at 905. Kung gayon ang secret key ay, halimbawa, ang numerong 5181. Masyado bang madali ang sinasabi mo? Paano kung sa roleang pampublikong numero ay magiging isang numero na may 60 digit? Mahirap kalkulahin sa matematika ang mga divisors ng malaking bilang.
Para sa mas malinaw na halimbawa, isipin na nag-withdraw ka ng pera mula sa isang ATM. Kapag nagbabasa ng card, ang personal na data ay naka-encrypt gamit ang isang partikular na pampublikong susi, at sa gilid ng bangko, ang impormasyon ay na-decrypt gamit ang isang lihim na susi. At ang pampublikong key na ito ay maaaring baguhin para sa bawat operasyon. At walang mga paraan upang mabilis na makahanap ng mga pangunahing divisors kapag naharang ito.
Tagal ng font
Ang lakas ng cryptographic ng isang encryption algorithm ay ang kakayahang labanan ang pag-hack. Ang parameter na ito ang pinakamahalaga para sa anumang pag-encrypt. Malinaw, ang simpleng substitution cipher, na maaaring i-decrypt ng anumang electronic device, ay isa sa mga hindi matatag.
Ngayon, walang pare-parehong pamantayan kung saan posibleng masuri ang lakas ng cipher. Ito ay isang matrabaho at mahabang proseso. Gayunpaman, mayroong isang bilang ng mga komisyon na gumawa ng mga pamantayan sa lugar na ito. Halimbawa, ang mga minimum na kinakailangan para sa Advanced Encryption Standard o AES encryption algorithm na binuo ng NIST USA.
Para sanggunian: ang Vernam cipher ay kinikilala bilang ang pinaka-lumalaban na cipher sa pagsira. Kasabay nito, ang bentahe nito ay, ayon sa algorithm nito, ito ang pinakasimpleng cipher.