Кіріспе

Ақпараттық жүйелерді олардың жасырын жақтарын анықтау мақсатында талдауды зерттеу.

Криптоанализ (грек тілінен: kryptós – "жасырын", analýein – "талдау") – жүйенің жасырын жақтарын түсіну үшін ақпараттық жүйелерді талдау процесі. Криптоанализ криптографиялық қауіпсіздік жүйелерін бұзу және криптографиялық кілт белгісіз болған жағдайда да шифрланған хабарламалардың мазмұнына қол жеткізу үшін қолданылады. Криптографиялық алгоритмдерді математикалық талдаудан өзге, криптоанализ криптографиялық алгоритмдердің өзіндегі кемшіліктерге емес, олардың іске асырылуындағы әлсіздіктерді пайдаланатын жанама арна арқылы шабуылдарды зерттеуді де қамтиды. Мақсаты бір болғанымен, криптоанализдің әдістері мен техникалары криптография тарихы бойында күрт өзгеріп, криптографиялық күрделіліктің артуына бейімделіп келді. Бұл өзгерістер бұрынғы қалам мен қағазға негіделген әдістерден бастап, Екінші дүниежүзілік соғыстағы Блетчли Парктегі британдық "Бомбалар" мен "Колосс" компьютерлері сияқты машиналарға, содан кейін қазіргі заманғы математикалық тұрғыдан дамыған компьютерлік жүйелерге дейін жетті. Қазіргі криптожүйелерді бұзу әдістері көбінесе таза математикадағы мұқият құрастырылған мәселелерді шешуді қамтиды, олардың ең танымалсы – бүтін сандарды жіктеу.

Шолу

Шифрлау кезінде құпия ақпарат ("таза мәтін" деп аталады) жіберуші оны шифрлау алгоритмін қолдана отырып, ең алдымен оқылмайтын формаға ("шифрлық мәтін") түрлендіріп, алушыға қауіпсіз түрде жібереді. Шифрлық мәтін алушыға қауіпсіз емес арна арқылы жіберіледі. Алушы шифрлық мәтінді кері шифрлау алгоритмін қолдану арқылы шифрлайды, нәтижесінде таза мәтінді қалпына келтіреді. Шифрлық мәтінді шифрлау үшін алушыға жіберушіден құпия ақпарат қажет, әдетте әріптер, сандар немесе биттер тізбегі, ол криптографиялық кілт деп аталады. Егер рұқсатсыз адам таралу кезінде шифрлық мәтінге қол жеткізсе де, құпия кілтсіз оны таза мәтінге қайта түрлендіре алмайды деген принцип бар. Шифрлау тарих бойы маңызды әскери, дипломатиялық және коммерциялық хабарламаларды жіберу үшін қолданылып келді, ал қазіргі күні электрондық пошта мен интернет байланысын қорғау үшін компьютерлік желілерде кеңінен қолданылады. Криптоанализдің мақсаты үшінші тараптың, криптоаналитик, түпнұсқа ("таза мәтін") туралы мүмкіндігінше көп ақпарат алуы, шифрлық мәтінді оқу үшін шифрлауды "бұзуға" тырысып, құпия кілтті анықтау, соның арқасында болашақ хабарламаларды шифрлауға және оқуға болады. Мұны іске асыруға арналған математикалық техника криптографиялық шабуыл деп аталады. Криптографиялық шабуылдарды әртүрлі жолдармен сипаттауға болады:

Шабуылшы қолда бар ақпараттың мөлшері

Криптоаналитикалық шабуылдар шабуылшының қолда бар ақпарат түріне қарай жіктелуі мүмкін. Негізгі бастапқы нүкте ретінде, талдау мақсатында жалпы алгоритм белгілі деп есептеледі; бұл Шеннонның «жау жүйені біледі» максимісі, бұл өз кезегінде Керкгоффс принципімен тең. Бұл практикадағы орынды болжам – тарих бойында құпия алгоритмдердің тыңшылық, сатқындық және кері инженерия арқылы кеңінен танылуының көптеген мысалдары бар. (Кейде шифрлар таза дедукция арқылы бұзылады; мысалы, неміс Лоренц шифры және жапондық Purple коды, сондай-ақ әртүрлі классикалық схемалар):
Тек шифрмәтін: криптоаналитик тек шифрмәтіндердің немесе кодталған мәтіндердің жинағына қол жеткізе алады. Белгілі ашық мәтін: шабуылшыда сәйкес келетін ашық мәтінді білетін шифрмәтіндер жиынтығы бар. Таңдалған ашық мәтін (таңдалған шифрмәтін): шабуылшы өз таңдауы бойынша ашық мәтіндердің (шифрмәтіндердің) кез келген жиынтығына сәйкес шифрмәтіндерді (ашық мәтіндерді) алуға болады. Адаптивті таңдалған ашық мәтін: таңдалған ашық мәтіндік шабуыл сияқты, бірақ шабуылшы алдыңғы шифрлаудан алынған ақпаратқа негізделген кейінгі ашық мәтіндерді таңдай алады, бұл Адаптивті таңдалған шифрмәтіндік шабуылға ұқсас. Қатысты кілт шабуылы: таңдалған ашық мәтіндік шабуыл сияқты, бірақ шабуылшы екі түрлі кілтпен шифрланған шифрмәтіндерді алуға болады. Кілттер белгісіз, бірақ олардың арасындағы байланыс белгілі; мысалы, бір битпен ерекшеленетін екі кілт.

Қажетті есептеу ресурстары

Шабуылдарды оларға қажетті ресурстар арқылы да сипаттауға болады. Осы ресурстарға мыналар жатады:
Уақыт – орындалуы тиіс есептеу қадамдарының саны (мысалы, сынақ шифрлаулар). Жады – шабуылды жүзеге асыру үшін қажетті сақтау көлемі. Деректер – белгілі бір тәсіл үшін қажетті ашық мәтіндер мен шифрлы мәтіндердің мөлшері мен түрі. Кейде осы шамаларды дәл болжау қиын, әсіресе шабуылды іс жүзінде сынау үшін жүзеге асыру мүмкін болмағанда. Бірақ академиялық криптоаналитиктер шабуылдардың қиындығының шамамен ретін келтіруге тырысады, мысалы, «SHA 1 соқтығысулары қазір 252». Брюс Шнайер есептеу тұрғысынан жүзеге асырылуы қиын шабуылдарды да бұзу деп санауға болатынын айтады: «Шифрды бұзу дегеніміз шифрдағы әлсіздікті табу, оны күш қолданудан гөрі аз күрделілікпен пайдалануға болады. Күш қолдану 2128 шифрлауды қажет етуі мүмкін, бірақ 2110 шифрлауды қажет ететін шабуыл шифрдың бұзылуы болып есептеледі, қарапайым тілмен айтқанда, бұзу – шифр жарнамаланғандай жұмыс істемейтіндігінің куәлігі». Осылайша, толық криптожүйе күшті болуы мүмкін, тіпті айналымдар саны қысқартылған нұсқалары әлсіз болса да. Дегенмен, бастапқы криптожүйені бұзуға жақын жартылай бұзулар толық бұзудың алдын білдіруі мүмкін; DES, MD5 және SHA 1-ге жасалған сәтті шабуылдардың бәрі де әлсіретілген нұсқаларға жасалған шабуылдармен басталды. Академиялық криптографияда схеманың әлсіздігі немесе бұзылуы әдетте өте консервативті түрде анықталады: оған көп уақыт, жад немесе белгілі ашық мәтіндер қажет болуы мүмкін. Сондай-ақ, шабуылшыдан көптеген нақты шабуылшылардың істей алмайтын нәрселерді істеуі талап етілуі мүмкін: мысалы, шабуылшы шифрланатын нақты ашық мәтінді таңдауы керек немесе тіпті құпия кілтке байланысты бірнеше кілттерді қолдану арқылы шифрланатын ашық мәтінді сұрауы мүмкін. Бұдан әрі, ол криптожүйенің жетілмегендігін дәлелдеуге жеткілікті, бірақ нақты шабуылшыларға пайдалы болмайтын ақпараттың шағын бөлігін ғана ашуы мүмкін. Соңында, шабуыл криптографиялық құралдардың әлсіретілген нұсқасына, мысалы, айналымдар саны қысқартылған блок шифрына, толық жүйені бұзуға жасалған қадам ретінде ғана қолданылуы мүмкін.

Тарих

Криптоанализ криптографиямен бірге дамып келді, және осы бәсекелестік криптография тарихында көрініс тапқан – ескі, бұзылған шифрларды жаңаларымен алмастыру, ал жақсартылған схемаларды бұзу үшін жаңа криптоаналитикалық әдістер ойлап табылды. Іс жүзінде, олар бір монетаның екі жағындай қарастырылады: қауіпсіз криптография болжамды криптоанализге қарсы тұратын дизайнды талап етеді.

Классикалық шифрлар

"Криптоанализ" деген сөз салыстырмалы түрде жаңа (ол Уильям Фридман 1920 жылы ойлап тапқан), бірақ кодтар мен шифрларды бұзу әдістері одан да ертерек кезеңге жатады. Дэвид Кан "Кодтарды бұзушылар" кітабында араб ғалымдары криптоаналитикалық әдістерді жүйелі түрде жазған алғашқы адамдар болғанын айтады. Криптоанализ туралы алғашқы жазбаша түсіндірме 9 ғасырдың араб ғалымы әл-Кинди (шамамен 801–873 жж., Еуропада "Алкиндус" деп те аталған) "Криптографиялық хабарламаларды шешу туралы трактат" (Рисалах фи Истихрадж әл Муамма) еңбегінде келтірілген. Бұл трактатта жиілік талдауы әдісінің алғашқы сипаттамасы бар. Сондықтан әл-Кинди тарихтағы алғашқы код бұзғыш деп есептеледі. Оның маңызды жұмысына әл-Халил (717–786) ықпал еткен, ол "Криптографиялық хабарламалар кітабын" жазды, онда пермутациялар мен комбинацияларды қолдану арқылы барлық мүмкін араб сөздерін дауысты және дауыссыз әріптерімен тізімдеудің алғашқы мысалы келтірілген. Жиілік талдауы – классикалық шифрларды бұзудың негізгі құралы. Табиғи тілдерде әліпбидің кейбір әріптері басқаларына қарағанда жиірек кездеседі; мысалы, ағылшын тілінде "E" әрпі кез келген мәтін үлгісінде ең көп кездесетін әріп болуы мүмкін. Сол сияқты, "TH" диграфы ағылшын тіліндегі ең жиі кездесетін әріптер жұбы және т.б. Жиілік талдауы осы статистиканы жасыра алмайтын шифрға негізделген. Мысалы, қарапайым алмастыру шифрында (әрбір әріп басқа әріппен алмастырылатын), шифрмәтіндегі ең жиі кездесетін әріп "E" әрпіне сәйкес болуы мүмкін. Сондықтан, егер шифрмәтін алфавит әріптерін жеткілікті түрде есептеу үшін жеткілікті ұзын болса, мұндай шифрды жиілік арқылы талдау салыстырмалы түрде оңай. Әл-Киндидің моноалфавиттік алмастыру шифрларын бұзу үшін жиілік талдауы әдісін ойлап табуы Екінші дүниежүзілік соғысқа дейінгі криптоанализ саласындағы ең маңызды жетістік болды. Әл-Киндидің "Рисалах фи Истихрадж әл Муамма" кітабында алғашқы криптоаналитикалық әдістер, соның ішінде полиалфавиттік шифрлар, шифрларды жіктеу, араб фонетикасы мен синтаксисі туралы сипаттамалар келтірілген. Бұдан өзге, ол шифрлау әдістерін, белгілі бір шифрларды криптоанализді және араб тіліндегі әріптер мен әріптер тіркесінің статистикалық талдауын қамтыды. Криптоанализдің табысы тарихқа күшті әсер еткені сөзсіз; басқалардың құпия ойлары мен жоспарларын оқу қабілеті шешуші артықшылықты қамтамасыз етеді. Мысалы, 1587 жылы Англияда Шотландияның Мэри патшайымы Англияның Елизавета I-ге қарсы үш қастандыққа қатысқандығы үшін мемлекеттік қасақаналық жасады деген айыппен сотталып, өлім жазасына кесілді. Оның заговоршылармен жазған шифрланған хаттары Томас Фелипс тарапынан бұзылғаннан кейін жоспарлар ашыққа шықты. Еуропада 15-16 ғасырларда француз дипломаты Блез де Вигенер (1523–96) және басқалар полиалфавиттік алмастыру шифры идеясын дамытты. Шамамен үш ғасыр бойы Вигенер шифры, түрлі шифрлау алфавиттерін таңдау үшін қайталанатын кілтті пайдаланатын, толыққанды қауіпсіз деп саналды ("дешифрлеуге болмайтын шифр"). Дегенмен, Чарльз Бэббидж (1791–1871) және кейін, тәуелсіз түрде, Фридрих Касиски (1805–81) осы шифрды бұзуға қол жеткізді. Бірінші дүниежүзілік соғыс кезінде бірнеше елдің өнертапқыштары Вигенер жүйесін бұзу үшін пайдаланылған қайталауды азайту мақсатында Артур Шербиустың "Энигма" сияқты роторлық шифрлау машиналарын жасады.

Бірінші және Екінші дүниежүзілік соғыстағы шифрлар

Бірінші дүниежүзілік соғыста Циммерман телеграммасының ашылуы АҚШ-ты соғысқа тартуға елеулі үлес қосты. Екінші дүниежүзілік соғыста одақтастар Германия шифрларының, соның ішінде Энигма машинасы мен Лоренц шифрларының, сондай-ақ жапон шифрларының, әсіресе "Purple" және JN 25 шифрларының бірлескен криптоанализінен зор пайда көрді. "Ультра" барлау жүйесі Еуропа соғысының аяқталуын екі жылға дейін қысқартудан бастап, соғыстың нәтижесін анықтауға дейін барлық іске ықпал еткені айтылады. Тынық мұхитындағы соғысқа да "Magic" барлауы көмектесті. Жау хабарларының шифрларын талдау Екінші дүниежүзілік соғыста одақтастардың жеңісіне маңызды үлес қосты. Ф. В. Винтерботам соғыстың соңында батыс одақтастардың Жоғарғы қолбасшысы Дуайт Д. Эйзенхауэрдің "Ультра" барлауы одақтастардың жеңісіне "шешуші" болғанын айтқанын келтірді. Екінші дүниежүзілік соғыстағы британдық барлау қызметінің ресми тарихшысы сэр Гарри Хинсли де "Ультра" соғысты "екі жылдан кем емес, тіпті төрт жылға қысқартты" деген пікір білдірді; сонымен қатар, ол "Ультра" болмаған жағдайда соғыстың қалай аяқталатыны белгісіз болар еді деді. Іс жүзінде, жиілікті талдау статистикалық мәліметтерге де, тіл біліміне де бірдей мөлшерде сүйенеді, бірақ шифрлардың күрделілігі артқан сайын криптоанализде математиканың рөлі арта түсті. Бұл өзгеріс екінші дүниежүзілік соғысқа дейін және оның кезінде ерекше байқалды, онда Ось державаларының шифрларын бұзу үшін математикалық білімнің жаңа деңгейлері қажет болды. Бұдан өзге, автоматтандыру алғаш рет осы кезеңде криптоанализде қолданылды – польшалық Bomba құрылғысы, британдық Bombe, перфокарталық жабдықтар және Colossus компьютерлері арқылы, яғни бағдарламамен басқарылатын алғашқы электрондық цифрлық компьютерлер.

Көрсеткіш

Лоренц шифры және Екінші дүниежүзілік соғыс кезінде нацистік Германия қолданған Энигма машинасы сияқты өзара шифрлау машиналарында әрбір хабарламаның өз кілті болды. Әдетте, хабар жіберуші оператор шифрланған хабарламадан бұрын белгілі бір ашық мәтінді және/немесе шифрланған мәтінді жіберу арқылы хабарлама кілті туралы хабар қабылдаушы операторға хабардар ететін. Бұл индикатор деп аталады, себебі ол хабар қабылдаушы операторға хабарды шешу үшін машинаны қалай орнату керектігін көрсетеді. Дұрыс жобаланбаған және іске асырылмаған индикатор жүйелері алдымен поляк криптографтарына, содан кейін Блетчли Парктегі британ криптографтарына Энигма шифрлау жүйесін бұзуға мүмкіндік берді. Ұқсас дұрыс емес индикатор жүйелері британдықтарға Лоренц SZ40/42 шифрлау жүйесін анықтауға және криптоанализшілер шифрлау машинасының өзін көрмей-ақ оның хабарламаларын толыққанды бұзуға әкелген жағдайларды анықтауға мүмкіндік берді.

Асимметриялық шифрлар

Асимметриялық криптография (немесе ашық кілт криптографиясы) – екі (математикалық тұрғыдан байланысты) кілтті пайдалануға негізделген криптография; біреуі жеке, екіншісі – қоғамдық. Мұндай шифрлардың қауіпсіздігі міндетті түрде «қиын» математикалық есептерге негізделгендіктен, шабуыл жасаудың айқын жолы – сол есепті шешу әдістерін жасау болып табылады. Екі кілтті криптографияның қауіпсіздігі математикалық сұрақтарға байланысты, ал бір кілтті криптографияда мұндай байланыс көбінесе болмайды. Сонымен қатар, криптоанализ математикалық зерттеулермен жаңаша байланыстырылады. Асимметриялық схемалар әртүрлі математикалық есептерді шешудегі (болжамды) қиындықтарға сүйенеді. Егер есепті шешуге жаңа, тиімді алгоритм табылса, жүйе әлсірейді. Мысалы, Diffie–Hellman кілт алмасу схемасының қауіпсіздігі дискретті логарифмді есептеудің қиындығына байланысты. 1983 жылы Дон Копперсмит дискретті логарифмдерді (кейбір топтарда) табудың жылдамдатылған әдісін тапты, соның салдарынан криптографтар үлкенірек топтарды (немесе басқа типтегі топтарды) пайдалануға көшті. RSA қауіпсіздігі (ішінара) бүтін сандарды жіктеудің қиындығына байланысты – жіктеудегі жаңа жетістіктер RSA қауіпсіздігіне әсер етеді. 1980 жылы күрделі 50 таңбалы санды 10¹² қарапайым компьютерлік операциямен жіктеуге болады еді. 1984 жылға қарай жіктеу алгоритмдерінің жетістіктері 75 таңбалы санды 10¹² операцияда жіктеуге мүмкіндік берді. Есептеу технологиясының дамуы операцияларды әлдеқайда жылдам орындауға мүмкіндік берді. Мур заңы компьютерлердің жылдамдығы арта беретінін болжайды. Жіктеу әдістері де осылай дамуы мүмкін, бірақ олар математикалық түсінік пен шығармашылыққа көбірек тәуелді болады, ал оларды болжау мүмкін емес. RSA-да бұрын қолданылған 150 таңбалы сандар жіктелді. Бұл жоғарыда айтылғаннан гөрі көп күш-жігерді қажет етті, бірақ қазіргі заманғы жылдам компьютерлерде орынсыз емес. 21 ғасырдың басында 150 таңбалы сандар RSA үшін жеткілікті үлкен кілт өлшемі деп есептелмейтін болды. 2005 жылы бірнеше жүз таңбалы сандарды жіктеу әлі де қиын болып саналды, бірақ әдістер уақыт өте келе жақсара түсуі мүмкін, сондықтан кілт өлшемін үнемі жаңарту немесе эллипстік қисық криптографиясы сияқты басқа әдістерді пайдалану қажет. Асимметриялық схемалардың тағы бір ерекшелігі – симметриялық криптожүйелерге жасалған шабуылдардан айырмашылығы, кез келген криптоанализ ашық кілттен алынған білімді пайдалану мүмкіндігіне ие.

Кванттық есептеуді криптоанализде қолдану

Кванттық компьютерлер, әлі де зерттеудің бастапқы сатыларында болғанымен, криптоанализде қолданылуы мүмкін. Мысалы, Шор алгоритмі үлкен сандарды полиномдық уақытта көбейткіштерге жіктеуге қабілетті, нәтижесінде, кеңінен қолданылатын ашық кілтті шифрлеудің кейбір түрлерін бұзуға болады. Кванттық компьютерде Гровер алгоритмін қолдану арқылы, күшпен кілтті табу процесін шаршылай жылдамдатуға болады. Дегенмен, мұны кілттің ұзындығын екі есеге арттыру арқылы болдырмауға болады.