МК-85С. Оживляем шифровальный калькулятор

в 8:05, , рубрики: timeweb_статьи, авизо, калькулятор, МК-61, мк-85, ПЗУ, программатор, фапси, ФСБ, Центробанк, шифратор, электроника
Приветствую всех!
Уверен, каждый из тех, кто интересуется отечественной вычислительной техникой, слышал про этот прибор. Давным-давно на базе «гражданского» микрокомпьютера «Электроника МК-85» была выпущена специализированная версия — МК-85С. Предназначена она была для шифрования. Очень мало кто видел этот аппарат вживую, а тех, кто знает, как он работает, ещё меньше. Долгое время считалось, что таких девайсов остались считанные единицы, но вот не так давно мне повезло и я смог заполучить себе такой экземпляр. Так что сегодня у вас есть уникальный шанс узнать его тайну и даже попробовать что-то зашифровать или расшифровать.

МК-85С. Оживляем шифровальный калькулятор - 1

Итак, в сегодняшней статье поговорим, наверное, о самом загадочном представителе отечественной портативной вычислительной техники. Заодно посмотрим на него в работе и узнаем, что у него внутри. Традиционно будет много интересного.

О чём это я?

МК-85С. Оживляем шифровальный калькулятор - 2

Если вы хоть немного интересовались калькуляторами производства СССР, то вы определённо знакомы с этим прибором. Электроника МК-85 — поистине уникальный девайс, сочетающий в себе внешний вид и интерфейс Casio FX-700P, архитектуру PDP-11 и историю создания, тянущую на отдельную полноценную статью. Про МК-85 было написано много статей, снято ещё больше видео, но вот прочие его модификации так и остались покрыты тайной.

МК-85С. Оживляем шифровальный калькулятор - 3

МК-85М — по сути тот же МК-85, но с увеличенным объёмом ОЗУ.

МК-85С. Оживляем шифровальный калькулятор - 4

МК-85С — сам предмет нашего обзора, криптографическая модификация МК-85. Также существовал МК-85Б, предназначенный для банков. Для него не удалось найти даже фото, но, скорее всего, по виду он похож на МК-85С.

МК-85С. Оживляем шифровальный калькулятор - 5

Также на чипсете данного устройства было собрано ещё несколько примечательных приборов. Например, редчайшая электронная записная книжка МК-87…

МК-85С. Оживляем шифровальный калькулятор - 6

… или вот такой телефон с АОН.

Что это за МК-85С?

Как и любой другой редкий артефакт, девайс окутан туманом различных легенд, а те, кто особо с ним не знаком, приписывают ему разные мифические свойства.
Итак, МК-85С появился в 1991 году и предназначался для нужд армии, пограничных войск, Центробанка и ещё много кого. Но наибольшую известность он получил тогда, когда после его внедрения в ЦБ РФ в девяностых годах удалось остановить поток фальшивых авизо, до этого позволявших похищать миллиарды рублей.

МК-85С — не единственная модификация МК-85, созданная для шифрования, однако именно эта модель единственная, имевшаяся в свободном доступе (конкретно с этой модели гриф секретности снят, чего не скажешь об МК-85Б и ещё нескольких модификациях). Позволяет шифровать текст объёмом до 750 символов или цифровую информацию до 1500 знаков. Какой алгоритм шифрования там применён, мне неведомо.

В разных источниках говорят, что «С» в названии модели — это «Crypto», но, учитывая, что другие модификации названы русскими буквами, я склоняюсь к тому, что здесь это расшифровывается скорее как «специальный».

Пожалуй, этот девайс — один из самых загадочных представителей мира отечественных калькуляторов и микрокомпьютеров. Во-первых, практически полное отсутствие каких-либо данных: иной опытный образец имеет больше известной о нём информации, чем вполне себе серийный МК-85С. Во-вторых, информация про него известна как-то выборочно: на просторах без труда находятся фотографии калькулятора, порой даже во включённом виде, однако процесс непосредственно шифрования и расшифровывания не показан решительно нигде, словно немногочисленные обладатели живого аппарата не желали показывать его в работе или банально не знали, как им пользоваться. Фото внутренностей также нигде нет. Изначально многие считали, что уцелело необычных приборов меньше десятка. Один из них покоится в Музее криптографии, ещё несколько штук были проданы на вторичке и разных аукционах, их местонахождение и судьба неизвестны.

МК-85С. Оживляем шифровальный калькулятор - 7

О редкости свидетельствует и цена: практически в десять раз больше, чем у «гражданского» МК-85.

МК-85С. Оживляем шифровальный калькулятор - 8

Об упаковке и комплектации неизвестно ровным счётом ничего. Но, судя по этой фотографии, можно предположить, что отдельные экземпляры поставлялись как обычные МК-85 — в такой же коробке и с такой же (совершенно бесполезной для данной модели) инструкцией.

Обзор оборудования

Достался мой экземпляр совершенно случайно: на вторичке кто-то выложил объявление с целой горой (больше пятидесяти штук!) таких приборов. Понятия не имею, откуда они, но цена была довольно таки молодёжной, так что экземпляр я купил. Пока посылка ехала, немного нервничал: вдруг по прибытии окажется, что прислали обычный МК-85 или ещё какой-то нерабочий шлак?

МК-85С. Оживляем шифровальный калькулятор - 9

Но нет. Аппарат доехал ко мне в идеальной сохранности (собственно, фото на КДПВ я сделал, едва забрав его).
По виду он очень похож на МК-85, но ряд заметных отличий всё же присутствует. Вместо латинской клавиатуры здесь русская, часть кнопок изменили своё назначение.

МК-85С. Оживляем шифровальный калькулятор - 10

С обратной стороны его вообще не отличить от позднего МК-85.

Первый запуск

Изначально я полагал, что МК-85С — обычный МК-85, к которому были добавлены какие-то функции, облегчающие работу с криптографией (скажем, некие процедуры Бейсика или что-то подобное). Но, как оказалось, я был чертовски не прав, а от «калькуляторной» логики в этом девайсе нет почти ничего.

МК-85С. Оживляем шифровальный калькулятор - 11

Блока питания Д2-10К, предназначенного для питания этого прибора, у меня нет. Зато есть Д2-10М из комплекта «Электроники МК-61». Учитывая, что поздние версии МК-85 также имели такой БП, я решил, что вряд ли что-то случится, если я запитаю свой экземпляр от него.

МК-85С. Оживляем шифровальный калькулятор - 12

Подаём питание и переводим переключатель вправо. На экране загорается единственный вопросительный знак, больше калькулятор ни на что не реагирует. Ни привычного для данного девайса READY P0, ни каких-либо других сообщений не наблюдалось.

Сброс

На обратной стороне имелась кнопка для сброса памяти. Жмякнем её.

МК-85С. Оживляем шифровальный калькулятор - 13

На экране появляется «Т Е С Т», после чего прибор начинает тестирование систем. Попутно выяснилось, что анизотропные резинки дисплея в моём экземпляре уже сильно устали…

МК-85С. Оживляем шифровальный калькулятор - 14

Тест сегментов экрана.

МК-85С. Оживляем шифровальный калькулятор - 15

Верхний ряд работает отлично, а вот символьной части плоховато.

МК-85С. Оживляем шифровальный калькулятор - 16

После экрана проверяется клавиатура. В ходе этого теста выяснилось, что несколько клавиш также не работают.

МК-85С. Оживляем шифровальный калькулятор - 17

Но зато можно сразу что-то напечатать!

Внутренности

Разумеется, девайс я разобрал. Больше всего сложностей вызвало снятие пломбы, но при помощи острого ножа её удалось отковырять, почти не повредив.

МК-85С. Оживляем шифровальный калькулятор - 18

Под крышкой нас ждёт начинка совершенно обычной «Электроники МК-85». Ни защищённого хранилища, ни дополнительной памяти, ни чего-то ещё тут нет. Единственное, что выдаёт специализированное назначение, так это номер прошивки на масочном ПЗУ — 061. У обычной версии он равен 015.

МК-85С. Оживляем шифровальный калькулятор - 19

Откроем батарейный отсек, сдвинув крышку вправо и приподняв её. Как и ожидалось, элементы питания давно потекли.

МК-85С. Оживляем шифровальный калькулятор - 20

Конструкция довольно удачная, вытекшая дрянь нисколько не задела плату.

МК-85С. Оживляем шифровальный калькулятор - 21

Сами элементы питания (четыре серебряно-цинковых «таблетки»), разумеется, были выкинуты.

МК-85С. Оживляем шифровальный калькулятор - 22

Снимем пластмассовую накладку.

МК-85С. Оживляем шифровальный калькулятор - 23

А вот и обратная сторона платы. Контакты кнопок протёр изопропиловым спиртом (примерно так же, как при чистке контактов в пультах телевизоров) и провёл повторный тест. Клавиши нажимались безотказно.

Азимут

МК-85С. Оживляем шифровальный калькулятор - 24

После сброса памяти и завершения теста девайс показал знакомую по фотографиям из сети заставку "** МК-85С **". Но что оставалось странным, так это то, что калькулятор не реагировал ни на нажатие кнопок, ни на постукивание об стену. Либо управляющая программа была загружена в ОЗУ и ныне стёрлась, либо он требовал ввода какого-то пароля.

МК-85С. Оживляем шифровальный калькулятор - 25

Верным оказалось второе: если набрать «АЗИМУТ», на экране вновь загорался тест. После этого отображался некий цифровой код. Изначально я думал, что это то ли серийный номер, то ли какой-то вектор генерации, то ли мастер-ключ (хотя вряд ли он находится в масочном ПЗУ). Но всё оказалось куда прозаичнее: это контрольная сумма прошивки, для всех МК-85С эти цифры одинаковые.

МК-85С. Оживляем шифровальный калькулятор - 26

На буквенные клавиши завязаны какие-то функции. При нажатии «Н» этот тест с отображением номера проходит заново. А «Д» запрашивает какой-то пароль из пяти знаков. Судя по всему, это пароль второго уровня, позволяющий перейти в рабочий режим. Вводить можно что угодно, на нажатие EXE или других кнопок реакции нет. Так как пароль этот неизвестен, можно сказать, что девайс в этом меню зависает до самой перезагрузки.

Анкорт

Поскольку ничего больше выяснить не удалось, стало ясно, что нужна инструкция. Где её взять, было решительно неясно.

Калькулятор разрабатывался и выпускался совместно с неким малым предприятием «Анкорт». В своё время они даже отметились на Хабре, однако статьи были встречены достаточно холодно. Но кое-что интересное удалось найти в Web Archive. Калькулятор этот продавался также как коммерческий шифратор и какой-либо гостайны никогда не содержал. На этом же сайте «Анкорта» отыскались и характеристики данного девайса. Не инструкция, но уже что-то. Там же подтвердилась информация о наличии какого-то пароля.

МК-85С. Оживляем шифровальный калькулятор - 27

На просторах легко ищется вот такое фото. Стало быть, МК-85С — не совсем самостоятельное устройство, а часть программно-аппаратного комплекса, состоящего из компьютера со спецсофтом и самого калькулятора. При помощи некоего ПО генерировались ключи, которые, вероятно, надо было забивать в калькулятор с клавиатуры. Осталось непонятным упоминание на сайте «Анкорта» некой возможности экстренного стирания памяти. То ли под ней подразумевается кнопка для сброса, то ли клавиша «Н» со странной реакцией и была таковой.

ПЗУ

Стало ясно: простым перебором кнопок многого не добьёшься. Появились идеи, что надо прочитать ПЗУшку и посмотреть, что там записано.

Подключение ПЗУ в микрокалькуляторе "Электронника МК-85"
(неподписанные выводы не используются)

            A5  A6  A7  A12     Ucc A14 A13 A8  A9   
        6   5   4   3   2   1   48  47  46  45  44  43
       ┌┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴┐
A4  7──┤                    ■                        ├──42 A11 
A3  8──┤                   ключ                      ├──41 /OE (Gnd)
    9──┤                                             ├──40 
   10──┤                                             ├──39 
   11──┤                                             ├──38 
   12──┤                 Т36РЕ2-2                    ├──37 
   13──┤                   015                       ├──36 
   14──┤                                             ├──35 
   15──┤                                             ├──34 
   16──┤                                             ├──33 
A2 17──┤                                             ├──32 A10
A1 18──┤                                             ├──31 /CS (18pin CPU)
       └┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬┘
        19  20  21  22  23  24  25  26  27  28  29  30 
            A0  D0  D1  D2  GND D3  D4  D5  D6  D7  

Несмотря на нестандартный корпус и не менее нестандартное обозначение, Т36РЕ2-2 — по сути обычное параллельное ПЗУ 27128, которое можно считать обычным программатором, если собрать переходник.

Дамп памяти обычного МК-85 был получен достаточно давно: имеющийся у меня файл (лежавший вместе с распиновками микросхем и софтом) датируется 1997 годом. От МК-85С ничего ожидаемо не нашлось, так что придётся выпаивать и читать чип самому.

Неожиданная разгадка

Пока я собирался с мыслями выпаять микруху и прочитать её, методом ненаучного тыка удалось понять, как работает данное устройство и как им пользоваться. После этого всё резко встало на свои места, а управление перестало казаться столь контринтуитивным.
Итак, вернёмся к нашему экрану с какими-то цифрами. В этом режиме нужно жмякнуть «Д» и набрать пароль. Как оказалось, это не запрос пароля, а его установка. Набираем любую комбинацию из пяти символов. Не потеряйте этот пароль! Если вы его забудете, в дальнейшем придётся сбросить память и удалить все ключи.
И вот на том месте я изначально застрял, думая, что калькулятор зависает. На деле всё просто до гениального: во избежание случайного ввода клавиатура блокируется. То есть редактировать что-либо возможность есть, а вот неловким нажатием EXE занести в память не то — уже не получится. Чтобы разблокировать ввод, необходимо воспользоваться комбинацией клавиш УПР+БЛК. А чтобы подтвердить что-либо, используется комбинация УПР+EXE.

МК-85С. Оживляем шифровальный калькулятор - 28

После этого на экране появляется предложение ввести долговременный ключ. Где же взять его? Всё очень просто. Помните то фото, где помимо калькулятора фигурировала какая-то бумажка с числами? Открываем его и вводим на клавиатуре примерно следующее:

84534 45986 35465 64750 69746 75562 96281 96471 16889 77629 94879 96394 73073 45415 29900 39356 54944 10712 85757 23266 32131 18232

Необходимо ввести все 22 пятёрки цифр. Если ошиблись, символ можно удалить, наведя на него курсор и нажав ЗБ. Далее разблокируем ввод и подтверждаем запись ключа комбинацией УПР+ЕХЕ. Если ключ введён неверно, то появится сообщение «ОШИБКА ВВОДА». Видимо, последовательность содержит в себе и некую контрольную сумму.

МК-85С. Оживляем шифровальный калькулятор - 29

Теперь нужно выбрать режим: буквенный или цифровой. Выбираем буквенный.

МК-85С. Оживляем шифровальный калькулятор - 30

Это длина блока (группы цифр, которые будут являться результатом шифрования). Для примера выберем 4.

Шифруем и расшифровываем

Ну что же, на очереди самое интересное!

МК-85С. Оживляем шифровальный калькулятор - 31

На экране выбор режима: зашифровать, расшифровать или перейти в управление ключами.

МК-85С. Оживляем шифровальный калькулятор - 32

Выбираем первый вариант.

МК-85С. Оживляем шифровальный калькулятор - 33

Теперь очередь марканта — своеобразного аналога сессионного ключа. Жмякаем десять раз кнопку «МРК», при этом циферки на семисегментном индикаторе будут уменьшаться. Затрудняюсь точно сказать, как именно это происходит, но, скорее всего, принцип примерно следующий. При нажатии на кнопку процессор измеряет временные интервалы и с их помощью генерирует случайную последовательность. Она-то и служит основой для ключа. По сути это этакий биологический генератор случайных чисел, предок того самого требования поводить мышью и понажимать клавиши на клавиатуре. Позднее десять цифр марканта приписываются в начало зашифрованной последовательности.

МК-85С. Оживляем шифровальный калькулятор - 34

Теперь можно вводить текст, который требуется зашифровать.

МК-85С. Оживляем шифровальный калькулятор - 35

После шифрования получаем вот такие четвёрки цифр, которые уже можно передавать по открытому каналу. Для примера я зашифровал слово «ТЕСТ», после чего калькулятор выдал следующую последовательность:

9042 5544 3314 4614 5041

Сохраним её.

МК-85С. Оживляем шифровальный калькулятор - 36

Теперь очередь расшифровки. Переходим в режим «Р» и набираем там наши цифры (при вводе они автоматически группируются в четвёрки). И вот оно — девайс работает!

МК-85С. Оживляем шифровальный калькулятор - 37

А если ошибиться хоть в одной цифре, то ожидаемо получим «кашу».

Использование

Как оказалось, "** МК-85С **" — всего лишь «начальная» заставка калькулятора.

МК-85С. Оживляем шифровальный калькулятор - 38

«Заряженное» же устройство при включении отображает на дисплее «А З И М У Т». Чтобы перейти в рабочий режим, нужно набрать пароль, который мы задали при начальной настройке. После этого нажимаем «Д» и попадаем в меню выбора режима работы.
Интересно реализована обработка этого пароля для входа. Калькулятор проверяет последние введённые пять символов, при этом есть двадцать пять попыток ввода символа. Если ввести больше двадцати пяти знаков подряд и в этой строке не будет подпоследовательности, являющейся правильным паролем, калькулятор сотрёт ключи и снова перейдёт в режим инициализации. Правда, реализовано это довольно криво: счётчик находится не в ОЗУ, а в одном из регистров процессора, то есть, если постоянно перезагружать аппарат, подбирать код можно бесконечно. Какого-либо защищённого исполнения (как в пин-падах, HSM'ах и тому подобной шифровальной технике) здесь также нет, так что, сняв крышку, можно получить доступ к микросхеме ОЗУ и без малейших для этого препятствий считать её.

КЛ

Последняя кнопка используется для работы с ключами. Там можно задать долговременный ключ или поменять пароль.

Из оставшихся так и не упомянутыми кнопок особых секретов нет. «Р/Л» — переключение раскладки, «S» и «F» — Home и End. "-1" и "+1" — изменение параметра на 1, «ВСТ» — то же, что и Insert, «КР» — коррекция ввода. Спецсимволы вводятся при помощи всё той же клавиши УПР.

Эмулятор и дальнейшие планы

Очевидно, я был не единственным, кто купил такой экземпляр. Но так вышло, что я стал первым, кто смог разобраться, как с ним работать (на самом деле я в этом плане не совсем первый, но точно первый, кто не просто разобрался, но ещё и поведал об этом миру). Инструкцией я поделился в известном в узких кругах чатике по древней вычислительной технике, после чего ещё несколько обладателей данной машинки смогли её успешно запустить.
Пользуясь случаем, выражаю благодарность тем, кто также проявил интерес к данному девайсу и смог проверить мои предположения насчёт его работы в деле, попутно дополнив моё руководство до полноценного вида.

МК-85С. Оживляем шифровальный калькулятор - 39

Пока я разбирался с работой самого калькулятора, другой товарищ (Дмитрий Штатнов) успешно выпаял микруху ПЗУ и считал прошивку. А Владислав «Bs0Dd» Задорожкин успешно запустил её на эмуляторе МК-85 (версии от известного в кругах любителей советских калькуляторов польского энтузиаста Петра Пятека), попутно сделав ряд доработок этого софта (например, нарисовал новую переднюю панель, соответствующую таковой у МК-85С).

МК-85С. Оживляем шифровальный калькулятор - 40

Пока что в открытом доступе размещена далеко не окончательная версия (в частности, есть некоторая особенность в раскладке при вводе с клавиатуры), но я уже убедился в её работоспособности: зашифрованное на реальном калькуляторе расшифровывается на эмуляторе, и наоборот. Но уже сейчас каждый сможет увидеть аппарат в работе. Скачать эмулятор можно тут.

Что же было потом?

На этом жизненный путь данного калькулятора не заканчивается.
Удалось узнать происхождение всех тех экземпляров. Оказалось, что давным-давно в каком-то помещении находился офис компании «Анкорт». После закрытия этой фирмы помещение долго пустовало, а потом новоприбывшие арендаторы обнаружили там эти артефакты и просто выкинули их. Лишь случайно тот самый продавец смог спасти их от утилизации. Увы, помимо калькуляторов там также имелся софт на дискетах, инструкции и другие документы (которые вполне могли представлять большую ценность для истории нашей криптографии), но по злой иронии судьбы занявшие помещение не догадывались о значимости этой, казалось бы, бесполезной макулатуры, отчего буквально месяцем ранее всё это было отправлено в recycle bin. Впрочем, надежд найти оригинальную инструкцию, софт и какую бы то ни было иную документацию мы не оставляем.

Так что история этого девайса только начинается…

Небольшой бонус (для обладателей девайса или эмулятора)

Раз:

5166 1825 9887 1340 1940 2688 8582 9395 9141 7652 5105 2564 0394 2727 8949 7965 

Два:

7023 8033 0910 4080 7758 5613 5857 0310 7195 3198 8814 6627 9934 3228 8412 3330

Такие дела.


Ссылки

Автор: MaFrance351

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js