Кіріспе

Британдық криптоанализ компьютері Colossus – 1943–1945 жылдары британдық кодты бұзушылар Лоренц шифрын криптоанализдеуге көмектесу үшін әзірлеген компьютерлер жиынтығы. Colossus бульдік және санау операцияларын орындау үшін термиондық клапандарды (вакуумдық түтіктерді) пайдаланды. Осылайша Colossus әлемдегі алғашқы бағдарламаланатын, электрондық, цифрлық компьютер деп есептеледі, бірақ ол сақталған бағдарлама арқылы емес, коммутаторлар мен плагиндер арқылы бағдарламаланды. Colossus-ты General Post Office (GPO) зерттеуші телефон инженері Томми Флауэрс жасаған (Энигма кодтарын бұзуға көмектескен Тьюрингтің машинасы – электромеханикалық Bombe, Colossus емес). Colossus Mark 1 прототипі 1943 жылдың желтоқсан айында жұмыс істейтіні дәлелденді және 1944 жылдың басында Блетчли Паркте пайдаланылды.

Мақсаты мен шығу тегі

Colossus компьютерлері белгісіз құрылғы арқылы шифрланған радиотелепринтерлік хабарламаларды шешуге қолданылды. Барлау ақпараты көрсеткендей, немістер сымсыз телепринтерлік тарату жүйелерін "Sägefisch" (тісті балық) деп атаған. Бұл британдықтарды неміс телепринтерлік трафигін "Балық" деп, ал белгісіз машина мен оның ұсталған хабарламаларын "Tunny" (тунец) деп атауға итермеледі. Немістер операциялық процедураларының қауіпсіздігін күшейтпес бұрын, британдық криптоаналитиктер көрінбейтін машинаның жұмыс принципін анықтап, оның "Британдық Tunny" деп аталған имитациясын жасады. Машинаның он екі дөңгелегі бар екені және стандартты 5 биттік ITA2 телеграф кодын қолданып, хабарлама таңбаларына Вернам шифрлау техникасын қолданғаны анықталды. Ол үшін ашық мәтін таңбаларын XOR Буль функциясы арқылы шифрланған мәтінді шығаратын кілт таңбаларының ағынымен біріктірді. 1941 жылдың тамызында неміс операторларының қателігі бір хабардың екі нұсқасын бірдей машиналық параметрлермен жіберуге әкеп соқты. Бұл деректер Блетчли паркіне жеткізіліп, онда өңделді. Біріншіден, өте талантты GC&CS криптоаналитигі Джон Тилтман 4000-ға жуық таңбадан тұратын кілт ағынын шығарды. Содан кейін зерттеу бөлімінің жаңадан келген мүшесі Билл Тютте осы кілт ағынын пайдаланып Лоренц машинасының логикалық құрылымын жасады. Ол он екі дөңгелектің бес топқа бөлінгенін анықтады, оларды χ (хи) және ψ (пси) дөңгелектері деп атады, ал қалған екеуін μ (мю) немесе "мотор" дөңгелектері деп атады. Хи дөңгелектері әр әріпті шифрлау кезінде жүйелі түрде жылжыса, пси дөңгелектері мотор дөңгелектерінің бақылауымен жүйесіз жылжыды. Жеткілікті түрде кездейсоқ кілт ағыны Вернам шифры ашық мәтін хабарламасының әртүрлі таңбалардың жиілік үлестіріміне ие болу қасиетін жойып, шифрланған мәтінде біркелкі үлестірімді қамтамасыз етеді. Tunny машинасы осыны жақсы орындады. Дегенмен, криптоаналитиктер шифрланған мәтіндегі таңбалардың өзгеру жиілігін қарастыру арқылы, ашық мәтін таңбаларының орнына, жүйеге кіруге мүмкіндік беретін біркелкіліктерден ауытқулар бар екенін анықтады. Бұл "айырмалау" арқылы жүзеге асырылды, онда әр бит немесе таңба өзінің келесісімен XOR операциясынан өтеді. Германия капитуляциялағаннан кейін одақтас күштері Tunny машинасының үлгісін қолға түсіріп, оның желілік шифрлау машинасының электромеханикалық Лоренц SZ (Schlüsselzusatzgerät, шифрлау құрылғысы) екенін анықтады. Жіберілген хабарламаларды шифрдан алу үшін екі міндет орындалуы керек еді. Біріншісі – "дөңгелектерді бұзу", яғни барлық дөңгелектердің тістік үлгілерін анықтау. Бұл үлгілер Лоренц машинасына орнатылып, содан кейін бірнеше хабарлама үшін белгілі бір уақыт аралығында қолданылды. Әрбір хабарлама, көбінесе бірнеше хабарламаны қамтитын, дөңгелектердің әртүрлі бастапқы орнымен шифрланды. Алан Тьюринг дөңгелектерді бұзу әдісін ойлап тапты, ол "Тьюрингер" деп аталды. Тьюрингтің техникасы одан әрі "Төртбұрыш" деп дамытылды, ол үшін Colossus қолмен талдау үшін кестелерді жасауға қабілетті болды. Colossus 2, 4, 6, 7 және 9 машиналарында осы процеске көмектесу үшін "құрылғы" болды. Екінші міндет – "дөңгелектерді орнату", ол белгілі бір хабар үшін дөңгелектердің бастапқы орнын анықтады және тек тістік үлгілер белгілі болғаннан кейін ғана орындалуы мүмкін болды. Colossus бастапқыда осы міндетті орындау үшін жасалған. Хабарлама үшін хи дөңгелектерінің бастапқы орнын анықтау үшін Colossus екі таңба ағынын, бағдарламаланатын Буль функцияларын бағалау нәтижесінде алынған статистиканы санап салыстырды. Екі ағынның бірі қағаз лентадан жоғары жылдамдықпен оқылған шифрланған мәтін болды, ал екіншісі – белгісіз неміс машинасының симуляциясында ішкі түрде жасалған кілт ағыны. Шифрланған мәтіндегі таңбалардың жиілік үлестірімін тексеру арқылы ықтимал хи дөңгелектерінің орналасуын анықтау үшін бірнеше Colossus іске қосылғаннан кейін, олар тексерілді. Colossus осы жиіліктерді есептеді.

Дизайн және құрылыс

Colossus "Newmanry" үшін жасалды, математик Макс Ньюман басқарған бөлім он екі роторлы Lorenz SZ40/42 желілік телепринтерлік шифрлау машинасына қарсы машиналық әдістерге жауапты болды (кодтық атауы Tunny, тонбалық). Colossus жобасы "Heath Robinson" деп аталатын, аз амбициялық санау машинасын өндірген параллель жобадан пайда болды. Heath Robinson машинасы процестің осы бөлігіне арналған машиналық талдау тұжырымдамасын дәлелдегенмен, оның айтарлықтай шектеулері болды. Электромеханикалық бөлшектер салыстырмалы түрде баяу болды және екі иілген қағаз таспаларды синхрондау қиын болды, біреуі шифрланған хабарламаны, ал екіншісі Лоренц машинасының кілт ағынының бір бөлігін білдіреді. Сондай-ақ, таспалар секундына 2000 таңбадан оқылғанда созылып, үзіледі. Томми Флауэрс MBE - аға инженер-электрик және Долис Хиллдегі Пошта кеңсесінің зерттеу станциясында коммутациялық топтың басшысы болды. Colossus-та жұмыс істегенге дейін ол 1941 жылдың ақпанынан бастап Bletchley Park-тағы GC&CS-мен бірге неміс Enigma шифрлау машинасының криптоанализіне пайдаланылған бомбаларды жақсартуға тырысты. Оны Макс Ньюманға оның "Бомбалар" атты еңбегінен таң қалған Алан Тьюринг ұсынды. Heath Robinson машинасының негізгі компоненттері төмендегідей болды. Таспаны тасымалдау және оқу механизмі, кілтті және хабарлама таспаларын секундына 1000 мен 2000 таңбалар жылдамдығында өткізеді. Тютте әдісінің логикасын іске асыратын біріктіру бірлігі. Малверндегі Телекоммуникациялар зерттеулер мекемесі (TRE) қызметкері К. Э. Уинн Уильямс жасаған санау блогы, логикалық функция нақты шындық мәнін қайтарған рет санын санайды. Heath Robinsonның құрастырушы блогын жасау үшін Флауэрс әкелінді. Ол хабарлама таспасымен синхрондалуы керек кілт таспасының жүйесіне таң қалдырмады және өз бастамасымен Лоренц (Tunny) машинасының электрондық аналогына ие бола отырып, кілт таспасының қажеттілігін жойған электрондық машинаны жасады. Ол бұл дизайнды Макс Ньюманға 1943 жылдың ақпан айында ұсынды, бірақ бірден екі мыңға дейінгі термоиондық клапандар (вакуум түтікшелері мен тиратрондар) бірге сенімді жұмыс істей алады деген идея үлкен күмәнмен қарсы алынды, сондықтан Долис Хиллден Heath Robinsonға тапсырыс берілді. Алайда, Флоэрс өзінің соғысқа дейінгі жұмысынан термоиондық клапанның көпшілігі электр қоректену кезінде жылулық қысымның нәтижесінде пайда болғанын білген, сондықтан машинаны қоректендіруден бас тарту сәтсіздіктер деңгейін өте төмен деңгейге дейін төмендетті. Сонымен қатар, егер жылытқыштар төмен кернеуде іске қосылса, содан кейін баяу толық кернеуге келтірілсе, жылулық стресс азайды. Клапандардың өздерін дәнекерлеуге болады, бұл негіздерді қосумен байланысты проблемаларды болдырмау үшін, бұл сенімді емес болуы мүмкін. Флауэрс бұл идеяны қолдап, Ғылыми-зерттеу станциясының директоры В. Гордон Радлидің қолдауына ие болды. Флауэрс пен оның ауыстырып жұмыс істейтін топтағы елудей адам 1943 жылдың ақпан айының басында бір ай бойы дөңгелектің үлгісін электронды түрде жасап, Heath Robinsonның екінші лентасын пайдаланбайтын машинаны жобалап, жасап шығарды. Флауэрс жобаға өз қаражатын жұмсады. Бұл Mark 1 Colossus прототипі 1600 термионды клапаннан (түтік) құралған. 1943 жылы 8 желтоқсанда Долис Хиллде қанағаттанарлық нәтиже көрсетті, ол бөлшектеліп, Блетчли Паркке жеткізілді, онда 18 қаңтарда Гарри Фенсом мен Дон Хорвуд оны қайта құрастырды. Қаңтар айында іске қосылды және 1944 жылдың 5 ақпанында алғашқы хабарды сәтті жіберді. Бұл үлкен ғимаратты "Колосс" деп атаған. 1944 жылы 18 қаңтарда Макс Ньюман жазған Ұлттық мұрағатта сақталған меморандумда "Колосс бүгін келеді" деп жазылған. Прототипті әзірлеу кезінде Mark 2 Colossus-тың жақсартылған дизайны жасалды. 1944 жылдың наурыз айында олардың төртеуі тапсырыс берілді, ал сәуірдің аяғында тапсырыс саны он екіге дейін көбейді. Доллис Хиллге біріншісін 1 маусымға дейін іске қосу үшін қысым жасалды. Аллен Кумбс Mark 2 Colossi өндірісін басқарды, оның біріншісі - 2400 клапаннан тұратын - 1944 жылы 1 маусымда 08:00 -де, Д-күнгі Нормандияға қарсы одақтас шабуылға дайын болды. Кейіннен "Колосси" ай сайын бір рет жеткізіліп тұратын болды. Жеңіс күніне дейін Блетчли Паркте он Колос жұмыс істеп, он біріншісін құрастыру басталды. Colossi-дің жетіуі "дөңгелек орнату" үшін, ал үшуі "дөңгелек бұзу" үшін пайдаланылды. Mark 2 конструкциясының негізгі бірліктері келесідей болды. 8-фотожасушалық оқу механизмі бар таспалық тасымалдау. FIFO ауысу реестрі. Лоренц машинасын симуляциялаған 12 тиратрондық сақиналар әр дөңгелек үшін бит ағынын жасады. Бағдарламаны және "жинақталған соманы" көрсетуге арналған қосқыштар панелі. Бульдік операцияларды орындайтын функционалдық бірліктер жинағы. Таспаның бір бөлігі үшін санауды тоқтата алатын "кезеңді санаушы". Сағатты басқаруға, бастау және тоқтату сигналдарына, санаушы оқуына және басып шығаруға жауапты басқару блогы. Бес электрондық санаушы. Электр текепарақ машинасы. Электрониканың дизайнының көп бөлігі Томми Флауэрстің, Уильям Чандлердің, Сидни Бродхерсттің және Аллен Кумбстің көмегімен жасалған; Эри Спейт пен Арнольд Линч фотоэлектрлік оқу механизмін жасады. Кумбс Флауэрстің дизайнының жобасын жасап, оны бөліктерге бөліп, әрі қарай толықтыру үшін әріптестеріне бергенін есіне алды. Mark 2 Colossi прототипке қарағанда бес есе жылдам және пайдалануға оңай болды. Colossus-қа деректерді шифрланған ұсталған хабарламаның қағаз таспасының фотоэлектрлік оқуы арқылы енгізілді. Бұл деректерді ішкі жадта сақтамай, бірнеше рет оқуға және қайта оқуға болатындай үздіксіз циклмен орналастырылды. Дизайн электрондықты хабарлама таспасының жылдамдығымен синхрондау мәселесін оның тісті доңғалақтарынан сағат сигналын жасау арқылы шешті. Осылайша, жұмыс жылдамдығы таспаны оқу механизмімен шектелді. Дамыту кезінде таспа оқушысы секундына 9700 таңбаға (сағатта 53 шақырым) дейін сыналып, таспа ыдырады. Сондықтан, қалыпты пайдалану үшін секундына 5000 таңба жылдамдық таңдалды. Флауэрс 6 таңбалық ауысу тіркегішін жасады, ол ΔZ функциясын есептеу үшін де, Tunny дөңгелектерінің бес мүмкін басталу нүктесін бес процессорда тексеру үшін де қолданылды. Бұл бес бағытты параллелизм бес бірдей тесттер мен санауларды орындауға мүмкіндік берді, бұл секундына 25 000 таңбаның тиімді өңдеу жылдамдығын қамтамасыз етті. Есептеулер W. T. Tutte және әріптестері жасаған Tunny хабарламасын шифрдан шығару алгоритмдерін пайдаланды.

Операция

Ньюманриде криптоаналитиктер, Корольдік әйелдер теңіз қызметінен (WRNS) – «Wrens» деп аталатын – операторлар және техникалық қызмет көрсету мен жөндеу үшін үнемі қолжетімді инженерлер жұмыс істеді. Соғыстың соңына қарай штат 272 «Wrens» және 27 ер адамнан тұрды. Colossus машинасымен жаңа хабарды өңдеудегі алғашқы қадам – қағаз лентаның тізбегін дайындау болды. Бұл жұмысты «Wrens» операторлары орындады, олар лентаның екі шетін Бостик желімімен біріктіріп, хабарламаның басы мен соңы арасында 150 таңбалық бос лента қалғанын қамтамасыз етті. Арнайы қолмен перфоратордың көмегімен олар бос бөлігінің соңынан 2 1/2 тісті дөңгелек саңылауынан үшінші және төртінші каналдар арасына басталу тесігін, ал хабарлама таңбаларының соңынан 1 1/2 тісті дөңгелек саңылауынан төртінші және бесінші каналдар арасына тоқтату тесігін салды. Бұл тесіктер арнайы орналастырылған фотоэлементтермен оқылды және хабарламаның қашан басталатынын және қашан аяқталатынын көрсетті. Оператор содан кейін қағаз лентаны қақпадан және төсектің арқандары арқылы өткізіп, кернеуді реттеді. Екіленталы төсек дизайны Хит Робинсоннан алынған, сондықтан бір лента жүктеліп жатқанда екіншісі өңделуі мүмкін болды. Таңдау панеліндегі қосқыш «жақын» немесе «алыс» лентаны таңдауға мүмкіндік берді. Әртүрлі қалпына келтіру және нөлдеу операцияларын орындағаннан кейін, «Wrens» операторлары криптоаналитик берген нұсқау бойынша «жалпы қосындыны» көрсететін ондық қосқыштарды және K2 панеліндегі қосқыштарды қажетті алгоритмді орнату үшін иеленді. Содан кейін олар төсекке арналған лентаның моторы мен шамдарын қосып, лента жылдамдыққа жеткенде басқыш қосқышты іске қосты.

Бағдарламалау

Говард Кампанье, АҚШ Әскери-теңіз күштерінің OP 20 G бөлімінің математигі және криптоаналитигі, Флауэрстің 1983 жылғы «Колосс дизайны» мақаласының кіріспесінде былай жазды. «Колосс» сақталған бағдарламалық компьютер емес еді. Бес параллель процессорға кіріс деректер, тізбектелген хабарлама қағаз таспасынан және ци, пси және мотор дөңгелектерінің электрондық үлгілеу генераторларынан оқылды. Процессорлардың бағдарламалары коммутаторлар мен ұя панельдерінің қосылыстары арқылы орнатылып, сақталды. Әрбір процессор Бульдік функцияны есептеп, хабарлама таспасының әрбір өтуінде «жалған» (0) немесе «ақиқат» (1) көрсетілген мәнін қанша рет бергенін санап, көрсетуге қабілетті болды. Процессорларға екі көзден кіріс түсті: таспадан оқылған деректердің ауысу тіркелгіштері және Тунни машинасының дөңгелектерін имитациялаған тиратрон сақиналары. Қағаз таспасындағы символдар Z деп аталды, ал Тунни эмуляторындағы символдар Билл Тютте машинаның логикалық құрылымын жасаған кезде берген грек әріптерімен белгіленді. Таңдау панеліндегі коммутаторлар деректерді ұя өрісіне және «K2 коммутатор панеліне» жіберу үшін Z немесе ΔZ, немесе Δ және немесе Δ таңдауға мүмкіндік берді. Дөңгелек имитаторларынан келетін сигналдар хабарлама таспасының әрбір жаңа өтуінде қадам басу немесе қадам баспау ретінде көрсетілуі мүмкін. K2 коммутатор панелінің сол жағында алгоритмді көрсету үшін коммутаторлар тобы болды. Оң жақтағы коммутаторлар нәтиже берілген санаушыны таңдады. Пластинка арнайы шарттарды белгілеуге мүмкіндік бермеді. Жалпы алғанда, K2 коммутатор панелінің коммутаторлары мен пластинкасы таңдалған айнымалылардың шамамен бес миллиард түрлі комбинациясын қамтамасыз етті. Мысалы, хабарлама таспасы үшін жүргізілетін сынақтар жиынтығы бастапқыда Тутте-тің 1+2 алгоритміне сәйкес екі ци дөңгелегін қамтуы мүмкін. Мұндай екі дөңгелекті сынақ ұзақ сынақ деп аталды, қатарластыру уақытты бес есе қысқарту үшін қолданылмаса, орташа есеппен сегіз минутқа созылды. Келесі сынақтар тек бір ци дөңгелегін орнатуды қамтуы мүмкін, бұл екі минутқа созылатын қысқа сынаққа әкелді. Бастапқыда, бастапқы ұзақ сынақтан кейін, келесі сынауға жарамды алгоритмді криптоаналитик таңдады. Алайда тәжірибе көрсеткендей, Wren операторлары үшін осы итеративтік процеске арналған шешім ағаштарын жасауға болады.

Қайта құру

Тони Сэйл басқаратын команда 1993-2008 жылдар аралығында Colossus Mark 2 машинасының толыққанды жұмыс істейтін қайта құрауын жасады. Қайта құрылған Colossus әлемдік радио әуесқойлармен Lorenz SZ42 арқылы шифрланған және Heinz Nixdorf MuseumsForum компьютерлік мұражайындағы DL0HNF радиостанциясынан таратылған үш хабарламаны ең бірінші болып қабылдау және дешифрлеу бойынша жарысты. Бұл сынақты радио әуесқой Йоахим Шют жеңіске жетті, ол бұл оқиғаға мұқият дайындалып, Ada тілінде өзінің сигналды өңдеу және кодты бұзу бағдарламасын жасаған еді. Colossus командасы Екінші дүниежүзілік соғыс кезеңіне қатысты радио жабдықтарын қолдануға тырысқандықтан, нашар қабылдану жағдайына байланысты бір күнге кешікті. Дегенмен, оның 1.4 ГГц ноутбугі өзінің кодын іске қосып, барлық 12 дөңгелектің параметрлерін бір минуттан да аз уақытта анықтады. Неміс шифрлаушысы: «Менің ноутбугім шифрланған мәтінді секундтына 1,2 миллион символ жылдамдығымен өңдеді, бұл Colossus-тан 240 есе жоғары. Егер процессор жиілігін осы көрсеткішпен көбейтсек, Colossus үшін 5,8 МГц-ке тең эквиваленттік сағаттық жиілік аламыз. 1944 жылы жасалған компьютер үшін бұл таңғажайып жылдамдық», – деді. Шифрлау сынағы қайта құру жобасының сәтті аяқталғанын растады. «Бүгінгі көрсеткіштерге сүйенсек, Colossus алты он жыл бұрынғыдай жақсы», – деді Тони Сэйл. «Біз Блетчли Паркте жұмыс істеген және осы шифрларды бұзып, соғысты бірнеше айға қысқартқан фантастикалық машиналарды құрастырған адамдарға лайықты құрмет көрсеткенімізге қуаныштымыз».

Басқа мағыналары

1970 жылы түсірілген «Colossus: The Forbin Project» фильмінде «Colossus» деп аталатын ойдан шығарылған компьютер болған, ол Д. Ф. Джонстың 1966 жылғы «Colossus» романы негізінде жасалған. Бұл, «Colossus» туралы ақпараттың жарияланғанға дейін немесе тіпті оның аты белгілі болғанға дейін болған жай ғана сәйкестік. Нил Стивенсонның 1999 жылғы «Криптономикон» романында да Тьюринг пен Блетчли Парктің тарихи рөлінің көркемдік бейнесі бар.