Vigenère cipher. Vigenère square. Pag-encrypt ng teksto

Talaan ng mga Nilalaman:

Vigenère cipher. Vigenère square. Pag-encrypt ng teksto
Vigenère cipher. Vigenère square. Pag-encrypt ng teksto
Anonim

Sa kabila ng katotohanang maraming beses na muling ginawa ang cipher, una itong inilarawan ni Giovan Battista Bellaso noong 1553. Kasunod nito, natanggap niya ang pangalan ng Pranses na diplomat na si Blaise Vigenère. Ang pagpipiliang ito ay medyo simple upang ipatupad at maunawaan, dahil ito ang pinaka-naa-access na paraan ng cryptanalysis.

Paglalarawan ng Paraan

Ang Wizhner cipher ay may kasamang sequence ng ilang Caesar cipher. Ang huli ay nailalarawan sa pamamagitan ng paglipat ng ilang mga linya. Para sa mga layunin ng pag-encrypt, maaari kang gumamit ng talahanayan ng mga alpabeto na tinatawag na Vigenère square. Sa mga propesyonal na bilog, ito ay tinutukoy bilang tabula recta. Ang talahanayan ng Vigenère ay binubuo ng ilang linya ng 26 na character. Ang bawat bagong linya ay gumagalaw ng isang tiyak na bilang ng mga posisyon. Bilang resulta, naglalaman ang talahanayan ng 26 na magkakaibang mga font ng Caesar. Kasama sa bawat yugto ng pag-encrypt ang paggamit ng ibang alpabeto, na pinipili depende sa karakter ng keyword.

Paraan ng pag-encrypt
Paraan ng pag-encrypt

Upang mas maunawaan ang esensya ng paraang ito, isaalang-alang natin ang pag-encrypt ng text gamit ang salitang ATTACKATDAWN bilang isang halimbawa. Isusulat ng taong nagpapadala ng text ang keyword na "LEMON" hanggang sa tumugma ito sa haba ng ipinadalang text. Ang magiging hitsura ng keywordLEMONLEMONLE. Ang unang character ng ibinigay na text - A - ay naka-encrypt na may sequence L, na siyang unang character ng key. Matatagpuan ang character na ito sa intersection ng row L at column A. Para sa susunod na character ng ibinigay na text, ginagamit ang pangalawang key character. Samakatuwid, ang pangalawang karakter ng naka-encode na teksto ay magiging kamukha ng X. Ito ay resulta ng intersection ng row E at column T. Ang ibang bahagi ng ibinigay na text ay naka-encrypt sa katulad na paraan. Ang resulta ay ang salitang LXFOPVEFRNHR.

Proseso ng pag-decryption

Ang salita ay binibigyang kahulugan gamit ang talahanayan ng Vigenère. Kailangan mong hanapin ang string na tumutugma sa unang character ng keyword. Maglalaman ang string ng unang character ng ciphertext.

Encoding ng Mensahe
Encoding ng Mensahe

Ang column na naglalaman ng character na ito ay tutugma sa unang character ng source text. Ang mga kasunod na value ay ide-decrypt sa parehong paraan.

Mahalagang Tip

Kapag nagbibigay ng ciphertext, dapat kang tumukoy ng keyword. Kakailanganin ito upang ma-decrypt ang code gamit din ang Russian Vigenère cipher. Upang matiyak na tama ang pag-encode, mas mahusay na i-double check ang teksto. Kung hindi na-encode nang tama ang text, hindi ito ma-decode nang tama.

Tagagawa ng Cipher
Tagagawa ng Cipher

Kapag ginagamit ang Vigenère square na may mga puwang at bantas, ang proseso ng pag-decode ay magiging mas kumplikado. Mahalagang malaman na ang madalas na pag-uulit ng code word ay magpapadali sa pag-decipher ng teksto. Samakatuwid, ang impormasyon ng code ay dapatmaging mahaba.

Babala sa pamamaraan

Ang Vigenère cipher, tulad ng marami pang iba, ay hindi secure dahil madali itong ma-crack. Kung may pangangailangan na maglipat ng lihim na impormasyon, hindi mo kailangang gumamit ng pamamaraang ito. Ang iba pang mga pamamaraan ay binuo para sa gayong mga layunin. Ang Vigenère cipher ay isa sa mga pinakaluma at pinakasikat na paraan ng pag-encrypt.

Data Encryption
Data Encryption

Ang susi ay isang espesyal na parirala. Ito ay paulit-ulit nang maraming beses at isinulat sa ibabaw ng naka-encrypt na teksto. Bilang resulta, ang bawat titik ng ipinadalang mensahe ay inilipat kaugnay sa tinukoy na teksto sa pamamagitan ng isang tiyak na numero, na tinukoy ng titik ng passphrase. Sa loob ng ilang siglo, ang pamamaraang ito ay patuloy na hawak ang posisyon ng pinaka-maaasahang paraan ng pag-encrypt. Noong ika-19 na siglo, ang mga unang pagtatangka na basagin ang Vigenère cipher ay nabanggit, na batay sa pagtukoy sa haba ng pangunahing parirala. Kung alam ang haba nito, maaaring hatiin ang text sa ilang partikular na fragment, na naka-encode ng parehong shift.

Mga karagdagang paraan ng pag-decryption

Maaari mong buksan ang orihinal na mensahe gamit ang paraan ng pagsusuri sa dalas kung sapat ang haba ng ibinigay na teksto. Ang paglutas ng cipher ay higit sa lahat ay nagmumula sa paghahanap ng haba ng pangunahing parirala. Mayroong dalawang pangunahing pamamaraan na nagbibigay-daan sa iyo upang matukoy ang haba ng pangunahing parirala. Ang unang paraan para sa pag-decode ng Vigenère cipher ay binuo ni Friedrich Kassitzky. Ang pamamaraang ito ay batay sa paghahanap para sa bigrams. Ang kakanyahan nito ay nakasalalay sa katotohanan na kung ang parehong digram ay paulit-ulit sa naka-encode na mensahe sa layo na isang multiple ng haba ng key.parirala, pagkatapos ay may mataas na posibilidad na ito ay magaganap sa parehong mga posisyon sa ciphertext. Kung makakita ka ng isang ibinigay na distansya, kunin ang mga divisors nito, maaari kang makakuha ng isang set ng ilang mga numero. Sila ang magiging haba ng pangunahing parirala. Gayunpaman, ang pamamaraang ito ay nangangailangan ng ilang swerte. Sa isang malaking naka-encode na text, makakahanap ka ng mga random na bigram, na lubos na magpapalubha sa proseso ng pag-decryption.

Paraan ng pag-encrypt
Paraan ng pag-encrypt

Ang pangalawang paraan para sa pag-decipher ng teksto ay iminungkahi ni Friedman. Ang kakanyahan nito ay nakasalalay sa cyclic shift ng naka-encode na mensahe. Ang resultang teksto ay isinulat sa ilalim ng orihinal na ciphertext at ang bilang ng magkatugmang mga titik sa ibaba at itaas na mga linya ay binibilang. Ang mga resultang numero ay nagpapahintulot sa iyo na kalkulahin ang tinatawag na index ng tugma. Ito ay tinutukoy ng ratio ng mga tugma sa kabuuang haba ng mensahe. Ang coincidence index para sa mga tekstong Ruso ay humigit-kumulang 6%. Gayunpaman, para sa mga random na teksto, ang index na ito ay humigit-kumulang 3 o 1/32. Ang pamamaraan ni Friedman ay batay sa katotohanang ito. Ang naka-encode na teksto ay nakasulat na may shift na 1, 2, 3, atbp. mga posisyon. Pagkatapos, para sa bawat shift, kailangan mong kalkulahin ang index ng mga tugma. Kaya, kinakailangang magsagawa ng cyclic shift ng buong mensahe. Kapag inililipat ang index sa isang tiyak na bilang ng mga character, maaaring tumaas nang husto ang haba nito. Iminumungkahi nito na ang haba ng keyword ay maaaring katumbas ng isang tiyak na numero. Kung mangyari ang isang sitwasyon kung saan ang lahat ng mga character ay inilipat sa parehong posisyon, ang index ng tugma ay magkakaroon ng parehong halaga tulad ng orihinal.text. Kung ang isang index ay kinakalkula para sa isang Vigenère cipher, ang paghahambing ng epektibong random na text ay magaganap pa rin.

Magsagawa ng pagsusuri sa dalas

Kung positibo ang resulta ng proseso ng pag-decryption, maaari kang maglagay ng text sa mga column. Ang mga hanay ay nabuo batay sa pinagmulang teksto. Inimbento ni Kassitzky ang pinaka-advanced na anyo ng teksto. Gayunpaman, ang paraan ng pamamaraang ito ay hindi mailalapat kung ang sala-sala ay lumihis mula sa karaniwang pagkakasunud-sunod ng mga titik sa alpabeto. Samakatuwid, binibigyang-daan ka ng paraang ito na malaman ang haba ng mga susi sa mga espesyal na kaso lamang.

Inirerekumendang: