კეისრის კოდი

მინი|320px|კეისრის შიფრი ფუნქციონირებს ანბანის ასოების რაღაც ბიჯით გადაადგილებით. მაგალითად სურთზე გამოსახულია 3 ნიშნით ბიჯი. მაშასადამე B გახდება E დაშიფრულ ტექსტში.

კრიპტოგრაფიაში **კეისრის შიფრი** ცნობილია ასევე, **კეისრის კოდის**, **ბიჯით დაშიფრვის** სახელწოდებებით (ინგლისურად ) — დაშიფრვის ყველაზე მარტივი გზა. ამ დაშიფრვის ტექნიკა აგებულია დაშიფრვა შეცვლის მეთოდზე, ანუ დაუშიფრავი ტექსტის ასო იცვლება  ანბანის სხვა ასოთი, რომელიც  მისგან დაშორებულია ფიქსირებული ბიჯით. მაგალითად, თუ ჩვენ ვიყენებთ ბიჯს 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.

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

## ისტორია და გამოყენება 
thumbnail|იულიუს კეისარი

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

:„ ... და მათ, ვისაც სურდა ნაწილობრივ დაემალა ტექსტის შინაარსი, ცვლიდა ტექსტის ასოებს ისე, რომ ტექსტი კარგავდა ჭეშმარიტ სახეს. და მათ, ვისაც სურს ტექსტის გაშიფვრა, ვუთითებ, რომ შეცვლა მოხდა ასო-ასო: ანბანის პირველ ასოს შეესაბამება მეოთხე, თუ გვაქვს A გვექნება D, და ა.შ.“ (სუეტონი, *თორმეტი კეისრის ცხოვრება*, წიგნი I, პარაგრაფი 56 http://www.fordham.edu/halsall/ancient/suetonius-julius.html .)

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

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

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

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

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

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

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

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

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

სხვა გზა არის პირდაპირი შეტევა, გავაკეთოთ ანალიზი ასოების გამოჩენის სიხშირეზე: ვადგენთ ასოების სიხშირის გრაფიკს დაშიფრული ტექსტისთვის. მიღებული შედეგების შედარებით ენისთვის დამახასითებელ ასოების გამოჩენის სიხშირულ მონაცემებთჩვენ შეგვიდლია ადვილად აღმოვაჩინოთ ბიჯის მნიშვნელობა. ამ მეთოდს ეწოდება ასოების გამოჩენის სიხშირული ანალიზი. მაგალითად, ინგლისურში ასოები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 http://starbase.trincoll.edu/~crypto/historical/caesar.html .

## იხილეთ აგრეთვე 
* ერთეულოვანი დაშორება

## რესურსები ინტერნეტში 
*  A Caesar shift decoder in Excel format allowing you to see all 25 possibilities simultaneously 
* Cryptage en ligne
*  Un autre outil de cryptographie  შეტყობინების გაშიფვრა პირაპირი შეტევით *brute force*.
*  Code Cracker ; დაშიფვრა ონლაინზე, მრავალი ალგორითმით

კატეგორია:კრიპტოგრაფია