Кіріспе

Криптоанализдегі әдіс. Криптоанализде Касиски зерттеуі (Касиски сынағы немесе Касиски әдісі деп те аталады) – Вигенер шифры сияқты полиалфавиттік алмастыру шифрларын бұзуға арналған әдіс. Оны алғаш рет 1863 жылы Фридрих Касиски жариялаған, бірақ 1846 жылы Чарльз Бэббидж дербес түрде ашқан болуы мүмкін.

Қалай жұмыс істейді

Көп алфавитті алмастыру шифрларында, егер алмастыру алфавиттері кілт сөзді пайдалану арқылы таңдалса, Касиски сараптамасы криптоаналитикке кілт сөздің ұзындығын анықтауға мүмкіндік береді. Кілт сөздің ұзындығы анықталғаннан кейін, криптоаналитик шифрланған мәтінді n бағанға тізбектейді, мұнда n – кілт сөздің ұзындығы. Содан кейін әрбір бағанды моноалфавиттік алмастыру шифрының шифрмәтіні ретінде қарастыруға болады. Осылайша, әрбір бағанға жиілік талдау арқылы шабуыл жасауға болады. Сол сияқты, роторлық ағынды шифрлеу машинасы қолданылған жағдайда, бұл әдіс жеке роторлардың ұзындығын анықтауға мүмкіндік береді. Касиски тексеруі шифрланған мәтінде қайталанатын таңбалар тізбегін іздеуді қамтиды. Тексерудің сәтті болуы үшін тізбектер үш немесе одан көп таңбадан тұруы керек. Содан кейін, тізбектердің екінші рет кездесуі арасындағы қашықтық кілт сөздің ұзындығының еселігі болуы мүмкін. Осылайша, қайталанатын тізбектерді табу кілт сөздің мүмкін болатын ұзындығын тарылтады, өйткені барлық қашықтықтардың ең үлкен ортақ бөлгішін табуға болады. Бұл тесттің жұмыс істеу себебі – егер жазық мәтінде қайталанатын тізбек болса және тізбектер арасындағы қашықтық кілт сөздің ұзындығының еселігі болса, кілт сөздің әріптері екі тізбек үшін де бірдей орналасады. Мысалы, «crypto is short for cryptography» деген жазық мәтінді қарастырайық. "" – қайталанатын тізбек, ал олардың арасындағы қашықтық 20 таңбаны құрайды. Егер біз 6 таңбалы кілт сөзді жазық мәтінмен қатарластырсақ (6 саны 20-ға бөлінбейді): crypto is short for cryptography. Бірінші кездесу ""-мен, ал екінші кездесу ""-мен қатарласады. Екі кездесу де әртүрлі шифрмәтінге шифрленеді және Касиски сараптамасы ештеңе көрсетпейді. Алайда, 5 таңбалы кілт сөзді қолдансақ (5 саны 20-ға бөлінеді): crypto is short for cryptography. Екі кездесу де ""-мен қатарласады. Екі кездесу де бірдей шифрмәтінге шифрленеді және Касиски сараптамасы тиімді болады.

Сызықтарға негізделген шабуыл

Касиски сынағын қолданудың қиындығы қайталанатын тізбектерді табуда. Бұл қолмен орындау өте қиын, бірақ компьютер оны әлдеқайда жеңілдетеді. Дегенмен, сақтық қажет, себебі кейбір қайталанатын тізбектер жай ғана сәйкес келу болуы мүмкін, сондықтан кейбір қайталанатын аралықтар жаңылыстыруы мүмкін. Криптоаналитик дұрыс ұзындықты табу үшін сәйкес келмейтін жағдайларды жоққа шығаруы керек. Содан кейін, әрине, нәтижедегі моноалфавиттік шифрмәтіндерді криптоанализден өткізу қажет. Криптоаналитик әрбір әріптердің қайталанатын топтарын іздеп, әр қайталанатын топтың басынан бастап әріптердің санын санайды. Мысалы, егер шифрмәтін болса, топтар арасындағы аралық 10-ға тең. Аналитик мәтіндегі барлық қайталанатын топтардың аралықтарын жазады. Аналитик содан кейін осы сандардың әрқайсысын жіктейді. Егер осы жіктеулердің көпшілігінде қандай да бір сан қайталанса, ол кілт сөздің ұзындығы болуы мүмкін. Бұл себебі қайталанған топтар жай ғана сәйкес келуге қарағанда, бірдей әріптер бірдей кілт әріптерін пайдаланып шифрланған кезде пайда болуы ықтимал; бұл әсіресе ұзын сәйкес тізбектер үшін дұрыс. Кілт әріптері кілт ұзындығының еселігінде қайталанады, сондықтан 1-қадамда табылған аралықтардың көпшілігі кілт ұзындығының еселігі болуы мүмкін. Әдетте ортақ бөлгіш байқалады. Кілт сөздің ұзындығы белгілі болғаннан кейін, Бэббидж мен Касискидің келесі байқауы қолданылады. Егер кілт сөз N әріптен тұрса, онда әрбір N-ші әріп кілт мәтінінің бірдей әріпімен шифрланған болуы керек. Әр N-ші әріпті топтастыра отырып, аналитик N "хабарлама" алады, олардың әрқайсысы бір әліпби алмастыру арқылы шифрланған, және әрбір бөлікке жиілік талдауын қолдануға болады. Шешілген хабарды пайдаланып, аналитик кілт сөзді жылдам анықтай алады. Немесе, бөліктерді шешу процесінде, аналитик хабарламаны бұзуға көмектесу үшін кілт сөз туралы болжамдарды пайдалана алады. Егер ақпаратты ұстаушы кілт сөзді білсе, бұл білімді сол кілтті пайдаланатын басқа хабарламаларды оқу үшін қолдануға болады.