Кіріспе
Полиалфавиттік алмастыру шифрларының түрі. Классикалық криптографияда, жүйтіп жазылатын кілт шифры – полиалфавиттік алмастыру шифрларының бір түрі, онда мәтін, әдетте кітаптан, өте ұзақ кілт ағынын қамтамасыз ету үшін пайдаланылады. Мұндай шифрды алғаш рет 1892 жылы француз математигі Артур Джозеф Герман (әдебиеттерді басып шығарушы "Éditions Hermann" негізін салғанымен танымал) сипаттаған. Әдетте, қолданылатын кітап алдын ала келісіледі, ал әрбір хабар үшін қолданылатын бөлім кездейсоқ түрде таңдалып, хабардың бір жерінде құпия түрде көрсетіледі.
In classical cryptography, the running key cipher is a type of polyalphabetic substitution cipher in which a text, typically from a book, is used to provide a very long keystream. The earliest description of such a cipher was given in 1892 by French mathematician Arthur Joseph Hermann (better known for founding Éditions Hermann). Usually, the book to be used would be agreed ahead of time, while the passage to be used would be chosen randomly for each message and secretly indicated somewhere in the message.
Нұсқалар
Қазіргі заманғы жүйтіп шифрлеу нұсқалары көбінесе дәстүрлі tabula recta-ны биттік қосымша операциямен (bitwise exclusive or) алмастырады, әліпбилік әріптердің орнына толық байттармен жұмыс жасайды және жүйтіп кілттерін үлкен файлдардан тудырады. Файлдардың ықтимал жоғары энтропия тығыздығы мен автоматтандырудың қарапайымдығынан басқа, мұндай нұсқалар мен дәстүрлі әдістер арасында айқын практикалық айырмашылық жоқ.
Пермутация арқылы жасалған жұмыс кілттері
Егер мәтін бірнеше бастау көрсеткіштері (немесе комбинация ережелері) арқылы комбинаторлық түрде құрылса, ықшам жұмыс істейтін кілтті пайдалануға болады. Мысалы, бір нүктеден (бір көрсеткіштен) бастаудың орнына бірнеше бастау көрсеткіштерін пайдаланып, ағындарды XOR арқылы біріктіріп, жаңа жұмыс істейтін кілт құруға болады, сондай-ақ, секіру ережелерін де қолдануға болады. Осы жағдайда алмасылатын нәрсе – жұмыс істейтін кілт кітапшасына көрсеткіштер тізбегі және/немесе бастапқы кілт мәтінінен жаңа реттелген жұмыс істейтін кілтті жасау ережелері болады. (Бұл көрсеткіштер ашық кілтті шифрлау арқылы немесе тікелей алмасу арқылы жіберілуі мүмкін. Сондай-ақ, жұмыс істейтін кілт кітапшасын өзгертпей-ақ, оларды жиі өзгертуге болады.)
Шифрланған мәтін жай мәтін болып көрінеді
Дәстүрлі шифрланған мәтін жай мәтіннен мүлдем өзгеше болып көрінеді. Бұл мәселені шешу үшін, бір нұсқа шифрлық мәтін шығару ретінде "жай мәтін" әріптерінің орнына "жай мәтін" сөздерін шығарады. Бұл сөздердің "әліпбиін" құру арқылы жүзеге асырылады (практикада әр шифрлық мәтіннің шығыс таңбасына бірнеше сөз сәйкес келуі мүмкін). Нәтижесінде шифрланған мәтін жай мәтін сөздерінен тұратын ұзақ тізбектей көрінеді (процесс ұялы болуы мүмкін). Теориялық тұрғыдан алғанда, бұл стандартты шифрлық мәтін таңбаларын шығарудан ешқандай айырмашылығы жоқ. Дегенмен, жай мәтінге ұқсас шифрланған мәтін "адам факторының араласуына" әкелуі мүмкін, нәтижесінде оны қате түрде декодталған жай мәтін деп қабылдауға талпыныс жасалуы мүмкін. Мысалы, BDA (Berkhoff deflator algorithm) алгоритмінде әр шифрлық мәтіннің шығыс таңбасына кем дегенде бір зат есім, етістік, сын есім және есімдік сөз байланыстырылған. (яғни, әрбір ASCII таңбасы үшін кем дегенде біреуі). Грамматикалық жағынан дұрыс сөйлемдер шифрлық мәтін шығару ретінде жасалады. Дешифровкалау үшін сөздерді ASCII кодына қайта сәйкестендіру және содан кейін кілтті пайдаланып таңбаларды нағыз жай мәтінге ашу қажет. Ұялы BDA шығысты бірнеше рет қайта шифрлейді, "жай мәтінге ұқсас" шифрланған мәтіннің бірнеше қабатын жасайды, әрқайсысының мағынасы жоқ екенін түсінуге талпыну үшін "адам факторының араласуын" қажет етуі мүмкін.
Gromark шифрлау
"Громарк шифры" ("аралас алфавит және жылмалы кілтпен Гронсфельд шифры") жылмалы сандық кілтті кезекті цифрлар жұптарын қосу арқылы құрайды. VIC шифрында ұқсас кешіктірілген Фибоначчи генераторы қолданылады.
Қауіпсіздік және криптоанализ
Егер қолданылатын кілт шынайы кездейсоқ, ешқашан қайта қолданылмаса және құпия сақталса, нәтижесі бір реттік блокнот болады, бұл әдіс толық құпиялылықты қамтамасыз етеді (жай мәтін туралы ешқандай ақпаратты ашпайды). Дегенмен, егер (әдеттегідей) қолданылатын кілт табиғи тілдегі мәтін блогы болса, қауіпсіздік шын мәнінде нашарлайды, себебі бұл мәтін криптоанализді жеңілдетуге болатын кездейсоқ емес ерекшеліктерге ие болады: мысалы, Уильям Фридман Бірінші дүниежүзілік соғыста ең көп кездесетін әріптермен кодталған басқа ең көп кездесетін әріптерге қарсы шифрмәтінге ғана шабуыл жасауды ұсынған. Нәтижесінде, жай мәтіннің және қолданылатын кілттің әрбір таңбасы үшін ентропия төмен болады, ал біріктіру операциясын кері қайтару оңай. Шифрды бұзу үшін криптоаналитик шифрланған мәтін бойымен болжамды жай мәтіндерді жүргізе алады, оларды әрбір мүмкін болатын позициядан алып тастайды. Егер нәтиже түсінікті бір нәрсе болса, болжанған жай мәтіннің сол позиция үшін дұрыс болуының жоғары ықтималдығы бар (нақты жай мәтін ретінде немесе қолданылатын кілттің бөлігі ретінде). "Түсінікті бір нәрсенің бөлігі" екі жағынан да кеңейтілуі мүмкін, осылайша одан да ықтимал жай мәтінді қамтамасыз етеді, оны өз кезегінде кеңейтуге болады және т.б. (толық түсіндіру үшін Автокілт шифріне қараңыз). Соңында, қолданылатын кілттің көзі анықталып, құпия ашылады. Қауіпсіздікті жақсартудың бірнеше жолы бар. Бірінші және ең айқын - tabula recta орнына құпия аралас алфавит кестесін пайдалану. Бұл жағдайды күрделендіреді, бірақ толық шешім емес. Фридман әдісінде жай мәтін мен қолданылатын кілт таңбаларының жұптары, мысалы, "QQ" емес, "EE" сияқты жоғары жиілікті жұптар болуы ықтимал. Бұл шығыс жиілік үлестіріміне әкелетін бұрылыс "EE" және "QQ" бірдей шифрмәтін таңбасына сәйкес болуы мүмкін, бірақ бұған қарамастан үлестірім тегіс емес. Бұл криптоаналитикке кескіннің бір бөлігін шешуға мүмкіндік береді, содан кейін бұрынғыдай жалғастырады (бірақ қайта құрылған кескіннен жоғалған бөлімдері бар саңылаулармен). Тағы бір мүмкіндік - әрбір таңбаға ағылшын тіліндегіге қарағанда көбірек ентропияға ие кілт мәтінін пайдалану. Осы мақсатта КГБ агенттеріне альманахтар мен сауда есептері сияқты құжаттарды пайдалануға кеңес берді, оларда көбінесе ұзақ кездейсоқ сандар тізімі болады. Тағы бір мәселе - кілт кеңістігі таңғаларлықтай кішкентай. 100 миллион қолданылуы мүмкін кілт мәтіні бар деп есептейік, және олардың әрқайсысының орташа есеппен 11 мың мүмкін бастапқы позициясы бар. Мүмкін болатын кілт мәтіндерінің үлкен жиынтығына ие қарсыласқа бұл , компьютерлік криптография стандарттары бойынша салыстырмалы түрде оңай нысана болып табылатын , ретімен қарапайым күшпен іздеуді мүмкін етеді. (Бұл мәселеге қатысты жоғарыда келтірілген пермутация арқылы құрылған қолданылатын кілттерді қараңыз).
Аң-таңдық
Екі шифрлау жүйесі де кілт материалы ретінде көркем әдебиеттерді пайдаланғандықтан, көптеген дереккөздер кітап шифрын және ағын кілт шифрын шатастырады. Шындығында, олар тым алыс байланысты. Ағын кілт шифры – көп әліпбилік ауыстыру, ал кітап шифры – гомофоникалық ауыстыру. Бұл айырмашылық ең жақсы түсінікті болу үшін, ағын кілт шифры кездейсоқ сандар кітабымен ең жақсы жұмыс істейтінін, ал мұндай кітап (мәтінсіз) кітап шифры үшін еш пайдалы емес екенін айтуға болады.