კეისრის კოდი

თავისუფალი ქართულენოვანი ენციკლოპედია ვიკიპედიიდან
გადასვლა: ნავიგაცია, ძიება
კეისრის შიფრი ფუნქციონირებს ანბანის ასოების რაღაც ბიჯით გადაადგილებით. მაგალითად სურთზე გამოსახულია 3 ნიშნით ბიჯი. მაშასადამე B გახდება E დაშიფრულ ტექსტში.

კრიპტოგრაფიაში კეისრის შიფრი ცნობილია ასევე, კეისრის კოდის, ბიჯით დაშიფრვის სახელწოდებებით (ინგლისურად shift cipher). ეს არის დაშიფრვის ყველაზე მარტივი გზა. ამ დაშიფრვის ტექნიკა აგებულია დაშიფრვა შეცვლის მეთოდზე, ანუ დაუშიფრავი ტექსტის ასო იცვლება ანბანის სხვა ასოთი, რომელიც მისგან დაშორებულია ფიქსირებული ბიჯით. მაგალითად, თუ ჩვენ ვიყენებთ ბიჯს 3-ს, A შეცვლილი იქნება D-თი, B გახდებაE და ა.შ. ამ მეთოდს ეწოდა იულიუს კეისრის სახელი, რაგდან მან პირველმა გამოიყენა ეს მეთოდი, სამხედრო მიმოწერაში.

კეისრის შიფრის განვითარებულ სახეს წარმოადგენს ვიჟნერის შიფრი. დღესდღეობით ის კიდევ გამოიყენება ROT13-ში. თანამედროვე კრიპტოანალიზის თვალსაზრისით კეისრის შიფრს არ გააჩნია სასურველი ღირებულება.

მაგალითი[რედაქტირება]

დაშიფრვა გასაღებით k =3:

საწყისი ტექსტი  : ABCDEFGHIJKLMNOPQRSTUVWXYZ
დაშიფრული ტექსტი  : DEFGHIJKLMNOPQRSTUVWXYZABC

დაშიფრვა შეიძლება ასევე წარმოვადგინოთ მათემატიკური მოდელით. თუ ჩვენ ანბანის ყველა ასოს შეუსაბამებთ რიცხვს (A = 0, B = 1,..., Z = 25), რომ მოვახდინოთ x-ის კოდირება გასაღები n-ით, საკმარისია გამოვიყენოთ შემდეგი ფორმულა:

E_n(x) = (x + n) \mod {26}.

განშიფრვაც იგივენაირია, ოღონდ ვიყენებთ შებრუნებულ გასაღებს( ანუ - n-ს  n  -ის მაგივრად ):

D_n(x) = (x - n) \mod {26}.

კეისრის კოდის გამოყენება შეიძლება არა მარტო ლათინური ანბანისათვის, არამედ მსოფლიოს ნებისმიერი ანბანისათვის. მაგალითად, დაშიფვრა მოვახდინოთ ქართული ანბანის მიხედვით. ვთქვათ გვაქვს მოცემული საწყისი ტექსტი და გვინდა დავშიფროთ ბიჯით 4.

საწყისი ტექსტი: საქართველოლამაზიქვეყანაა
დაშიფრული ტექსტი: ქეჩეფმკიპსპეჟელნჩკიძერეე

კეისრის კოდი ვიჟნერის კოდისგან განსხვავებით იყენებს ერთი ტექსტისთვის ერთიდაიგივე ბიჯს.

ისტორია და გამოყენება[რედაქტირება]

იულიუს კეისარი

კეისრის კოდი თავის დასახელებას იღებს იულიუს კეისრისგან, რომელმაც პირველმა გამოიყენა დაშიფვრა ბიჯით 3 მარცხნივ, სამხედრო სახის მიმოწერაში.

„ ... და მათ, ვისაც სურდა ნაწილობრივ დაემალა ტექსტის შინაარსი, ცვლიდა ტექსტის ასოებს ისე, რომ ტექსტი კარგავდა ჭეშმარიტ სახეს. და მათ, ვისაც სურს ტექსტის გაშიფვრა, ვუთითებ, რომ შეცვლა მოხდა ასო-ასო: ანბანის პირველ ასოს შეესაბამება მეოთხე, თუ გვაქვს A გვექნება D, და ა.შ.“ (სუეტონი, თორმეტი კეისრის ცხოვრება, წიგნი I, პარაგრაფი 56 [1].)

მიუხედავად იმისა, რომ კეისარი იყო პირველი ცნობილი ისტორიული პერსონაჟი, რომელმაც გამოიყენა დაშიფრვის ეს ტექნიკა, ჩვენთვის ცნობილია, რომ ეს ტექნიკა მანამდეც იყო გამოყენებული, მისი ნათესავის ავგუსტუსის მიერ, მაგრამ იმ განსხვავებით, რომ ბიჯი იყო ერთი.

„ყოველთვის, როდესაც ის წერდა დაშიფრული სახით ტექსტს, ის იყენებდა B-ს A-ს მაგივრად, C-ს B-ს მაგივრად და ა.შ. დარჩენილი ანბანისთვის, იყენებდა AA-ს X-ის მაგივრად.“ (სუეტონი, ავგუსტის ცხოვრება, 88.)

უტყუარი ცნობები იმის შესახებ, რომ იულიუს კეისარი იყენებდა უფრო რთულ დაშიფვრის მეთოდებსაც, მოიპოვება ავლ გელის ნაშრომებში (Aulus Gellius, 17.9.1–5).

ვიჟნერის შიფრი არის კეისრის შიფრის ერთ-ერთი ვარიანტი, რომელიც იყენებს სხვადასხვა ბიჯს ტექსტის ყველა ასოსთვის. ბიჯის მნიშვნელობა განისაზღვრება სიტყვა-გასაღების დახმარებით. თუ სიტყვა-გასაღები შევარჩიეთ შემთხვევით, ის, რომ მისი სიგრძე ისეთივე გრძელია როგორც დასაშიფრი შეტყობინება, მაშინ შედეგი თეორიულად გაუტეხელია.

კოდის გატეხა[რედაქტირება]

ბიჯი
ტესტირების ტექსტი
0 GVCTX SKVEQ QI
1 FUBSW RJUDP PH
2 ETARV QITCO OG
3 DSZQU PHSBN NF
4 CRYPT OGRAM ME
5 BQXOS NFQZL LD
6 APWNR MEPYK KC
...
23 JYFWA VNYHT TL
24 IXEVZ UMXGS SK
25 HWDUY TLWFR RJ

კეისრის კოდი შეიძლება გატყდეს ძალიან ადვილად, თუნდ მხოლოდ დაშიფრული ტექსტის საშუალებით შეგვიძლია გამოვყოთ ორი შემთხვევა:

  • კრიპტოანალისტი, რომელმაც იცის, რომ დაშიფვრა მოხდა შეცვლის მეთოდით, მაგრამ უგულებელყოფს, რომ ეს ეხება კეისრის კოდს
  • კრიპტოანალისტმა იცის, რომ გამოყენებულია კეისრის კოდი, მაგრამ უგულებელყოფს ბიჯის მნიშვნელობას

პირველ შემთხვევაში, შესაძლებელია კეისრის შიფრის გატეხვა იმავე ტექნიკით, რასაც ვიყენებთ დაშიფვრა შეცვლის გზის ზოგად შემთხვევაში. ამოცანის გადაწყვეტის პროცესში კრიპტოანალისტისათვის შეუმჩნეველი არ დარჩება ზოგიერთი რეგულარობა ბიჯში, რისგანაც შეძლებს დაადგინოს, რომ გამოყენებული ალორითმი არის კეისრის კოდი.

მეორე შემთხვევაში, შეტევა ხდება პირდაპირი მეთოდით, საკმარისია ვცადოთ ყველა შესაძლო დაშიფვრა, სანამ სასურველს არ ვიპოვით. ფრანგულად attaque par force brute, რომელიც არც თუ ისე ფაქიზი მეთოდია. მარტივი მეთოდით რომ მოვახდინოთ გაშიფვრა, ავიღოთ ტექსტის რაღაც ნაწილი და ჩამოვწეროთ ცხრილში მისი ყველა შესაძლო ბიჯი (იხილეთ ცხრილი). ცხრილში აღებული გვაქვს ფრაგმენტი GVCTX SKVEQ QI; სწორი ტექსტი ადვილად გამოჩნდება მეოთხე ხაზზე.

ანალიზი, რა ასო რა სიხშირით გვხვდება ინგლისურ ტექსტში. სწორედ ასოების სიხშირით შეიძლება კეისრის კოდის გატეხა.

სხვა გზა არის პირდაპირი შეტევა, გავაკეთოთ ანალიზი ასოების გამოჩენის სიხშირეზე: ვადგენთ ასოების სიხშირის გრაფიკს დაშიფრული ტექსტისთვის. მიღებული შედეგების შედარებით ენისთვის დამახასითებელ ასოების გამოჩენის სიხშირულ მონაცემებთჩვენ შეგვიდლია ადვილად აღმოვაჩინოთ ბიჯის მნიშვნელობა. ამ მეთოდს ეწოდება ასოების გამოჩენის სიხშირული ანალიზი. მაგალითად, ინგლისურში ასოებიE და T ყველაზე ხშირად გამოყენებულია, Q და Z ყველაზე ნაკლებად გამოყენებული ასოებია.

ლიტერატურა[რედაქტირება]

  • David Kahn, The Codebreakers — The Story of Secret Writing, 1967. ISBN 0-684-83130-9.
  • F.L. Bauer, Decrypted Secrets, 2nd edition, 2000, Springer. ISBN 3-540-66871-3.
  • Chris Savarese and Brian Hart, The Caesar Cipher, 1999 [2].

იხილეთ აგრეთვე[რედაქტირება]

რესურსები ინტერნეტში[რედაქტირება]