Кіріспе

Күрделі советтік қалам мен қағаз шифры

VIC шифры – "VICTOR" шарттық атымен белгілі совет шпионы Рейно Хэйхянен қолданған қалам мен қағаз шифры. Егер бұл шифрға заманауи техникалық атау берілсе, ол "өзгертілген екі реттік транспозициямен супершифрланған екі бөлікті моноалфавиттік ауыстыру" деп аталатын болар еді. Дегенмен, жалпы жіктеу бойынша ол нигилист шифрларының отбасының бір бөлігі болып табылады. Алғаш рет табылған кезде бұл қолмен орындалатын ең күрделі шифр деп есептелді. 1953 жылы Америка Құрама Штаттарының Ұлттық қауіпсіздік агенттігі (NSA) жүргізген алғашқы талдау оның қолмен жасалған шифр екендігін толық нақтыламады, бірақ оны ойық 5 центтік монетаның ішіне (кейін "Қуыс никель ісі" деп белгілі болды) салғандығы, оны қалам мен қағаз көмегімен де шифрлауға болатынын көрсетеді. VIC шифры оның құрылымы туралы қосымша мәліметтер пайда болғанша бұзылмай қалды. Әрине, қазіргі заманғы компьютерлік ағынды шифрлар немесе блок шифрлары сияқты күрделі немесе қауіпсіз болмаса да, іс жүзінде оның қорғауымен жіберілген хабарламалар 1953 жылы табылғаннан бастап 1957 жылы Хэйхяненнің дезертирлік жасағанға дейін, кем дегенде NSA-ның барлық криптоанализ әрекеттеріне қарсы тұрды.

Революциялық серпіліс

VIC шифры нигилистік шифрлар отбасының эволюциялық шыңы болып саналады. VIC шифрында бірнеше маңызды біріктірілген компоненттер бар, оның ішінде mod 10 тізбекті қосу, кідіріссіз Фибоначчи генераторы (жалған кездейсоқ сандар тізбесін жасау үшін қолданылатын рекурсивті формула), қадамдық кесте және бұзылған қос транспозиция. VIC ашылғанға дейін, практикалық тұрғыдан агенттің далалық шифр ретінде қолдана алатын ең күрделі шифр – қос транспозиция ғана деп есептелді.

Тарих

Екінші дүниежүзілік соғыс кезінде бірнеше кеңес тыңшылары Мәскеу орталығына негізгі нигилистік шифрдың эволюциялық жетістіктері болып табылатын екі шифрды қолдана отырып хабарласты. Жапониядағы Ричард Сордж желісінде Макс Клаузен және Швейцариядағы Люси шпиондық желісінде Александр Фут өте күшті нұсқаны қолданды. Rote Kapelle желісі сәл әлсіретілген нұсқаны қолданды. Екі нұсқада да, қарапайым мәтін Polybius квадратының орнына, бірінші кезекте, сандарға айналдырылды. Бұл жай мәтінді сәл қысып, оның бірлік қашықтығын көтереді және радио операторларына хабарларын тез аяқтауға және тез тоқтатуға мүмкіндік береді. Операторды жылдам сөндіру арқылы қарсыластың радиолокаторлары операторды табу қаупін азайтады. Бірлік қашықтығын ұлғайту статистикалық шабуылдарға қарсы күштерді арттырады. Клаузен мен Фут екеуі де өздерінің ашық мәтіндерін ағылшын тілінде жазды және ағылшын тілінің 8 жиі кездесетін әріптерін (шахмат тақтасының жоғарғы қатарын толтыру үшін) "a sin to err" (екінші "r" тастау) деген есте сақтау фразасы арқылы жаттады. Стандартты ағылшынша шашка тақтасында 28 таңбалы слот бар, ал бұл шифрда қосымша екеуі "толық тоқтату" және "сандар ауысуы" болды. Сандар сан ауысуымен жіберілді, содан кейін нақты ашық мәтін цифрлары қайталанған жұптармен, содан кейін тағы бір ауысумен. Содан кейін, негізгі Нихилистікке ұқсас, сандық қосымша қосылды, оны "жабылу" деп атады. Алайда әр жолы әртүрлі қоспа қолданылды, сондықтан қандай қоспа қолданылғанын көрсету үшін жасырын "көрсеткіш топты" енгізу керек болды. Негізгі Нихилисттен айырмашылығы, қоспаны тасымалдаушы емес қосу арқылы қосылды (санды қосу модулі 10), осылайша көп ақпарат ағып кетпейтін біркелкі шығыс пайда болды. Ең бастысы, қосымша сөзді кілт сөз арқылы емес, өндірістік статистика альманахтарынан кездейсоқ жолдарды таңдау арқылы жасалды. Мұндай кітаптар агентті іздестіру кезінде күдік туғызбайтындай (әсіресе агенттердің бүркемесі бизнесмендер болғандықтан) және өте қауіпсіз қоспаны қамтамасыз ететін жоғары энтропиялық тығыздыққа ие деп саналды. Әрине, мұндай кітаптағы цифрлар біркелкі таратылмайды (оларда "0" және "1" артық (Бенфорд заңы) бар, ал ретті сандар біршама ұқсас болуы мүмкін), алайда олардың энтропиясы тығыздығы парольдер мен осыған ұқсас нәрселерге қарағанда әлдеқайда жоғары; қалай болғанда да, іс жүзінде олар ешқашан табысты криптоанализден өтпеген сияқты. Әлсіз нұсқасы роман немесе ұқсас кітаптың мәтінінен қоспаны пайдаланды (кем дегенде бір Rote Kapelle мүшесі шынымен "Жақсы солдат Швейкті" қолданды). Бұл мәтін цифрлық қоспаға айналдырылды. Осы бағыттағы соңғы дамуы - 1950 жылдары Рейно Хайханен қолданған VIC шифры. Бұл кезде көптеген совет агенттері бір реттік тақташаларды қолданды. Алайда, бір реттік тақташаның теориялық кемелділігіне қарамастан, іс жүзінде олар бұзылды, ал VIC бұзылмады. Бір реттік шифрды тек шифрланған беттерді логистикалық проблемаларға байланысты қайта қолданған кезде ғана бұзуға болады, сондықтан ол енді бір рет емес еді.

Негізгі механика

Ескерту: Осы бөлім есептеулерді [X-ші қатар] немесе осы сияқты нұсқаулармен байланыстыру арқылы қадағалайды. Бұл ЦРУ архивінің сипаттамасында көрсетілген белгілеулермен үйлесу үшін жасалған.

Хабарлама кілті шығару

[Q жолы]: [K, L, M, N, P жолдарынан алынған] алғашқы "a" цифры (мұнда "a" – [P жолындағы] соңғы тең емес цифрларын жеке нөмірге қосудан алынған бірінші мән), [J жолы арқылы көшірілген кезде]. Бұл көшіру [J жолындағы] цифрлардың астындағы сандар бағанын жазу арқылы жасалады, бастапқыда '1' цифрының астындағы бағаннан, содан кейін '2' цифрының астындағы бағаннан және т.с.с. сандық ретпен, 'a' цифры алынғанша (мысалда, егер 'a' мәні 13 болса, көшіру 13 цифрға дейін жалғасады). Бұл цифрлар бағандық көшірудің кілті ретінде қолданылады. [R жолы]: Келесі "b" цифры (мұнда "b" – [P жолындағы] соңғы тең емес цифрларын жеке нөмірге қосудан алынған екінші мән), [K, L, M, N, P жолдарынан] [J жолы арқылы көшірілгеннен кейін] алынады. Бұл көшіру [Q жолындағы] сияқты орындалады, бірақ бұл көшіру алдыңғысынан жалғасады, яғни [J жолындағы] цифрлардың астындағы бағанның ортасынан басталуы мүмкін, алдыңғы көшіру тоқтаған жерден (мысалда, [R жолы] [J жолындағы] '3' цифрының астындағы бағанның ортасынан басталады). Нәтижеде алынған цифрлар диагональдық көшірудің кілті ретінде қолданылады. [S жолы]: [P жолының] тізбегі, бұл Straddling Checkerboard кілті ретінде қолданылады.

Транспозициялар: бағандық транспозиция

Хабар стандартты бағаналық транспозиция арқылы [Q сызығы] бойынша беріледі. (Ескерту: егер хабарламаның кодталған ұзындығы осы сатыда 5-ке бөлінбесе, қосымша сан қосылады).

Содан кейін хабарлама [R сызығы] бойынша диагональдық транспозиция арқылы беріледі. Бұл жағдайда "диагональдық" термині үшбұрышты бұзылу аймақтарын қолдану арқылы транспозицияны тәртіпсіз етуді білдіреді.

Кілттер тобын ендіру

(Шифрланбаған) Кілттік топ шифрмәтіннің "P" топтарына соңынан салынады; мұнда "P" – "Күн" күнтізбеніндегі қолданылмаған алтыншы сан.

Тізбелеу

Бұл жағдайда реттілік – кіріс элементтерін 1-ден 10-ға дейін реттеу (мұнда "0" саны 10-ды білдіреді). Бұл әріптерге (әліпбилік тәртіппен) немесе сандарға (сандық мәні бойынша) қатысты. Егер мәндер тең болса, онда сол жақтағы мән бірінші реттеледі. Мысалы:

ӘРІПТЕР: "Октопус" сөзі "2163475" болып реттеледі (яғни C=1, бірінші "O"=2, екінші "O"=3)
САНДАР: "90210" саны "34215" болып реттеледі (сандық тәртіппен. Нөл саны реттеу бойынша "10" деп бағаланады).

Сандық кодтау

Кодтау қадамы санның әр цифрын (мысалы, шифрдегі [G жолы]) кілттің тізбегінен (мысалы, [E.2 жолы]) бірімен алмастырады, бұл оның 1-ден 10-ға дейінгі реттілігіндегі орнын көрсетеді. "1234567890" санын ([F.2 жолында көрсетілгендей]) [E.2 жолының] астына жазсақ, 0-ден 9-ға дейінгі әрбір санның үстінде тағы бір сан бар екенін көреміз. Кодтауға тиіс санның әр цифрын кілттің тізбегіндегі үстіндегі санмен ауыстыру керек. Кілт (E.2) 6 0 1 3 5 8 9 4 2 7 Көмекші (F.2) 1 2 3 4 5 6 7 8 9 0 Мысалы, "90210" саны келесідей кодталады; Осылайша, нәтиже "27067" болады.

Криптоанализ

Шифр нақты әлемде қолданылатын қалам мен қағаз шифрлерінің ең күштілерінің бірі болып табылады және сол кезде NSA оны бұза алмады (негізгі алгоритмін анықтау мағынасында). Дегенмен, қазіргі заманғы компьютерлердің пайда болуымен және алгоритмнің жарияланғаннан кейін, бұл шифр күшті деп есептелмейді. Құпия кілттегі энтропияның басым бөлігі 10 таңбалы санға [H сызығы] жинақталатынын көруге болады. Бұл 10 таңбалы сан шамамен 34 бит энтропияны құрайды, ал күнінің соңғы таңбасымен (кілт тобын анықтау үшін қажет) біріктірілгенде, хабарлама кілтінің күші тұрғысынан шамамен 38 бит энтропияға ие болады. 38 бит энтропия қазіргі компьютерлерде бір тәуліктен кем уақытта күшпен бұзу шабуылына (Brute force attack) ұшырайды.