Правильная ссылка на эту страницу
http://az-design.ru/Support/HardWare/TI/D19790719Elc052.shtml

Однокристальный компьютер для шифрования данных

Роберт Будзинский (Robert Budzinski)
Фирма Texas Instruments Inc. (Даллас, шт.Техас)

Robert Budzinski. Single-chip computer scrambles for security, pp.140—144.

Это — первая статья из серии статей об аппаратной реализации шифрования данных, которая дополняет специальный обзор о стандарте шифрования данных Национального бюро стандартов, опубликованный в журнале «Электроника», 1979, №13.

Описаны устройство и принцип действия прибора TMS 9940 фирмы Texas Instruments для шифрования данных в соответствии с алгоритмом Национального бюро стандартов США.

Несанкционированное использование и прямое хищение конфиденциальной информации являются главными проблемами для организаций связи, вычислительных центров и банков. Ситуация становится все более мрачной в связи с быстрым ростом объема передачи данных.

Благодаря усилиям Национального бюро стандартов теперь имеется Федеральный стандарт на шифрование данных (СШД) для защиты конфиденциальной (но не секретной) информации. Этот документ устанавливает определенные процедуры по обеспечению защиты и определяет стандартный алгоритм шифрования данных.

По положению СШД предназначен только для определенных правительственных агентств, не связанных с национальной безопасностью. Однако уже имеются признаки того, что СШД будет широко использоваться также и в коммерческом секторе. Федеральное правительство может потребовать, чтобы определенные неправительственные пользователи систем передачи данных защищали передаваемые ими сообщения по таким вопросам, как перевод денежных фондов и ценных бумаг и товарооборот, но банки уже используют СШД без правительственных указаний.

Фирма IBM Corp. известила о выпуске программных и аппаратных средств шифрования по стандарту СШД для компьютеров Система/370. В настоящее время имеются приборы СШД для шифрования данных, передаваемых по спутниковым линиям и для обеспечения скрытности телефонных разговоров. Кроме того, более десяти фирм-изготовителей предлагают приборы для шифрования данных, оформленные в виде интегральных схем, схемных плат и автономных устройств, которые должны оценить потенциальные пользователи стандарта СШД.

Специализированный компьютер

Алгоритм СШД, несмотря на его сложность, был намеренно рассчитан на эффективную аппаратную реализацию и может выполняться приборами в виде одного кристалла. Однокристальный мини-компьютер TMS9940 фирмы Texas Instruments является прибором, который может быть использован для реализации СШД. Он может шифровать или дешифровать данные со скоростью 4800 бит/с при работе с тактовой частотой 5 МГц. Конечно, эффективное быстродействие любого прибора для шифрования может быть увеличено в n раз, если использовать n кристаллов в схеме параллельной обработки. Приборы для шифрования данных TMS 9940 подобно приборам 8294 фирмы Intel, реализующим СШД, могут легко сопрягаться с шинами микропроцессора при использовании ТТЛ-схем, поэтому они удобны для параллельного применения.

Возможно использование одного прибора 9940 вместо печатной платы или автономного устройства для шифрования по стандарту СШД там, где не требуются высокие скорости шифрования. Его возможности ввода-вывода достаточно гибки для того, чтобы удовлетворять условиям гаких применений в широких пределах. К аппаратно-обеспечиваемым функциям этого прибора относятся расширение ввода-вывода, многопроцессорная связь, режим работы с пониженной мощностью и выдача тактовых сигналов для синхронизации. Он совместим с набором команд для компьютера 9900 и средствами конструирования схем такими, как комплект AMPL фирмы TI. Фактически не возникает никаких проблем совместимости с любым периферийным устройством серии 9900 или микросхемами, обеспечивающими работу этих периферийных устройств.

Что находится на плате

TMS9940 — это первый микрокомпьютер в серии 9900 фирмы TI (рис.1). Его отдельная подложка содержит микропроцессор, постоянное запоминающее устройство (ЗУ) емкостью 2048 8-разрядных байтов (программируемое электрически или при помощи маски с алгоритмом СШД), ЗУ с произвольной выборкой емкостью 128 байт, 388 ячеек для отдельных битов в памяти ввода-вывода блока регистра связи, 14-бит синхронизатор/счетчик и интерфейс для связи между процессорами.

Микрокомпьютер TMS9940 содержит все схемы, необходимые для реализации стандартного алгоритма шифрования данных. Он может шифровать или дешифровать со
Рис.1. Микрокомпьютер TMS9940 содержит все схемы, необходимые для реализации стандартного алгоритма шифрования данных. Он может шифровать или дешифровать со скоростью 4800 бит/с; если требуется более высокая скорость, параллельное соединение n приборов 9940 увеличит производительность в n раз. 1. Синхронизатор 2. ЗУ с произвольной выборкой 3. Стираемое программируемое постоянное ЗУ 4. Блок регистра связи 5. Постоянное ЗУ и логические схемы управления 6. Постоянное ЗУ микрокодов 7. Арифметическое устройство и устройство управления

Так как прибор 9940 сконструирован для применения в виде одного кристалла, использование внешнего ЗУ с произвольной выборкой или постоянного ЗУ не предусмотрено. Однако объем памяти ввода-вывода отличается очень большой гибкостью, и поэтому может быть выделено до 32 двунаправленных контактных штырей для специфического применения (рис.2).

Набор команд для микрокомпьютеров 9900 по существу тот же самый, что и используемый для серии мини-компьютеров 990 фирмы TI, но набор команд для прибора 9940 особенно легко использовать. Благодаря тому что в него включено очень мало специальных случаев, его легко изучить. Почти для всех кодов операций можно использовать полный диапазон адресации к операнду. Архитектурой предусмотрены 16-бит адреса памяти, что позволяет избежать сложности и исключает дополнительный потенциальный источник ошибок, свойственных адресам меньшей длины.

Гибкость. Для выполнения специфических функций аппаратными средствами могут быть выделены 32 двунаправленных контактных штыря прибора TMS 9940, а такж
Рис.2. Гибкость. Для выполнения специфических функций аппаратными средствами могут быть выделены 32 двунаправленных контактных штыря прибора TMS 9940, а также могут быть использованы ТТЛ-схемы. Имеется до 4 рабочих зон памяти емкостью 16 слов. Все операции совместимы с набором команд для серии микрокомпьютеров и относящихся к ним кристаллов с микросхемами.

Имеется пять режимов адресации к операнду, которые можно выбирать, пользуясь командами прибора 9940. Режим регистра адресов определяет ячейки памяти, из которых должна производиться выборка, в отличие от обращения к действительному регистру. Текущая используемая зона регистров отмечается указателем рабочей зоны. Этот указатель отмечает первое слово в рабочей зоне емкостью 16*16-бит слов. Прибор 9940 имеет до четырех наборов рабочих зон.

Преимущество использования рабочей зоны состоит в возможности быстрой коммутации контекста. Три слова хранятся в рабочей зоне прерывания для коммутации контекста: указатель используемой рабочей зоны, счетчик программы и регистр состояния. Для выполнения этой операции требуется менее 8 мкс при тактовой частоте 5 МГц.

Другие режимы адресации включают косвенное обращение к рабочей зоне регистра, косвенное автоинкрементное изменение рабочей зоны регистра, индексную и символическую (истинную) адресацию. Кроме того, некоторые команды позволяют осуществлять абсолютную адресацию к операнду.

Ввод и вывод

Набор команд обеспечивает ввод-вывод (ВВ) при работе с блоком регистров связи (БРС). Его рабочая зона — ориентированный на биты интерфейс ВВ; элементы данных располагаются в этой зоне памяти с интервалом, равным 1 бит. Адрес бита БРС формируется путем добавления 8-бит смещения, содержащегося в 16-бит команде БРС, к 9 бит из регистра 12 рабочей зоны.

Имеется пять различных команд БРС. Три команды относятся к операциям с отдельными битами: одна из них приводит выбираемый по адресу бит к логической единице (КПБЕ), а вторая — к логическому нулю (КПБО). Третья команда проверяет значение бита (КПБ).

Многобитовые команды БРС управляют передачей информации между рабочей зоной БРС и зоной ЗУ с произвольной выборкой. Адрес БРС для переноса информации содержится в регистре 12. Число передаваемых битов может изменяться от 1 до 16 и содержится в команде.

Ячейка в рабочей зоне памяти определяется одним из пяти главных режимов адресации к операнду, рассмотренных ранее. Команда ввода в БРС КВвБРС переносит определенное в ней число битов из конкретной ячейки памяти в рабочую зону БРС. Это начинается с адреса БРС в регистре 12. Команда вывода содержимого БРС (КВРС) выполняет ту же самую операцию, за исключением того, что данные переносятся из БРС в зону памяти. Максимальная мгновенная скорость переноса данных из БРС или в него равна 1,25 Мбит/с.

Имеется два возможных способа реализации любой конкретной ячейки памяти в рабочей зоне БРС. По первому способу для этого используется регистр. В этом случае ячейки БРС действуют как рабочая зона памяти для считывания/записи. Второй способ состоит в применении отдельных линий ввода и вывода. По этому способу для считывания из зоны БРС по команде КВРС определяются значения вводимых извне сигналов. И наоборот, при записи в область БРС по команде КВвБРС посылаются сигналы к внешним входам.

Все операции ВВ в приборе 9940 выполняются с использованием команд БРС. Для этого имеется 4 контактных штыря команд прерывания и 32 штыря ВВ общего назначения. Когда подается сигнал на штырь прерывания для сброса RST), 32 штыря приводятся в исходное состояние для ввода. Выбором направления действия этих 32 штырей (ввод или вывод) управляет регистр направления доступа.

Штыри ВВ могут использоваться для считывания (по командам КВРС, КПБ) независимо от направления. Однако невозможно использовать для записи (по командам КВвБРС, КПБЕ, КПБО) штырь, который находится в состоянии ввода.

Специальные функции

Некоторые из 32 штырей ВВ общего назначения могут быть также использованы в конфигурациях для выполнения специальных функций. Имеются четыре такие функции: расширение БРС, сопряжение с многопроцессорной системой, внешняя синхронизация (вывод тактовых сигналов) и логика режима пониженной мощности. Возможна любая комбинация этих функций.

Фактически, использование каждой функции определяется значением бита конфигурации, к которой она относится. Имеется 4 бит конфигураций — по одному для каждой функции,— которые могут быть считаны из зоны БРС. Биты конфигурации переводятся в режим общего назначения (все специальные функции не действуют) после сброса. Кроме того, специальные функции могут быть просто использованы под управлением программы. Специальная функция расширения БРС позволяет хранить 256 бит БРС вовне при использовании для этого 11 штырей общего назначения. Девять из этих штырей (А0—A5) используются для вывода и один для ввода. Последний штырь используется для подачи строба, когда данные посылаются на штырь вывода.

Прибор 9940 представляет три возможности для сопряжения. Они требуют применения программируемой схемы сопряжения с системой TMS 9001, контроллера асинхронной связи TMS 9902 или контроллера синхронной связи TMS 9903 (рис.3,а).

Интерфейсы. Дополнительные схемы для связи с прибором TMS 9940 включают: а) программируемый интерфейс и контроллеры для синхронной и асинхронной связи
Рис.3. Интерфейсы. Дополнительные схемы для связи с прибором TMS 9940 включают: а) программируемый интерфейс и контроллеры для синхронной и асинхронной связи; б) двухпроводную последовательную схему сопряжения и в) схему взаимосвязанных прерываний. При использовании последней схемы могут быть объединены более двух приборов через логическую схему ИЛИ.

Интерфейс для сопряжения с многопроцессорной системой (ИМПС) представляет собой двухпроводный прибор для связи между процессорами. Это последовательный интерфейс, допускающий перенос от 1 до 16 бит (рис.3,б). При включении ИМПС нормально находится в режиме приема. Данные с линии TD вводятся в 16-разрядный регистр под действием строба, поступающего по линии ТС. Данные могут также быть переданы для хранения вне прибора при выполнении команды КВвБРС с соответствующим адресом ИМПС. И, наконец, данные могут быть переданы из регистра ИМПС по команде КВвБРС с соответствующим адресом ИМПС.

Многокристальное шифрование

Можно составить схему из двух приборов 9940 с использованием взаимосвязанных прерываний для координации связей (рис.3,в). К этой схеме могут быть добавлены другие приборы 9940 при объединении линии TD и ТС через схему ИЛИ. Координация связи осуществляется по особым протоколам. Какой конкретный протокол используется, зависит от поставленных требований и стоимостных соображений, выбор осуществляется на основе компромисса между этими двумя факторами.

Другой специальной функцией, которая может выполняться под действием бита синхронизации, является режим синхронизатор/счетчик событий. Счетчик может быть использован как синхронизатор, если он включен по схеме возбуждения синхронизатором системы. В этом режиме частота следования синхроимпульсов системы понижается до 1/15 перед вводом их в счетчик. Счетчик может также включаться как счетчик событий положительным срезом внешнего сигнала. Режим, в котором он используется, определяется битом доступа БРС.

Функция синхронизатор/счетчик

Вначале синхронизатор/счетчик находится в запертом состоянии (под действием команды сброса). Если выбрана функция счетчика, то счетчик открывается при выборе его режима и вводе в регистр синхронизации пускового сигнала ненулевого значения по команде КВвБРС. Показания счетчика уменьшаются под действием выбранного источника до нуля. Затем в БРС подается сигнал фиксированного прерывания и на счетчике снова устанавливается начальное показание. Величина тока в счетчике может быть считана по команде КВРС.

Прибор 9940 может работать в режиме пониженной мощности, когда питание подается только на зону ЗУ с произвольной выборкой емкостью 128 байт и логические схемы прерывания. Режим пониженной мощности устанавливается битом конфигурации. Вход прерывания синхронизатора/счетчика I̅N̅T̅2̅ заперт, но оба входа прерывания R̅S̅T̅ и I̅N̅T̅1̅ остаются открытыми.

Питание на центральный процессор (ЦП) может быть снова подано с сохранением целостности данных в ЗУ с произвольной выборкой — при поступлении сигнала на вход I̅N̅T̅1̅. Если вместо него используется вход RST, то питание на ЦП также подается, но данные, хранящиеся в ЗУ, будут потеряны. Для реализации автоматического перехода на работу с пониженной мощностью требуются внешние схемы.

Питание на прибор 9940 может также подаваться при внешнем управлении. Если принять, что требуется установить режим пониженной мошности, то процессор может быть переведен в этот режим установкой на входе H̅L̅D̅ нулевого сигнала. Это вызовет переход сигнала квитанции запоминания H̅L̅D̅A̅ к нулю. Этот подход полезен для синхронизации разделения ресурсов между процессорами.

Другая дополнительная конфигурация предназначена для обеспечения вывода тактовых сигналов для синхронизации. Если ее осуществление вызывается битом конфигурации, то выходными сигналами прибора 9940 будут сигналы синхронизации системы. Частота сигналов синхронизации равна половине частоты генератора, которая является действительной внутренней частотой системы.

В приборе 9940 имеется также 16-разрядный регистр, обращение к которому осуществляется по командам БРС. Он может быть использован для хранения битов или манипуляции с ними.

Операции шифрования

Прибор для шифрования данных TMS9940 разработан с целью получения максимальной производительности при гибком и простом в использовании сопряжения. Производительность максимизируется тщательным управлением объемом постоянного ЗУ, используемым для выполнения алгоритма СШД. Применяемые в 16 манипуляциях с главными данными 16 48-бит вспомогательных ключей вычисляются и запоминаются вскоре после ввода 64-бит главного ключа (64-бит ключ включает в себя 8 бит для проверки четности, остальные 56 бит образуют действующий ключ). Следовательно, при выполнении операций шифрования и дешифрования время не теряется для формирования вспомогательных ключей.

Ввод ключа

Ключ может быть введен после сброса по завершении операции шифрования или дешифрования. Штырь указателя ввода ключа NK/K̅E̅ опрашивается после сброса или завершения одной из операций. Если отмечается ввод ключа, то следующие 64 бит принимаются за ключ.

Затем производится проверка на четность. Если обнаруживается ошибка, то вырабатывается активный сигнал несовпадения четности Р̅Е̅ и операция останавливается. Чтобы возобновить операцию после ошибки, обнаруженной при контроле четности, должен быть открыт вход R̅S̅T̅ и повторена операция ввода ключа. После получения ключа без ошибки по четности вычисляются 16 вспомогательных ключей и они вводятся для хранения в ЗУ с произвольной выборкой, находящееся на плате.

Прибор 9940 для шифрования данных сконструирован как периферийная схема, работающая с внешним микропроцессором или другими схемами. Имея это в виду, легко понять основную последовательность операций после ввода ключа и вычисления вспомогательных ключей. Первый шаг — это ввод в прибор открытого или зашифрованного текста.

Перемешивание и подстановка

После приема 64-бит блока открытого или зашифрованного текста, он запоминается в регистрах используемой рабочей зоны по командам КВвБРС. Первоначальная перестановка, являющаяся простым изменением порядка следования или перемещением входных битов, выполняется с использованием ЗУ с произвольной выборкой, находящегося на плате.

Шестнадцать манипуляций с основными данными, в которых используются вспомогательные 48-бит ключи, определенные стандартом СШД, выполняются с использованием функции Исключающее ИЛИ и обращения к табличной логике. Прибор 9940 обеспечивает автоматическое управление рабочими зонами и запоминающими регистрами во время этих манипуляций.

Окончательная перестановка (обратная начальной перестановке) выполняется с использованием дополнительной зоны памяти. 64-бит блок выводится затем из прибора с использованием команд КВвБРС, что делает прибор готовым к приему следующего блока данных. Хотя каналы ввода и вывода являются общими, разработчик системы обеспечил гибкость установки их ширины, равной 8 или 16 бит. Длина входного слова может быть выбрана независимо от длины выходного слова, что допускает четыре комбинации размеров входного-выходного слова: 8/16, 8/8, 16/16 или 16/8. Эта гибкость позволяет легко осуществлять сопряжение 8-бит систем с 16-бит.

Ввод-вывод, управляемый сигналами
Данные готовы/Данные приняты

Ввод и вывод управляются набором сигналов типа Данные готовы/Данные приняты (рис.4). Ввод начинается при поступлении сигнала загрузки входных данных (L̅D̅I̅); штырь L̅D̅I̅ связан со штырем I̅N̅T̅1̅ прибора 9940. Следовательно, сигнал низкого уровня на L̅D̅I̅ вызовет прерывание работы ЦП.

Синхронизация. Ввод ключа, ввод и вывод данных управляются подаваемыми извне сигналами квитирования. Полная обработка 64-бит блока данных, включая вво
Рис.4. Синхронизация. Ввод ключа, ввод и вывод данных управляются подаваемыми извне сигналами квитирования. Полная обработка 64-бит блока данных, включая ввод, вывод и операции шифрования, требует 13 мс.

Приняв сигнал прерывания, прибор определяет, имеется ли зона для хранения входного слова. Если ввод возможен, открывается канал для ввода и производится считывание данных. Когда ввод завершен, сигнал RDY/B̅S̅Y̅ достигает высокого уровня. Если прибор 9940 не может принять данные, устанавливается внутренний указатель и прерывание блокируется. По завершении текущей операции производится опрос указателей. Если ввод приостановлен, то он начнется вновь так, как будто бы он был вызван прерыванием.

Вывод также управляется парой сигналов Данные готовы/Данные приняты. Когда данные для вывода готовы, они поступают в канал вывода и генерируется сигнал наличия данных DAV. После этого ЦП получает входной сигнал подтверждения приема данных (DAC).

Когда данные из прибора шифрования поступят в прибор, принимающий эти данные, может быть послано следующее входное слово. После ввода всего 64-бит блока прибор шифрования переводится в режим приема и может быть осуществлен ввод следующего блока зашифрованного или открытого текста.

Выходные данные:

Журнал "Электроника" том 52, No.15 (567), 1979г - пер. с англ. М.: Мир, 1979, стр.68

Electronics Vol.52 No.15 July 19, 1979 A McGraw-Hill Publication

Robert Budzinski. Single-chip computer scrambles for security, pp.140—144.

Раздел: МЕТОДЫ, СХЕМЫ, АППАРАТУРА

Тема:     Техника связи





Дата последнего изменения:
Thursday, 21-Aug-2014 09:10:44 MSK


Постоянный адрес статьи:
http://az-design.ru/Support/HardWare/TI/D19790719Elc052.shtml