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

კრიპტოგრაფია (წარმოიშვა ბერძნული სიტყვებიდან κρυπτός „კრიპტოს“ — ფარული, და ზმნიდან γράφω „გრაფო“ — წერა, ანუ ფარული წერა) — მეცნიერება ინფორმაციის დაფარვის შესახებ. კრიპტოგრაფია განიხილება, როგორც მათემატიკისა და კომპიუტერული მეცნიერებების განაყოფი და მჭიდროდ დაკავშირებულია მეცნიერების ისეთ დარგებთან, როგორებიცაა ინფორმაციის თეორია, კომპიუტერული უსაფრთხოება და ინჟინერია. დღესდღეობით იგი გამოიყენება ტექნოლოგიურად განვითარებულ სფეროებში, როგორიცაა: საკრედიტო ბარათები, კომპიუტერული პაროლები, ელექტრონული კომერცია და მრავალი სხვა. კრიპტოგრაფიული სისტემა ყოველთვის გულისხმობს 2 ან მეტ მონაწილეს, „გამგზავნს“ და „მიმღებს“, რომელთაც სურთ ერთმანეთს გადასცენ რაიმე სახის ინფორმაცია, ისე რომ ამ სისტემის გარეშე პირმა ვერ შეძლოს ამ ინფორმაციის მოპოვება. (კერძო შემთხვევებში მონაწილე შეიძლება იყოს ერთი პირი, რომელსაც სურს მოახდინოს ინფორმაციის საიმედოდ შენახვა, ანუ ინფორმაცია გადასცეს თავის თავს, ოღონდ მომავალში). თვითონ გადასაცემ ინფორმაციას ეწოდება ღია ტექსტი. ინფორმაციის სახეცვლილებას ისე, რომ დაფარულ იქნას მისი აზრი, შიფრაციას უწოდებენ, უკუპროცესს — დეშიფრაციას, მიღებულ შედეგს — შიფროტექსტს, ხოლო შიფრაცია/დეშიფრაციის ალგორითმს — შიფრს. ეს პროცესი უმეტეს შემთხვევაში დამოკიდებულია გასაღებზე. ეს არის საიდუმლო პარამეტრი, რომელიც ცნობილია მხოლოდ ურთიერთმოკავშირე მხარეებისათვის. შიფრები გასაღების გარეშე უსარგებლოა, რადგან არსებობს მათი გატეხვის ტრივიალური ხერხები. კრიპტოსისტემა წარმოადგენს შიფრის, ყველა შესაძლო ღია ტექსტის, შიფროტექსტის და გასაღების ერთობლიობას. კრიპტოგრაფიული პროტოკოლები წარმოადგენენ წესების ერთობლიობას, რომლებიც სრულდება კრიპტოგრაფიული სისტემის მონაწილეების მიერ, თანამიმდევრობით და უპირობოდ. ტერმინი „კოდი“ კრიპტოგრაფიაში აღნიშნავს ჩვეულებრივი ტექსტის ნაწილის შეცვლას კოდურის სიტყვით ან ფრაზით (მაგ. „ხმალი“ შესაძლოა აღნიშნავდეს „გაანადგურე მტერი“). კოდები სერიოზულ კრიპტოგრაფიაში აღარ გამოიყენება რადგან, მისი გამოყენება მოითხოვს, მონაცემთა გადაცემამდე მოკავშირეთა შორის ყველა შესაძლო მონაცემი შესაბამისი სიტყვებით კოდირებული და ურთიერთშეთანხმებული იქნას . ამავე დროს ყოველთვის არსებობს მონაცემთა სიმრავლე, რომელთათვისაც შესაბამისი კოდური სიტყვა ჯერ არ შეთანხმებულა. შიფრები უფრო მოსახერხებელია და ამავე დროს უფრო მისადაგებული კომპიუტერულ გამოთვლებთან. თანამედროვე ერამდე, კრიპტოგრაფია გამოიყენებოდა შეტყობინებათა საიდუმლოების დასაცავად — ტექსტის გარდაქმნით სიმბოლოების გაურკვეველ ნაკრებად, ისე რომ უკუგარდაქმნა იოლი ყოფილიყო მხოლოდ შეტყობინების ადრესატისათვის. უკანასკნელ ათწლეულებში კრიპტოგრაფიამ ისეთი ფუნქციებიც შეიძინა, როგრებიცაა შეტყობინების მთლიანობის შემოწმება, აუთენტიფიკაცია, ციფრული ხელმოწერა, პირადობის შემოწმება, საიდუმლო გამოთვლები და სხვა. შიფრის კლასიკური ტიპებია გადანაცვლებადი შიფრი (ტექსტში ხდება სიმბოლოების გარკვეული გადაადგილება) და ჩანაცვლებადი შიფრი (ტექსტში ხდება ერთი სიმბოლოს ან სიმბოლოების ჯგუფის სხვებით შეცვლა). ჩანაცვლებადი შიფრის პირველი ცნობილი მაგალითია იულიუს კეისარის შიფრი, რომელშიც ლათინური ანბანის ყოველი ასო იცვლებოდა მისგან მარჯვნივ 3 პოზიციით დაცილებული სიმბოლოთი. კლასიკური შიფრებით დამუშავებული ტექსტი (შიფროტექსტი) ყოველთვის შეიცავდა გარკვეულ სტატისტიკურ ინფორმაციას, რაც საშუალებას იძლეოდა საწყისი ტექსტის აღდგენისა. IX საუკუნეში არაბი მათემატიკოსის მიერ სიხშირული ანალიზის აღმოჩენის შემდეგ, ასეთი შიფრების გატეხვა გაცილებით იოლი გახდა. 1467 წელს იტალიელმა ლეონ ბატისტა ალბერტიმ გამოიგონა პოლიალფაბეტური შიფრი, რომელითაც ტექსტის სხვადასხვა ნაწილი სხვადასხვა შიფრით იშიფრებოდა. მანვე გამოიგონა პირველი მექანიკური დამხმარე მოწყობილობა (ბორბალი). ვიგენერის პოლიალფაბეტურ შიფრში გამოიყენებოდა პაროლი, რომელიც განსაზღვრავდა, ტექსტის რომელი სიმბოლო შიფრის რომელი სიმბოლოთი უნდა შეცვლილიყო. 1800 წელს ბებიჯმა დაამტკიცა, რომ ასეთი ტიპის პოლიალფაბეტური შიფრებიც ექვემდებარებოდა გარკვეულ სიხშირულ ანალიზს. მიუხედავად იმისა, რომ სიხშირული ანალიზი საკმაოდ მძლავრი საშუალებაა კრიპტოანალიზისათვის, ის მაინც შედარებით უცნობ მეთოდად რჩებოდა. ამ მეთოდის გარეშე შიფრის გატეხვა მოითხოვდა შიფრის ალგორითმის ცოდნას, რასი მოპოვებაც შპიონაჟით, მოქრთამვებით და გამოძალვებით ხერხდებოდა. XIX საუკუნეში დადგინდა, რომ შიფრის ალგორითმის საიდუმლოდ შენახვა შიფრის დაცულობის გარანტი არ არის და რომ შიფრი დაცული უნდა რჩებოდეს მაშინაც კი, როდესაც მოწინააღმდეგე სრულად ფლობს გამოყენებული შიფრის ალგორითმის შესახებ ინფორმაციას. სხვა სიტვებით, იდეალური შიფრის დაცულობა დამოკიდებული უნდა იყოს შიფრის გასაღების (პაროლის) დაცულობაზე. კრიპტოგრაფიის ეს ფუნდამენტური პრინციპი პირველად ჩამოაყალიბა 1883 წელს ავგუსტ კერჰოფმა („კერჰოფის პრინციპი“), შემდგომში ეს პრინციპი განავრცო კლოდ შენონმა — „მტერი იცნობს სისტემას“. კრიპტოგრაფიაში მრავალი ხელსაწყო და მექანიზმი იქნა გამოყენებული. პირველი ცნობილი მაგალითია ძველ საბერძნეთში სპარტელების მიერ გამოყენებული ღვედი, გადანაცვლებადი შიფრისათვის. პოლიალფაბეტურ შიფრებთან ერთად გამოჩნდა ალბერტის შიფრის დისკი, ტრიტემიუსის სქემა და ჯეფერსონის ცილინდრები. რამდენიმე შიფრაცია-დეშიფრაციის მოწყობილობა იქნა გამოგონებული XX საუკუნის დასაწყისში, მათ შორის როტორული მანქანები. მათგან ყველაზე ცნობილი, ენიგმა, გერმანელების მიერ გამოყენებულ იქნა II მსოფლიო ომში. ამ ტიპის მანქანებმა კარდინალურად გაზარდა კრიპტოანალიზის სირთულე. კომპიუტერების გამოჩენამ შესაძლებელი გახადა შექმნილიყო გაცილებით რთული და დახვეწილი შიფრები. შესაძლებელი გახდა, დაშიფრულიყო ყველანაირი მონაცემი ბინარულ ფორმატში. კომპიუტერული შიფრები უმეტესწილად მანიპულირებენ ბიტებზე ან ბიტების ჯგუფებზე, განსხვავებით კლასიკური პოლიალფაბეტური შიფრებისაგან, რომლებიც ტექსტის ცალკეულ სიმბოლოებს ამუშავებდნენ. ამავე დროს გააადვლდა შიფრების კრიპტოანალიზი. მიუხედავად ამისა, თანამედროვე შიფრები მონაცემების დაცვის მაღალდონეს უზრუნველყოფენ, მათი კრიპტოანალიზის გზით გატეხვა იმდენად კოლოსალურ გამოთვლით და დროით რესურსებს მოითხოვს, რომ პრაქტიკულად შეუძლებლად მიიჩნევა. ინტენსიური ღია კვლევები კრიპტოგრაფიის დარგში შედარებით ახლო პერიოდში დაიწყო — 70-იან წლებში ეს იყო DES-ის (Data Encryption Standard) გამოქვეყნებული სპეციფიკაციები, დიფი-ჰელმანი და RSA ალგორითმი. მას შემდეგ ინტენსიურად დაიწყო კრიპტოგრაფიის გამოყენება კომუნიკაციებში, კომპიუტერულ ქსელებსა და მთლიანად კომპიუტერულ უსაფრთხოებაში. თანამედროვე კრიპტოგრაფიული სისტემების დაცულობა დამოკიდებულია გარკვეულ მათემატიკურ პრობლემებზე, მაგ. რიცხვის ფაქტორიზაცია, დისკრეტული ლოგარითმები და ელიპსური მრუდეები. დამტკიცებულია, რომ ასეთი კრიპტოგრაფიული სისტემა დაცულია, თუ მათემატიკური პრობლემის ეფექტიანად და მოკლე დროში გადაჭრა შეუძლებელია. გამონაკლისია „ერთჯერადი ბლოკნოტი“, არ არსებობს მისი გატეხვის თეორიული გზა, და წარმოადგენს იდეალურ კრიპტოგრაფიულ ალგორითმს. თუ XX საუკუნემდე კრიპტოგრაფია ძირითადად მანიპულირებდა სიმბოლოებზე და იყენებდა ლინგვისტიკის ელემენტებს, XX საუკუნიდან ხდება მათემატიკის ინტენსიური გამოყენება, ინფორმაციის თეორიის, სტატისტიკის, კომბინატორიკის, აბსტრაქტული ალგებრის და რიცხვთა თეორიის ჩათვლით. ბოლო წლებში მიმდინარეობს კრიპტოგრაფიაში კვანტური ფიზიკის ელემენტების შემოტანაც (იხ. კვანტური კრიპტოგრაფია და კვანტური გამოთვლები) სიმეტრიული კრიპტოგრაფია იყენებს მეთოდებს, რომლის დროსაც ინფორმაციის გამგზავნი და მიმღები იყენებენ ერთსა და იმავე გასაღებს (იშვიათად სხვადასხვას, მაგრამ ამ შემთხვევაში ერთი გასაღები იოლად გამოითვლება მეორიდან). 1976 წლამდე ეს შიფრაციის ერთადერთი მეთოდი იყო. თანამედროვე სიმეტრიული კრიპტოგრაფია დაკავშირებულია ძირითადად ბლოკურ შიფრებთან, ნაკადურ შიფრებთან და მათ გამოყენებასთან. ბლოკური შიფრი წარმოადგენს ფაქტობრივად პოლიალფაბეტური შიფრის მოდიფიკაციას: აიღება საწყისი ტექსტის გარკვეული სიგრძის ნაწილი (ბლოკი) და გასაღები, შედეგად მიიღება იგივე (იშვიათად განსხვავებული) სიგრძის შიფროტექსტი. შიფროტექსტის შემადგენელი ბლოკების ერთმანეთთან შერწყმისათვის გამოიყენება სხვადასხვა მეთოდები, რომლებსაც მთლიანობაში ქმედების რეჟიმი ეწოდებათ. მონაცემთა შიფრაციის სტანდარტი (Data Encryption Standard — DES) და გაუმჯობესებული შიფრაციის სტანდარტი (Advanced Encryption Standard — AES) წარმოადგენენ ბლოკურ შიფრებს. DES (და მისი ნაირსახეობა 3DES) ჯერაც რჩება ერთ-ერთ ყველაზე პოპულარულ ალგორითმად და ფართოდ გამოიყენება. თუმცა მისი გასაღების სიგრძის არასაკმარისობის გამო, ხდება მისი ჩანაცვლება სხვა, უფრო თანამედროვე ალგორითმებით. დღემდე გამოგონილია მრავალი ბლოკური შიფრი, მათი უმეტესობა გატეხილია წარმატებული კრიპტოანალიზის შედეგად. ნაკადური შიფრი ქმნის განუსაზღვრელი სიგრძის გასაღებს, რომელიც შემდგომ უერთდება საწყის ინფრომაციას (ბიტობრივად ან ბაიტობრივად). გამომავალი ინფორმაცია დამოკიდებულია შიფრის შინაგან მდგომარეობაზე, რომელიც მოქმედების მიმდინარეობისას იცვლება. საწყისი მსგომარეობა დამოკიდებულია შიფრის გასაღებზე (ზოგიერთ ნაკადურ შიფრში ტექსტზეც). ნაკადური შიფრის მაგალითია RC4. კრიპტოგრაფიული ჰეშ-ფუნქციები (ტექსტის ანაბეჭდის ფუნქციები) წარმოადგენენ კრიპტოგრაფიული ალგორითმების მნიშვნელოვან კლასს. ისინი იღებენ საწყის მნიშვნელობად ტექსტს და უკან აბრუნებენ ფიქსირებული სიგრძის ჰეშს, რომელიც დაკავშირება საწყის მნიშვნელობასთან პრობლემას წარმოადგენს. ასეთ ფუნქციებს ცალმხრივ ფუნქციებსაც ეძახიან. საუკეთესო ალგორითმებისათვის კოლიზიები (ორი ტექსტი, რომელთა ჰეში ერთი და იგივეა) რთული მოსაძებნი უნდა იყოს და ამის ალბათობა მინიმუმამდე უნდა იყოს დაყვანილი. შეტყობინების აუთენტიფიკაციის კოდები ჰეშ-ფუნქციების მსგავსია, იმ განსხვავებით, რომ ჰეშ-მნიშვნელობის შესამოწმებლად გამოიყენება საიდუმლო გასაღები. სიმეტრიული კრიპტოგრაფია იყენებს 1 გასაღებს შიფრაციისათვის და დეშიფრაციისათვის. ამ მეთოდის უპირველეს ნაკლს გასაღების მართვის აუცილებლობა წარმოადგენს. ქსელში ყოველ სხვადასხვა წყვილს უწევს იქონიოს ცალკე გასაღები, რაც წყვილთა რაოდენობის გაზრდისას გასაღებების რაოდენობის კვადრატული პროპორციით გაზრდას იწვევს. ორ მოკავშირე მხარეს შორის გასაღების გაცვლა, მაშინ როცა ჯერ არ არსებობს დაცული საკომუნიკაციო არხი, კვერცხის და ქათმის პრობლემას ემსგავსება (გასაღების გაცვლა უნდა მოხდეს ფარულად, ფარულად გაცვლა ითხოვს დაშიფრვას, დაშიფრვა თავის მხრივ თხოულობს გასაღების გაცვლას და ა. შ.) 1976 წელს უიტფილდ დიფიმ და მარტინ ჰელმანმა წარმოადგინეს ასიმეტრიული კრიპტოგრაფია — კარდინალურად განსხვავებული კონცეფცია, რომელშიც გამოიყენება ორი სხვადასხვა, მაგრამ მათემატიკურად ერთმანეთთან დაკავშირებული გასაღები — ღია და ფარული გასაღებები. ამავე დროს ფარული გასაღების მიღება ღია გასაღებიდან მოითხოვს კოლოსალურ გამოთვლით რესურსებს. ასიმეტრიულ კრიპტოგრაფიაში ღია გასაღები შეიძლება ყველასთვის ცნობილი იყოს, ამავე დროს ფარული გასაღები საიდუმლოდ უნდა დარჩეს. ტიპურ შემთხვევაში ფარული გასაღები გამოიყენება შიფრაციის დროს, ხოლო ღია გასაღები დეშიფრაციის დროს. დიფიმ და ჰელმანმა ასევე წარმოადგინეს დიფი-ჰელმანის გასაღების გაცვლის პროტოკოლი. 1978 წელს კრიპტოგრაფების ჯგუფმა რონალდ რივესტის, ადი შამირის და ლენ ედლმანის შემადგენლობით შექმნეს მეორე ასიმეტრიული კრიპტოსისტემა RSA. დიფი-ჰელმანის და RSA ალგორითმები დღეს ფართოდ არის გავრცელებული. არსებობს ასევე რამდენიმე სხვა კრიპტოსისტემა, რომელიც ღია გასაღების კონცეფციას იყენებს. შიფრაციის გარდა ასიმეტრიული კრიპტოგრაფია ციფრული ხელმოწერებისათვისაც გამოიყენება. ციფრული ხელმოწერა ჩვეულებრივ ხელმოწერას იმით წააგავს, რომ მისი მფლობელისათვის მისი შექმნა და განკარგვა მარტივია, ხოლო უცხო პირისათვის მისი დუბლირება — შეუძლებელი. ციფრული ხელმოწერები გამოიყენება 2 ალგორითმში: 1) ხელმოწერა, სადაც ფარული გასაღები გამოიყენება ტექსტის ან ტექსტის ჰეშის შიფრაციისათვის, ხოლო 2) შემოწმება, სადაც ღია გასაღების მეშვეობით ხდება დეშიფრაცია, მოწმდება ტექსტის ჰეში და ამდენად ტექსტის მთლიანობა და ხელმოწერის ნამდვილობა. RSA და DSA წარმოადგენენ ციფრული ხელმოწერის ყველაზე გავრცელებულ ალგორითმებს და ფართოდ გამოიყენება ისეთ პროტოკოლებში, როგორებიცაა SSL/TSL, VPN და სხვა. ღია გასაღების კრიპტოსისტემები დაფუძნებულია „ძნელი“ პრობლემების გამოთვლით სირთულეზე. მაგალითად RSA ემყარება რიცხვის ფაქტორიზაციის პრობლემას (ანუ დიდი რიცხვის დაშლას მარტივ მამრავლებად), ხოლო დიფი-ჰელმანის ალგორითმი ეფუძნება დისკრეტული ლოგარითმების პრობლემას. ასეთი სისტემების უმეტესობაში ინტენსიურად გამოიყენება მოდულით გამრავლება და ახარისხება, შესაბამისად გაცილებით მეტი გამოთვლითი სიმძლავრეა საჭირო, ვიდრე სიმეტრიულ სისტემებში. ამიტომ ღია გასაღების კრიპტოსისტემები ძირითადად გამოიყენება, როგორც ჰიბრიდული სისტემები, სადაც ინფორმაციის შიფრაცია/დეშიფრაციისათვის გამოიყენება სწრაფი სიმეტრიული ალგორითმები, ხოლო მისი გასაღების მართვისა და გადაცემისათვის გამოიყენება შედარებით ნელი ასიმეტრიული ალგორითმები. მთავარი სტატია: კრიპტოანალიზი. კრიპტოანალიზის უმთავრესი ამოცანაა იპოვოს სუსტი წერტილები კრიპტოგრაფიულ სისტემაში, რათა შეძლოს ამ სისტემით დაცული ინფორმაციის მოპოვება. კრიპტოანალიზი შეიძლება გამოყენებულ იქნას, როგორც ბოროტგანმზრახველის მიერ, ასევე კრიპტოსისტემის შემქმნელის მიერ ამ სისტემაში ნაკლის აღმოსაჩენად (გაცილებით იოლია სისტემის ნაკლის პოვნა, ვიდრე მისი სრულყოფილების დამტკიცება). ფართოდ გავრცელებული (და ამავე დროს მცდარი) აზრია ის, რომ ნებისმიერი შიფრის გატეხვა შესაძლებელია სასრულ დროში. II მსოფლიო ომის პერიოდში კლოდ შენონმა დაამტკიცა, რომ შიფრის გატეხვა თეორიულად შეუძლებელია, თუ მისი გასაღები ნამდვილად შემთხვევითია, არ მეორდება, ტექსტის სიგრძის ტოლი ან მეტია და დაცულია პირდაპირი წვდომისაგან სხვა პირებისაგან. ამ პირობებს მხოლოდ ე. წ. ერთჯერადი ბლოკნოტი აკმაყოფილებს. სხვა შიფრები, გარდა ამ შიფრისა, შეიძლება გატყდეს ე. წ. უხეში ძალის მეთოდით (მიუხედავად მისი დროისა). ამავე დროს შესაბამისი გამოთვლების ოდენობა ექსპონენციურად დამოკიდებულია გასაღების სიგრძეზე. სისტემა ითვლება დაცულად, თუ ამ გამოთვლების ოდენობა აღემატება ნებისმიერი მოწინააღმდეგის შესაძლებლობებს, ამავე დროს თუ არ არსებობს გატეხვის სხვა მეთოდი, რომელიც უფრო სწრაფი იქნებოდა, ვიდრე უხეში ძალის მეთოდი. დღესდღეობით ერთადერთ თეორიულად გაუტეხელ შიფრად ერთჯერადი ბლოკნოტი რჩება. არსებობს კრიპტოანალიზის რამდენიმე ტიპი. ძირითადი განსხვავება მათ შორის არის მოწინააღმდეგისათვის ცნობილი ინფორმაციის ოდენობა და სახე, რის საფუძველზეც ხდება შემდეგ ანალიზი. ცნობილი შიფროტექსტის შემთხვევაში კრიპტოანალიტიკოსს ხელთ აქვს მხოლოდ დაშიფრული ინფორმაცია. ცნობილი ღია ტექსტის შემთხვევაში კრიპტოანალიტიკოსს აქვს შიფროტექსტი და მისი შესაბამისი ტექსტი, მაგრამ არ აქვს გასაღები. არჩეული ტექსტის შემთხვევაში ანალიტიკოსს შეუძლია თვითონ შეარჩიოს ტექსტი და მიიღოს მისი შესაბამისი შიფროტექსტი. და ბოლოს არჩეული შიფროტექსტის შემთხვევაში ანალიტიკოსს შეუძლია შეარჩიოს შიფროტექსტები და შეისწავლოს მათი შესაბამისი ტექსტები. სიმეტრიული კრიპტოსისტემების კრიპტოანალიზი ბლოკურ ან ნაკადურ შიფრებში გატეხვის უფრო ეფექტიანი მეთოდების პოვნას ემსახურება, ვიდრე გასაღებების სიმრავლის უბრალო გადარჩევა, ანუ უხეში ძალის მეთოდია. მაგ. უხეში ძალის მეთოდი DES ალგორითმის წინააღმდეგ მოითხოვს 1 ცნობილ ტექსტს და 256 დეშიფრაციის ოპერაციას. ამავე დროს წრფივი კრიპტოანალიზი მოითხოვს 243 ცნობილ ტექსტს და 243 შიფრაციას, რაც უხეში ძალის მეთოდთან შედარებით წინ გადადგმული ნაბიჯია. ასიმეტრიული ალგორითმები რომელიმე მათემატიკური პრობლემის გამოთვლით სირთულეს ემყარება. მათ შორის ყველაზე ცნობილია რიცხვის მამრავლებად დაშლის პრობლემა, ასევე დისკრეტული ლოგარითმების პრობლემა. მათი კრიპტოანალიზის მეთოდები მოიცავს რამდენიმე მეტნაკლებად ეფექტურ რიცხვით მეთოდს ამ პრობლემების გადასაჭრელად. მაგ. ელიპსური მრუდეების პრობლემის ამოხსნას საუკეთესო ალგორითმით გაცილებით მეტი დრო ესაჭიროება, ვიდრე ექვივალენტური სირთულის რიცხვით ფაქტორიზებას შესაბამისი საუკეთესო ალგორითმით. ამიტომ ბოლო ხანებში ელიპსურ მრუდეებზე დაფუძნებულმა კრიპტოსისტემებმა სულ უფრო მეტი პოპულარობა მოიპოვა. წმინდა კრიპტოანალიზი იყენებს ალგორითმების სისუსტეებს, მაშინ როდესაც შესაძლებელია კრიპტოსისტემაზე შეტევა განხორციელდეს სხვა კუთხიდანაც, მაგ. კრიპტოანალიტიკოსმა შესაძლოა მოიპოვოს ფიზიკური წვდომა შიფრაციის მოწყობილობაზე და მიიღოს დამატებითი ინფორმაცია ანალიზისათვის, მაგ. შიფრაციის ოპერაციისათვის საჭირო დრო, გატარებული ინფორმაციის სტრუქტურა ან შუალედური მონაცემები. და რა თქმა უნდა რჩება სოციალური ინჟინერია, რაც გულისხმობს ინფორმაციის მოპოვებას თვითონ ადამიანებისგან, ვისაც აქვთ წვდომა კრიპტოსისტემაზე, იქნება ეს შანტაჟით, დაშინებით, მოქრთამვით, შპიონაჟით თუ სხვა. შესაძლოა ეს ყველაზე ეფექტური მეთოდი აღმოჩნდეს ყველა დანარჩენ მეთოდთან შედარებით. Cryptography and Mathematics by Bernhard Esslinger, PDF download დაარქივებული 2011-12-15 საიტზე Wayback Machine. . Applied Cryptography by Bruce Schneier , Second Edition In Code: A Mathematical Journey by Sarah Flannery (with David Flannery). James Gannon, Stealing Secrets, Telling Lies: How Spies and Codebreakers Helped Shape the Twentieth Century, Washington, D.C., Brassey's, 2001, ISBN 1-57488-367-4. Oded Goldreich, Foundations of Cryptography. Introduction to Modern Cryptography by Jonathan Katz and Yehuda Lindell. Alvin's Secret Code by Clifford B. Hicks. Ibrahim A. Al-Kadi, "The Origins of Cryptology: the Arab Contributions," Cryptologia, vol. 16, no. 2 (April 1992), pp. 97–126. Handbook of Applied Cryptography by A. J. Menezes, P. C. van Oorschot, and S. A. Vanstone CRC Press Christof Paar დაარქივებული 2006-07-09 საიტზე Wayback Machine. , Jan Pelzl, Understanding Cryptography, A Textbook for Students and Practitioners. დაარქივებული 2020-10-31 საიტზე Wayback Machine. Springer, 2009. Introduction to Modern Cryptography by Phillip Rogaway and Mihir Bellare,PDF download. Cryptonomicon by Neal Stephenson (novel, WW2 Enigma). Johann-Christoph Woltag, 'Coded Communications (Encryption)' in Rüdiger Wolfrum (ed)