Главная Рефераты по рекламе Рефераты по физике Рефераты по философии Рефераты по финансам Рефераты по химии Рефераты по хозяйственному праву Рефераты по цифровым устройствам Рефераты по экологическому праву Рефераты по экономико-математическому моделированию Рефераты по экономической географии Рефераты по экономической теории Рефераты по этике Рефераты по юриспруденции Рефераты по языковедению Рефераты по юридическим наукам Рефераты по истории Рефераты по компьютерным наукам Рефераты по медицинским наукам Рефераты по финансовым наукам Рефераты по управленческим наукам Психология и педагогика Промышленность производство Биология и химия Языкознание филология Издательское дело и полиграфия Рефераты по краеведению и этнографии Рефераты по религии и мифологии Рефераты по медицине Рефераты по сексологии Рефераты по информатике программированию Краткое содержание произведений |
Реферат: Система криптозащиты в стандарте DES. Система взаимодействия периферийных устройствРеферат: Система криптозащиты в стандарте DES. Система взаимодействия периферийных устройствРис.6.3. Подпрограмма обработки прерываний от INT1(низкий приоритет)
Ввод байта ключа Через Р0 по @R1 Сохранание PSW Сохранение Аккумулятора Установка RB3 R0- в начало ключа R1- в начало ключа в ПЗУ i=0,7 Формирование ключа Восстановление Акк Восстановление PSW Выход из подпрограммы Сохранение байта ключа по @R0 Инкремент R0 Инкремент R1 Рис6.4. Подпрограмма обработки прерываний от INT0 (низкий приоритет)
Да Сохранание PSW Сохранение Аккумулятора Установка RB3 Гашение светодиода задержка Вкл светодиода задержка Гашение светодиода Ввод байта ключа Через Р0 по @R1 R0- в начало ключа R1- в начало ключа в ПЗУ i=0,7 Формирование ключа Восстановление Акк Восстановление PSW Выход из подпрограммы Сохранение байта ключа по @R0 Инкремент R0 Инкремент R1 Рис.6.5. Подпрограмма обработки прерываний от T/C0. (высокий приоритет) Сохранение PSW Установка RB1 Сброс RD(A/D) Установка RD(A/D) Сохранение Акк
Да Выход из подпрограммы Считывание порта Р0 и запись в @R0 R0=адрес 1-го байта Уст. флага ''шифр'' Инкремент R0 Установка TB8 Передача в УАПП из @R1 Сброс TB8 Инкремент R1 Восстановление PSW Да Принятыйбайт=0? Декремент счетчика ''пауза в речи''(прд) Да В R0 адрес 8-го байта? В R1 адрес 1-го байта? Флаг ''потеря вх.сигнала'' Стираем байт из @R1 Да Нет Нет Нет Нет Дкеремент сч.приема Рис.6.6. Подпрограмма обработки прерываний от УАПП.(высокий приоритет)
Да RI TI Передача в Р1 дешифрованной информации (@R0) R1=адрес 1-го байта Инкремент R1 Считывание УАПП и запись в @R1 Выход из подпрограммы Да Сброс RI Сброс TI Восстановление PSW Сохранение PSW Инкремент R0 Счетчик приема= нач.знач Уст.флага''дешифр'' Идентифи-кация источника Выбор RB2 Счетчик приема=нач.знач. Установление сигнала RD(D/A) Сброс сигнала RD(D/A) Принят 8-ой байт? Принятый байт=0? Декремент сч. ''пауза в речи''(прм) Гашение светодиода Нет Да Нет Нет Рис.6.1. Алгоритм работы системы взаимодействия с периферийными устройствами. (начало)
Настройка прерываний INT0 и INT1
Настройка Т/С0
Настройка УАПП
Инициализация переменных
Установка начальных адресов
Установка счетчика приема
Разрешение прерываний
0 Флаг ‘шифр’
1 1 Установка нач. адресов данных подлежащих шифрованию и зашифрованных данных 0 Перенос данных в буфер передачи без шифрования Шифрование Сброс флага ''шифр'' Флаг ''пауза в речи''(прд) 1 0 Сч. ''пауза в речи''(прд)=нач.значение Рис.6.2. Алгоритм работы системы взаимодействия с периферийными устройствами. (окончание).
0 Установка нач. адресов данных подлежащих дешифрованию и дешифрованных данных
1
1
Флаг ‘деш’
0
Дешифрование
Флаг ''пауза в речи''(прд) 0
Перенос данных из буфера приема без дешифрования без шифрования 1
Сброс флага ''деш.''
Сч. ''пауза в речи''(прм)=нач.значение
Потеря входного сигнала
Да
Нет Вкл. светодиода
69 ГОСУДАРСТВЕННЫЙ КОМИТЕТ РОССИЙСКОЙ ФЕДЕРАЦИИ ПО СВЯЗИ И ИНФОРМАТИЗАЦИИ Московский технический университет связи и информатикиРазрешаюдопустить к защите Зав. кафедрой _________________ ____________ 2000г. ДИПЛОМНЫЙ ПРОЕКТНА ТЕМУ “Система криптозащиты в стандарте DES. Система взаимодействия периферийных устройств.” Дипломант __________________________________/Рычков А.И./ Консультант_________________________________/Шаврин С.С./ Рецензент __________________________________ Консультант по экологии и безопасности жизнедеятельности_____________/Деминский В.А./ Консультант по экономической части __________/Майофис Л.И./ МОСКВА. 2000г. Содержание.
Введение. В современных условиях информация играет решающую роль как в процессе экономического развития, так и в ходе конкурентной борьбы на национальном и международном рынках. Противоборство развернулось за превосходство в тех областях, которые определяют направления научно-технического процесса. В мире реального бизнеса конкуренция ставит участников рынка в такие жесткие рамки, что многим из них приходится поступать в соответствии с принципами «победителей не судят», «цель оправдывает средства». В этих условиях становится реальностью промышленный шпионаж как сфера тайной деятельности по добыванию, сбору, анализу, хранению и использованию конфиденциальной информации. Это обусловлено тем, что получение сколько-нибудь достоверной информации об объектах заинтересованности законным путем становится невозможным из-за создания и поддержания определенной системы защиты ценной информации от несанкционированного, то есть противоправного, доступа со стороны злоумышленников. Анализ различных способов получения информации о конкурентах позволил установить, что подслушивание телефонных переговоров в ряде случаев может являться одним из эффективных способов несанкционированного доступа к конфиденциальной информации. Это объясняется тем, что в настоящее время обмен информацией по телефону является очень распространенным и практически во всех случаях, когда абонентам не требуется письменного документа и имеется возможность воспользоваться телефонной связью, они ею пользуются. Мало того, даже в тех случаях, когда требуется письменный документ, абоненты довольно часто ведут по телефону предварительные переговоры, оправдывая это срочностью согласования определенных позиций. Самым эффективным способом защиты телефонных сообщений от несанкционированного доступа является криптографическое преобразование. Действительно, для того чтобы скрыть от злоумышленников смысловое содержание передаваемого телефонного сообщения, его необходимо определенным образом изменить. При этом изменить его так, чтобы восстановление исходного сообщения санкционированным абонентом осуществлялось очень просто, а восстановление сообщения злоумышленником было бы невозможным или требовало бы существенных временных или материальных затрат, что делало бы сам процесс восстановления неэффективным. Именно такими свойствами и обладают криптографические преобразователи, задачей которых является обеспечение математическими методами защиты передаваемых конфиденциальных телефонных сообщений. Даже в случае их перехвата злоумышленниками и обработки любыми способами с использованием самых быстродействующих супер-ЭВМ и последних достижений науки и техники смысловое содержание сообщений должно быть раскрыто только в течении заданного времени, например в течение нескольких десятков лет. 1. Защита от несанкционированного доступа к информации, передаваемой по каналам электросвязи. Следует отметить, что люди уже давно научились оценивать важность информации и важность сохранения ее в тайне. Люди уже давно поняли, что информация может быть сокровищем дороже золота, а владение ею может обеспечить благосостояние, влияние и власть. Всем известны многочисленные случаи, когда из-за потери информации многие люди, в том числе весьма высокопоставленные, теряли свободу и даже голову. Подсчитано, что потеря банком 20-25% конфиденциальной информации ведет к его разорению. Информация, которая не должна стать известной посторонним, по-английски называется sensitive (чувствительная, подлежащая защите), в отличие от официальной имеющей гриф секретности, которая по-английски называется classified. Методами скрытия самого факта передачи сообщения занимается стеганография (от греческих слов stege- ''крыша'' и grapho- ''пишу''), в то время как методами шифрования или кодирования сообщения занимается криптография (от греческих слов kryptos- ''тайный'' и grapho-''пишу''). Дисциплина, занимающаяся вскрытием шифров, называется криптоанализом, а криптография и криптоанализ вместе называются криптологией. По общепринятой терминологии слово ''конфиденциальный'' значит: доверительный, не подлежащий огласке, секретный. Применительно к современным условиям и назначению систем связи все виды информации можно подразделить на три группы: а)секретную, б)конфиденциальную, в)открытую. Секретной будем считать информацию, отнесенную к государственной тайне, сохранность которой регламентируется, соответствующими законами и за разглашение которой установлена уголовная ответственность. К конфиденциальной можно отнести информацию, которая предназначена для использования ограниченным кругом лиц (например: коммерческие секреты, которыми пользуются доверенные лица какой либо фирмы, банка и т.п.) и утечка которой, хотя и не наносит государственного ущерба, но может нанести значительный ущерб определенному кругу лиц или фирм. Использование открытой информации обычно не ограничивается. Обеспечение секретности передаваемой по сетям связи информации требует применения сложной аппаратуры засекречивания (аппаратура ЗАС) и строгих организационных мероприятий (прокладка специальных кабелей связи; контроль на отсутствие ''жучков'' и побочных излучений; использование телефонных аппаратов, коммутационной и другой техники в специально защищенном исполнении и т.п.), что приводит к большим материальным затратам на оснащение и эксплуатацию сети. Этим требованиям удовлетворяют сети Правительственной связи, а также некоторые ведомственные сети. Аппаратура и устройства для этих сетей создаются по техническим требованиям заказчиков, осуществляющих эксплуатацию. Обеспечение только конфиденциальности (без гарантии обеспечения секретности) требует значительно меньших материальных затрат и для подавляющего большинства абонентов сетей связи является более чем достаточным. Очевидно, что предотвратить случайное или преднамеренное подслушивание (обеспечить конфиденциальность) можно с помощью достаточно простых в эксплуатации устройств (в дальнейшем они будут именоваться устройствами или аппаратами конфиденциальной связи- УКС или АКС) и без проведения дорогостоящих организационных и технических мероприятий. Естественно, что для устройства конфиденциальной связи должны быть совместимы с аппаратурой, входящей в ЕАСС, и обеспечивать работу по стандартным каналам связи. Интерес к несанкционированному получению конфиденциальной информации проявляется с давних времен. В настоящее время созданы технические устройства подслушивания для прослушивания бесед с весьма большого расстояния, абсолютно безопасного с точки зрения беседующих на улице, в парке, в саду и т.п. В основе таких устройств лежат высокочувствительные направленные микрофоны соответствующей конструкции и специально разработанные малошумящие усилители. Такие устройства изготавливаются различными фирмами и в обычной жизни могут быть использованы для записи речи оператора, выступающего на митинге, или пения птиц в лесу, т.е. там, где к источнику звука нельзя подойти близко. Их также можно использовать и при проведении спасательных работ при завалах в шахтах, при поиске людей, оставшихся в живых, но погребенных под обломками зданий при землетрясениях и т.п. Специально для несанкционированного подслушивания конфиденциальных бесед и разговоров используются так называемые ''жучки'', которые представляют собой микрофон, совмещенный с УКВ передатчиком или включенный в телефонную или электрическую сеть. Такие ''жучки'', закамуфлированные под предметы быта или оргтехники или встроенные в них, имеют очень небольшие размеры и массу, и их обнаружение зачастую бывает очень затруднительно. Иногда они встраиваются в стену помещения, и тогда их можно обнаружить только с помощью специалистов и специализированной аппаратуры. Преднамеренно переговоры могут быть перехвачены не только в радиоканалах, но и путем гальванического подключения к проводам, а также с помощью бесконтактных индукционных или емкостных датчиков, устанавливаемых вблизи разговорных цепей, с помощью селективных радиоприемников и других технических средств. На всех участках телефонной цепи, где проходят сигналы канала ТЧ, для перехвата необходимо иметь лишь простейшие технические средства. Наиболее доступными для несанкционированного доступа являются радиоканалы в системах подвижной связи, спутниковые и радиорелейные каналы, телефонные радиоудлинители, бесшнуровые телефонные аппараты и т.п., а также абонентские телефонные линии, проложенные в неслужебных помещениях, например, в жилых домах, где часто размещаются различные офисы. По мнению зарубежных специалистов: ''подготовленные лица могут без особого труда осуществить перехват радиосвязи или съем сигналов с проводов. Сегодня подслушивание и перехват доступны даже радиолюбителям. Популярные радиолюбительские журналы печатают десятки рекламных объявлений о средствах перехвата сигналов домашнего спутникового телевидения и комплектах для негласного съема сигнала с проводных линий связи. А если уж радиолюбители получают доступ к средствам перехвата, то что можно говорить о профессионалах? Получить несанкционированный доступ к телефонному разговору сегодня оказывается сравнительно нетрудным делом. Аппаратура электронного перехвата и интерпретации телефонных переговоров, а также средства съема информации с телефонных проводов стоят сравнительно недорого. Техника ушла далеко вперед от простого подслушивания переговоров по медным проводам и в настоящее время имеется возможность перехвата любых каналов связи, инфракрасных систем передачи и даже оптоволоконных линий связи. Единственный способ предотвращения перехвата информации и раскрытия ее содержания посторонним- это шифрование или скремблирование (перемешивание)''. Рассмотрим подробнее основные пути утечки информации через технические средства, а затем методы скремблирования и шифрования. Под утечкой информации понимается ее получение посторонним лицам случайно или преднамеренно с использованием ими технических средств (в том числе специальных) без ведома владельцев информации. Иначе это можно назвать несанкционированным доступом к информации (НСД). Получение информации возможно тремя путями: а) прямым подслушиванием; б) подслушиванием с использованием устройств, аналогичных тем, которые используют владельцы информации (например: телефонный аппарат, факс, ПЭВМ); в) обработкой перехваченной информации с помощью специальных средств и методов. Известно, что цепь прохождения телефонной и других видов информации по телефонной сети общего пользования, состоит из нескольких участков:
Последний является общим для обоих абонентов, обменивающихся телефонной информацией, а остальные повторяются со стороны каждого абонента. Канал тональной частоты (ТЧ), соединяющий абонентов, имеет стандартную ширину полосы 0,3…3,4 кГц. При этом на всех участках, кроме абонентского, по физическим цепям передается групповой сигнал, содержащий одновременно информацию от разных пар абонентов. Однако на границах участков и внутри участка местной сети там, где происходит транзит по низкой частоте, по физической цепи проходит тот же сигнал, что и на абонентском участке. На междугородной сети коммутируются групповые сигналы (в узлах автоматической коммутации). На остальных коммутационных станциях коммутируется канал ТЧ. В том числе на оконечных станциях , узловых (районных АТС), центровых (узлы исходящих и входящих сообщений) и на автоматических междугородных телефонных станциях (АМТС). Очевидно, что везде, где проходит канал ТЧ, возможно прямое прослушивание разговоров с помощью обычных наушников или телефонной трубки (телефонного аппарата). В остальных точках цепи для подслушивания необходимо иметь аппаратуру или устройства, выделяющие интересующей канал ТЧ. В цифровых сетях на абонентских участках и в местах транзита, эквивалентных транзитам ТЧ, вместо канала ТЧ может использоваться основной цифровой канал- ОЦК (транзит по импульсам на скорости 64кбит/с). В этом случае у абонентов должны быть телефонные аппараты, (или абонентские комплекты) в которых имеются соответствующие кодирующие устройства, в том числе аналогово-цифровые (АЦП) и цифро-аналоговые (ЦАП) преобразователи. Будем называть такие телефонные аппараты цифровыми. Аналогичное оборудование необходимо иметь при подслушивании, которое возможно на тех же участках, что и на аналоговой сети. Почти все технические средства имеют каналы побочной утечки информации. Например, при использовании обычных телефонных аппаратов и при положенной на рычаг микротелефонной трубке (телефон вроде бы отключен) на абонентских проводах, выходящих за пределы помещения, присутствуют электрические сигналы по которым можно узнать все, что говорится в помещении. При использовании специальных технических средств можно создать дополнительные пути утечки информации. Например, поместить в цифровой телефонный аппарат миниатюрный передатчик и подключить его к микрофонной цепи, с выхода такого передатчика аналоговые речевые сигналы могут быть переданы по эфиру или по абонентским соединительным линиям на большие расстояния. Побочными каналами утечки информации являются также системы пожарной сигнализации, часофикации, озвучения помещений, освещения и т.д. Вариантов таких устройств очень много. Существуют также акустические каналы утечки информации, проанализировать их все достаточно сложно, и в этом нет особой необходимости для дальнейшего рассмотрения в данном цикле лекций. В радиоканалах, например при использовании бесшнуровых телефонов или в сетях радиоподвижной связи, для подслушивания необходимо иметь радиоприемники, позволяющие настроится на соответствующую частотную полосу- сканирующие приемники. Могут использоваться и обычные бытовые приемники, если на их входе включить конвертор (устройство для переноса полосы в другой диапазон частот). Все основные методы защиты от утечки информации можно условно разделить на две группы:
К первой группе относятся такие меры как:
К первой же группе можно также отнести и такие методы, как:
Следует заметить, что по данным специалистов в области защиты речи, имеющееся в продаже оборудование обнаружения негласного съема информации с проводных каналов реагирует лишь на изменение импеданса линии связи. Поэтому использование такого оборудования не может гарантировать его владельцу надежную защиту от утечки информации. Организационные и организационно- технические методы в ряде случаев являются достаточными для защиты конфиденциальной информации. Однако, в ряде случаев, в коммерческих сетях экономически выгоднее и более надежно можно защитится от утечки информации путем использования аппаратных (аппаратура конфиденциальной связи) и программно- аппаратных (устройства конфиденциальной связи) методов. Простейшим методом защиты является кодирование речевых сигналов по законам, отличающимся от общепринятых (стандартных). В аналоговых каналах для кодирования может быть использована инверсия во всей полосе канала ТЧ (инверсия- это преобразование спектра речи в заданной полосе частот, при котором нижние частоты становятся верхними, верхние- нижними). Возможно также разделение канала ТЧ на насколько более узких полос, перенос их по частоте и сдвиг по времени относительно друг друга. В последнем случае будет происходить ухудшение качества и разборчивости речи из-за потерь части спектра речи при расфильтровке. В цифровых каналах для защиты информации могут использоваться те же методы, что и в каналах ТЧ, а также изменение местоположения кодовых знаков в кодовых комбинациях. Законы кодирования в рассмотренных случаях остаются неизменными, по крайней мере, в течение сеанса связи. Такие методы, обычно, называют простым кодированием. Более сложными и, соответственно более надежными методами защиты являются методы, при которых законы кодирования изменяются в процессе передачи информации. Такие методы называют динамическим кодированием. В каналах ТЧ это- коммутируемая инверсия, частотные перестановки, временные перестановки, а также комбинация этих методов. В цифровых каналах наряду с такими преобразованиями может осуществляться преобразование цифровой последовательности путем перестановки или замены кодовых знаков (''0''на ''1'' или ''1'' на ''0''). Современный уровень развития микроэлектроники позволяет даже для каналов ТЧ осуществлять динамическое кодирование речевых сигналов в цифровом виде. Имеется в виду, что аналоговый речевой сигнал после микрофона преобразуется в цифровой, затем осуществляются необходимые изменения (фильтрация, перестановки, инверсия, и т.п.) и наконец цифровой сигнал снова преобразуется в аналоговый, который передается по каналу ТЧ. На приемном конце декодирование осуществляется аналогичным образом (в обратном порядке). При использовании рассмотренных методов не устраняются некоторые признаки исходного речевого сигнала в канале связи. При прямом прослушивании можно получить полезную информацию о говорящем и даже понять отдельные звуки, слоги, слова и фразы. То есть в канале связи может сохраниться ''остаточная'' разборчивость речи или такие признаки, которые позволяют восстановить исходный сигнал с помощью устройств типа ''видимая речь'' (спектрограф с помощью которого получается трехмерное изображение в координатах: время, частота, амплитуда). В зарубежной литературе устройства, реализующие рассмотренные преобразования, обычно называют скремблерами (Scrambler- перемешиватель). В последние годы разработан ряд усовершенствованных речевых скремблеров, обеспечивающих высокую безопасность и приемлемое качество речи при не слишком сложной конструкции. Разработка таких скремблеров стала возможной благодаря достижениям в области создания процессоров цифровой обработки сигналов. В цифровом виде могут передаваться речевые сигналы преобразованные различными методами (импульсно- кодовая модуляция- ИКМ, дельта-модуляция- ДМ, адаптивная дифференциальная ИКМ- АДИКМ и т.п.). для защиты информации цифровая последовательность в канале связи зашифровывается путем наложения на нее (например, сложение по модулю 2) другой квазислучайной последовательности, сформированный по закону, определяемому ''ключом''. В этом случае остаточная разборчивость в канале связи практически нулевая, и нет необходимости использовать ''перемешивание'' (скремблирование). Степень защиты информации полностью определяется сложностью ''ключей'' и паролей, используемых взаимодействующими абонентами, а также методами их обмена в момент установления соединения. Общие принципы построения устройств конфиденциальной связи. Устройства конфиденциальной связи или устройства защиты (засекречивания) телефонных переговоров предназначены для таких преобразований речевых сигналов, при которых абоненты, находящиеся на оконечных пунктах системы связи, могут вести переговоры так же, как это происходит в обычных телефонных сетях, но в то же время разборчивость речи в каналах и линиях связи (остаточная разборчивость) очень мала, а в предельном случае равна нулю. При применении современных технических средств перехвата и обработки сигналов с использованием самой быстродействующей вычислительной техники возможно раскрыть содержание переговоров, однако сделать это достаточно трудно, а в некоторых случаях практически невозможно или требуется многолетняя работа.. Структурные схемы всех известных устройств защиты можно свести к двум разновидностям, показанным на рис.2.1. Информационный сигнал поступает не вход преобразующего устройства (ПУ). Необходимые для работы этого устройства тактовые частоты и другие вспомогательные сигналы (СТЧ) поступают от синхронизирующего устройства (СУ), которое управляет также работой других узлов схемы. Шифрообразующие устройства- (ШУ) вырабатывают сигналы необходимае для обеспечения засекречивания речевых сигналов, а также сигналы (синхроимпульсы- СИ), необходимые для обеспечения синхронной и синфазной работы приемной и передающей частей аппаратуры. Синхроимпульсы СИ устанавливают шифрообразующие и другие устройства в исходное состояние. По каналу связи (КС) передаются зашифрованные речевые сигналы (ШРС), сигналы, синхронизирующие работу шифратора и дешифратора (СШ), сигналы необходимые для синхронизации речепреобразующих устройств и тактовых частот (СТЧ). Объединение этих сигналов для передачи по каналу связи и их разделение осуществляется в устройствах сопряжения с каналом связи (УСКС). Алгоритм работы преобразующего устройства на рис.2.1.а. изменяется по командам от шифрообразующих устройств- КШ. В схеме рис.2.1б. алгоритм работы ПУ не изменяется, а в канал связи поступает совокупность речевых сигналов и сигналов от шифрообразующего устройства. Эта совокупность в узле наложения шифра (НШ), может формироваться различными методами (сложение, перемножение и т.п.). Обратное преобразование происходит в узле снятия шифра (СШ). Степень защиты информации или как ее иногда называют ''стойкость засекречивания'' в схемах рис.2.1. определяется работой двух устройств: шифрообразующего и преобразующего. Под стойкостью засекречивания можно понимать способность противостоять не санкционированному доступу к передаваемой по каналу связи информации. Одним из основных критериев при оценке стойкости засекречивания является отношение длительности временного интервала, необходимого для несанкционированного вскрытия информации к длительности исходного сообщения. Обычно несанкционированным вскрытием информации занимаются специалисты, которых называют дешифровальщиками. Предполагается, что дешифровальщик имеет доступ к каналу связи и может записать переданное зашифрованное сообщение для последующей многократной обработки, использует самые совершенные ЭВМ, ему известна схема и параметры засекречивающего аппарата (или он имеет этот аппарат), однако он не знает ''ключа'' введенного в шифрообразующее устройство. Шифрообразующие устройства могут обеспечить практически любую заданную стойкость засекречивания. Повышение стойкости достигается обычно за счет усложнения схемно-технических решений и, следовательно, приводит к увеличению стоимости оборудования. Учитывая это, при проектировании шифрообразующих устройств стойкость засекречивания задают с учетом технико-экономических характеристик. При использовании схемы рис.2.1.а зашифрованный сигнал в канале связи сохраняет ряд свойств исходных сигналов. Например, при преобразованиях речевых сигналов в канале связи будут содержаться более или менее выраженные такие признаки, как: частота основного тона и ее гармоники, местоположение частот формант и т.п. Используя эти признаки и статистические свойства речевых сигналов, можно осуществить дешифрование без анализа шифрообразующего устройства и без
ШРС
ШРС Выход Преобразующее устройство Вход
Преобразующее устройство Синхронизирующее устройство
Устрой-ство сопря-жения с каналом связи
СШ КШ Канал
связи Дешифратор
СИ Шифратор Устрой-ство сопря-жения с каналом связи
СТЧ Синхронизирующее устройство
СТЧ
РС
а)
РС ШРС ШРС
Выход ПУ У С К С 1 ПУ У С К С 2 Вход Снятие шифра Наложение шифра
Синхронизирующее устройство
СШ КШ Канал Шифратор
Дешифратор б)
СТЧ СИ связи СТЧ
СИ СТЧ СТЧ Синхронизирующее устройство
СТЧ
Рис.2.1. Структурные схемы устройств защиты речевых сигналовопределения ''ключа''. В этих случаях при сколь угодно высокой криптографической стойкости шифратора, стойкость засекречивания речи может быть относительно невысокой и будет полностью определяться стойкостью алгоритмов преобразования речи. Стойкость засекречивания, обусловленная изменением алгоритмов преобразований речевых сигналов, для большинства известных типов речепреобразующих устройств также может быть оценена на основе достаточно строгих критериев и методов. Повышение стойкости засекречивания также, как и для шифрообразующих устройств, приводит к усложнению технических решений. При этом, как правило, при усложнении алгоритмов преобразований ухудшается качество и разборчивость речевых сигналов на выходе дешифрующего устройства. Поэтому получить очень высокую стойкость засекречивания за счет усложнения алгоритмов преобразования речевых сигналов практически невозможно. При использовании схемы рис.2.1а. практически невозможно добиться устранения признаков исходных сигналов в канале связи и соответственно стойкость засекречивания относительно невысокая. Однако, учитывая, что техническая реализация подобной схемы обычно более простая, а также то, что в ряде случаев достаточно сохранить конфиденциальность переданной информации в течении ограниченного времени, схема рис.2.1а. имеет достаточно широкое применение. Использование схемы рис.2.1б. позволяет полностью избавиться от наличия признаков исходных речевых сигналов в канале связи. Это можно сделать, например, преобразовав речевые сигналы, поступающие на узел наложения шифра (НШ), в двоичные импульсы. Стойкость засекречивания в этом случае может быть сколь угодно высокой и определяется криптографической стойкостью шифрообразующих устройств. Следует отметить, что при современном уровне развития микроэлектроники и цифровых методов обработки сигналов, во всех типах устройств защиты информации, в том числе речевой, все основные преобразования сигналов, как правило, осуществляются в цифровом виде. При этом в ПУ вначале стоит аналогово-цифровой преобразователь (АЦП), затем проводится обработка цифровых сигналов. На выходе ПУ может быть включен цифро-аналоговый преобразователь (ЦАП) и в канал связи при этом поступают аналоговые сигналы. В общем случае шифраторы, превосходя скремблеры по сложности, обладают более высокой стойкостью засекречивания. Двоичная последовательность совершенно не различается человеческим ухом. Преобразованная в цифровую форму реч звучит подобно непрерывному визгу. Двоичная последовательность пропускается через блок шифрования, который изменяет ее в соответствии с математической формулой, известной только участникам засекреченной связи. Дешифровать зашифрованный разговор, не располагая ключом шифрования, практически невозможно, поскольку число возможных вариантов ключей почти безгранично. Аналоговые сигналы ''засекреченные'' скремблером можно прослушивать ''невооруженным'' ухом. Для непрофессионального слушателя скремблированная речь будет звучать подобно иностранному языку, но для того, кто знает, как преобразовать шифротекст в открытый, она будет осмысленной. Примененные кодовые комбинации могут быть восстановлены специально подготовленными аналитиками, обученными распознаванию и интерпретации засекреченной с помощью скремблеров речи. Более того, специализированное лабораторное оборудование для электронного анализа позволяет легко расскрывать засекреченный аналоговый сигнал, поскольку количество возможных комбинаций при скремблировании меньше, чем при цифровой связи. Преимущества цифрового метода шифрования над аналоговым (частотно-временными перестановками) сведены в таблицу 1.1. Таблица 1.1.
Методы шифрования и основные понятия криптографии. Устройствами для обеспечения конфиденциальности сообщений человечество занималось очень давно. Уже в 5-ом веке до нашей эры появилось первое приспособление для кодирования текста- скиталь. Пояс почтальона (в дальнейшем лента) наматывался на деревянный цилиндр или конус (скиталь), вдоль оси вращения записывался текст (несколько строк, причем каждая буква на соседний виток). Далее пояс раскручивался и на нем была видна хаотическая последовательность букв. Получатель информации наматывал пояс на аналогичную скиталь и прочитывал текст. Такой метод шифрования можно назвать ''перестановками''. Позже для шифрования текстовых сообщений и обеспечения конфиденциальности переписки стали использовать простейшие устройства: решетки, циферблаты и т.п. характерным примером является шифр Цезаря. Используется диск по периметру которого записан весь буквенный алфавит. В подлежащем засекречиванию тексте каждая буква заменяется на другую, отстоящую (от данной) на 3 знака по периметру диска. Это шифр ''замены''. Для усложнения сдвиг может производиться на переменное количество знаков (шифр Виженера). Изменение количества знаков производится в соответствии с ключевым словом, которое повторяется столько раз, сколько нужно для замены всех букв открытого текста. Например, если в алфавите 30 букв:
(отсутствуют буквы й, ё, ы) то ключевому слову ''ваза'' соответствует последовательность сдвигов на 3, 1, 8, 1 знаков и слово КРИПТОГРАФИЯ после преобразования превратится в НССРХПШБЧКЕ. Дальнейшее развитие шифра Виженера это использование текста какой либо книги или книжных шифров. Математически это можно представить так: Lx = Mx +x(mod 31)
Mx- номер буквы открытого текста; Кх- номер буквы ключа. Повторное применение шифра Виженера называют составным шифром Виженера: Lx = Mx +Kx1 + Kx2 +… + KxN (mod 31) В конце прошлого века появились механические машины, в которых для преобразования текста, использовались несколько кодовых колес, цилиндров или других элементов, перемещающихся друг относительно друга в процессе обработки текста. Это так называемые- ручные машины. Упрощенную работу таких машин можно представить следующим образом. По периметру каждого колеса записаны все знаки используемого алфавита, причем на каждом колесе последовательность знаков разная. Все колеса размещены на одной оси и при повороте предыдущего колеса на один знак, (или на один оборот) последующие смещаются на один или несколько знаков, относительно друг друга. Колеса помещены в кожух имеющий два окна. Через одно окно виден один знак первого колеса, через другое один знак последнего колеса. Поворотом первого колеса в первом окне устанавливается знак текста подлежащий засекречиванию, в последнем окне считывается знак зашифрованного текста. Вращая в том же направлении первый диск устанавливают в окне следующий знак текста и т.д. Для надежной защиты телеграфных сообщений, после первой мировой войны появились электрические и электромеханические машины. Вначале это были громоздкие релейные системы и машины имеющие колеса с профилированными ребордами. Работа некоторых из них аналогична механическим дисковым шифромашинам. Однако вместо нанесенных знаков алфавита диски имеют с одной стороны входные электрические контакты (их число равно числу знаков используемого алфавита), а с другой стороны диска столько же выходных контактов. Входные и выходные контакты соединены между собой в хаотичном, но заранее заданном порядке. Контакты смежных дисков обеспечивают надежное электрическое соединение. Ввод текста осуществляется с клавиатуры, аналогичной клавиатуре пишущей машинки или телетайпа. В 30-х годах в Швеции появилась весьма компактная и простая в работе шифромашина ''Хагелин''. Шифромашины этой фирмы и их модификации изготовлены в огромном количестве и были на вооружении военных, правительственных и дипломатических органов многих стран мира. Так только для ВС США в период второй мировой войны было заказано около 140 тысяч экземпляров. После войны штаб-квартира фирмы переместилась в Швейцарию, где эта фирма успешно функционирует до сих пор в городе Цуг под названием Crypto AG. Перед второй мировой войной появились электронные машины. Первые из них были реализованы на электронных лампах и были, по существу, электронными аналогами самых совершенных механических разработок фирмы ''Хагелин''. После войны были построены транзисторные шифромашины, затем появились машины построенные на основе микроэлектронных интегральных схем. Микроминиатюризация позволила реализовать в относительно компактных шифромашинах этого поколения исключительно сложные алгоритмы, требующие для своей реализации десятки тысяч электронных элементов, объединенных в сотни регистров и схем. Применение малогабаритной цифровой памяти с большими сроками хранения и объемами хранимой информации позволило снабжать машину впрок большим количеством качественных ключей. Устройства для обеспечения конфиденциальности речевых сообщений появились значительно позже, чем для текстовых. Однако уже в 1875 году, спустя всего лишь 5 лет после изобретения телефона, в США была подана заявка на изобретение, относящееся к закрытию телефонной связи. В настоящее время для зашифрования телефонных переговоров применяют два принципиально различных метода: преобразование аналоговых параметров речи и цифровое зашифрование. Оба метода предусматривают использование шифрообразующих устройств, аналогичных тем, которые используются в шифромашинах для обработки текстовых сообщений. Наиболее фундаментальные работы по защите информации криптографическими методами появились после Второй мировой войны. Наиболее известны работы Шеннона, в том числе опубликованный в 1949 г. доклад ''Теория связи в секретных системах''. В основе этих работ лежат следующие предположения:
Модель криптографической системы, предложенной Шенноном, показана на рис.3.1.
Незащищенный канал для передачи шифртекста X'
X Источник сообщения Шифратор Дешифратор Пиемник сообщения
Y' Y X
Криптоаналитик противника
Z
Источник ключа
Защищенный канал для передачи ключа
Рис.3.1. Модель криптографической системыИсточник сообщений порождает открытый текстX={x1,x2,… xm}. Источник ключей генерирует k знаков ключа- символов некоторого конечного алфавита. Шифратор преобразует открытый текст X в шифртекст: Y={y1,y2, … ym}. Последнее преобразование записывается в виде: Y=Ez(X) Дешифратор, получив шифртекст, выполняет обратное преобразование: X=Dz(Y) Важной частью модели криптографической системы является ''защищенный'' канал по которому передается секретный ключ: Z={z1,z2,… zk}. Таким каналом может быть канал электросвязи с шифрованием другими устройствами, нежели показанные на рис 3.1. однако чаще ключи развозятся специальными сотрудниками. В этом случае ключ представляет собой таблицу цифр, перфоленту, магнитную карточку или другой тип носителя с записанной информацией. Следует особо отметить, что X, Y и Z- независимые случайные величины. Статистические свойства величины Х определяются источником сообщения, Y задается разработчиком криптографической системы, а Z создается и тиражируется специальным устройством заготовки ключей (источником ключа). К.Шеннон рассматривал вопрос о стойкости криптографических систем с теоретической и практической точек зрения. Первый вопрос он сформулировал так: ''Насколько надежна некоторая система, если криптоаналитик противника не ограничен во времени и обладает всеми необходимыми средствами для анализа криптограмм?'' Второй вопрос (о практической стойкости) в постановке Шеннона, можно сформулировать следующим образом: ''Надежна ли некоторая система, если криптоаналитик противника располагает ограниченным временем и вычислительными возможностями для анализа криптограмм?'' Решение вопроса о теоретической стойкости привело к следующему выводу: объем секретного ключа для построения теоретически стойкого шифра недопустимо велик для большинства практических применений. Шеннон доказал, что при двух допущениях совершенно секретные системы существуют. Эти допущения следующие:
На основе этих допущений совершенная секретность означает, что открытый текст Х и шифртекст Y статистически независимы, т.е.Р(Х=х|Y=y)=P(X=x) для всех возможных открытых текстов Х и шифртекстов Y. Другими словами криптоаналитик не может улучшить апостериорное распределение вероятностей открытого текста, используя знание шифртекста независимо от того, каким временем и вычислительными ресурсами он располагает для анализа. Было доказано также, что ключ не должен быть короче открытого текста т.е. К>Х. Таким образом, возникает проблема секретного ключа. Она заключается в том, что на один знак открытого текста требуется, по крайней мере один знак секретного ключа. При обработке огромных массивов информации, например в крупных вычислительных системах, обеспечить это достаточно сложно или такое решение неприемлемо по экономическим причинам. Поэтому в ряде случаев используют несовершенные шифры, не обеспечивающие совершенную секретность. Появление на рынке устройств защиты конфиденциальной информации с оригинальными (''фирменными'') алгоритмами преобразований сигналов создает непреодолимые трудности при необходимости обмена информацией между абонентами, имеющими устройства различных фирм. Кроме того, некоторые ''фирменные'' алгоритмы не обеспечивают необходимой степени защиты, главным образом те, которые разработаны недостаточно квалифицированными специалистами. С целью устранения этих недостатков в США был принят стандарт засекречивания данных DES (Data Encryption Standard), который утвержден Национальным бюро стандартов США и выпущен в качестве официального документа 15 января 1977г. (FIPS PUB 46.). (Первые публикации стандартного алгоритма DES были в 1974 г.) Стандарт DES предназначен для использования в Федеральных управлениях при применении несекретных компьютеров. В этом стандарте впервые был предложен алгоритм засекречивания общего пользования, пригодный для производителей и потребителей устройств защиты информации в сетях передачи данных. До этого на коммерческом ранке существовало множество не стандартизированных алгоритмов. 2. Стандарт шифрования DES. Алгоритм и основные свойства. Стандарты по защите данных от несанкционированного доступа требовались в таких областях, как шифрование, установление подлинности личности и данных (аутентификация), контроль доступа, надежное хранение и передача данных. В результате сотрудничества трех организаций США- Национального бюро стандартов (NBC), Управления национальной безопасности (NSA) и фирмы IBM подобный стандарт, получивший название DES (Data Encryption Standard) был разработан и опубликован в 1975 г. в специальном издании Federal Register. Его публикация вызвала полемику среди специалистов в области защиты информации. После двухлетних испытаний с целью поиска в алгоритме DES ''тайной лазейки'', а также по экономическим вопросам (в частности, по установлению длины ключа) было принято решение оставить стандарт без изменений. В алгоритме не было обнаружено ни каких ''лазеек''. Эффективная длина ключа в 56 бит вполне удовлетворяла потенциальных пользователей на ближайшие 15… 20 лет, так как общее количество ключей в этом случае оценивалось цифрой 7,6*10^16. DES стал одним из первых ''открытых'' шифроалгоритмов. Все схемы, используемые для его реализации, были опубликованы и тщательно проверены. Секретным был только ключ, с помощью которого осуществляется кодирование и декодирование информации. Алгоритм DES базируется на научной работе Шеннона 1949 г., связавшей криптографию с теорией информации. Шеннон выделил два общих принципа, используемых в практических шифрах: рассеивание и перемешивание. Рассеиванием он назвал распространение влияния одного знака открытого текста на множество знаков шифртекста, что позволяет скрыть статистические свойства открытого текста. Под перемешиванием Шеннон понимал использование взаимосвязи статистических свойств открытого и шифрованного текста. Однако шифр должен не только затруднять раскрытие, но и обеспечивать легкость шифрования и дешифрования при известном секретном ключе. Поэтому была принята идея использовать произведение простых шифров, каждый из которых вносит небольшой вклад в значительное суммарное рассеивание и перемешивание. Согласно принятым в США стандартам каждый производитель, желающий продавать криптографическое оборудование для несекретного использования федеральными и правительственными субподрядчиками, должен обеспечить соответствие своей продукции всем федеральным стандартам и требованиям АНБ (Агентство Национальной Безопасности) в плане алгоритма засекречивания. В руководстве по применению стандарта DES в сжатой форме разъяснены задачи, которые должен решить утвержденный стандарт, даны основные определения и терминология, примеры использования алгоритма засекречивания данных для различных режимов секретной связи. В задачи документа входит:
Приводятся следующие определения: Активный перехват (Active wiretrapping)- перехват с помощью активного подключения к сети. Подсоединение несанкционированного устройства, например компьютерного терминала, к цепи связи с целью получить доступ к данным посредством создания (формирования) ложных посылок или управляющих сигналов, или посредством изменения направления связи между законными пользователями. Алгоритм шифрования (Encryption algoritm)- система математических правил для шифрования (обычно включает и обратную систему правил для дешифрования). Аутентификация пользователь/терминал (Authentication user/terminal)- процесс установления подлинности сообщения или терминала. Аутентификация сообщений (Authentication message)- процесс подтверждения подлинности сообщений после их передачи. Гаммирование- процесс наложения гаммы шифра по определенному закону на открытые данные. Гамма шифра- псевдослучайная двоичная последовательность, вырабатываемая по заданному алгоритму для зашифрования открытых данных и расшифрования зашифрованных данных. Дешифрование (Decryption)- преобразование шифрованного текста обратно в эквивалентный ему открытый текст (понятный текст) при помощи соответствующего ключа. Имитовставка- отрезок информации фиксированной длины, полученный по определенному правилу из открытых данных и ключа и добавленный к зашифрованным данным, для обеспечения имитозащиты. Имитозащита- защита системы шифрованной связи от навязывания ложных данных. Ключ криптографический (Key cryptographyc)- последовательность знаков (символов), используемая для управления операциями шифрования и дешифрования (обычно двоичное число при обработке данных). Как правило, этот параметр, обычно сохраняемый в тайне, делает результаты шифрования/дешифрования доступными только санкционированным пользователям. Криптография (Cryptography)- область науки, занимающая принципами, средствами и методами шифрования открытого текста и дешифрования шифрованного текста. Криптографическая защита- защита данных при помощи криптографических преобразований. Криптографическая система (Cryptographyc System)- документы, устройства и связанные с ними методы используемые для шифрования. Открытый текст (Plaintext)- доступная для понимания и удобная форма данных до их шифрования и после дешифрования. Пассивный перехват- перехват с помощью пассивного подключения к сети (Passive wiretrapping), т.е. отображение или запись данных в то время, когда они передаются по каналу связи. Шифрование (Encryption)- преобразование при помощи ключа открытого текста в недоступную для понимания форму. Шифрованный текст (Chiphertext)- непонятный, (недоступный для понимания) текст или сигналы, созданные с помощью криптографической системы. В данном руководстве отмечается, что необходимо помнить об уязвимости сетей связи при возможных случайных неисправностях или умышленных действиях. При случайных неисправностях- не обнаруживаемые ошибки передачи могут привести к искажению или видоизменению данных. Информация может быть направлена не к тому терминалу, для которого она предназначалась. На узлах связи возможно образование незащищенных частей сообщений в памяти во время непредвиденных перерывов при обработке информации. Может быть нарушен составленный заранее протокол связи, который служит для достоверного определения передатчика или приемника сообщений. Чтобы этого не происходило, приходится создавать сложные системы сигнализации и блокировки в аппаратах и устройствах шифрования. При умышленных действиях возможны:
Данные или программы могут быть перехвачены через телефонные цепи от специального дистанционного терминала ввода данных. Возможны изменения коммутационных программ сети ЭВМ в целях компрометации секретности; перехват инициативы установления связи несанкционированным пользователем между компьютерами, по мере того как законные пользователи постепенно отключаются от линии связи. Терминал пользователя может быть обманут и вместо необходимых данных начнет:
Может быть реализована возможность записи сообщения и его повторного запуска в систему. Для засекречивания данных, аутентификации сообщений, а также аутентификации пользователь/терминал необходимо прибегать к шифрованию. Алгоритм шифрования DES. Алгоритм засекречивания данных разработан для шифрования и дешифрования блоков данных, состоящих из 64 бит, при воздействии на них ключа, также 64 бита. Дешифрование осуществляется при помощи того же самого ключа, который используется для шифрования, но с адресацией бит, видоизмененной так, чтобы дешифрование являлось бы обратным процессу шифрования. Блок, который должен быть зашифрован, сначала подвергается начальным перестановкам IP, затем сложному пересчету, зависящему от ключа, и в конце, перестановкам IP-1, которые являются инверсными начальным перестановкам. Пересчет, зависящий от ключа, может быть определен как преобразование в соответствии с функцией шифрования f, функцией распределения ключей KS. На рисунке 2.1 приведена структурная схема алгоритма шифрования. Ввод данных производится блоками по 64 бита. Вначале производятся перестановки в соответствии с таблицей 2.1.
При этом, например, 58-ой информационный бит входного блока выйдет как первый, 50-й как второй, 2-й бит выйдет 8-ым, 1-й бит- 40-ым.
Ввод данных блоками по 64 бит
Начальные перестановки
Lo Ro
f
К1
К2
f
f
К16
Перестановки, инверсные начальным
Вывод данных блоками по 64 бит
Рис.2.1. Алгоритм шифрования DES. Затем входной блок с переставленными битами поступает на схему пересчетов, которая состоит из 16 последовательно включенных узлов- повторителей (преобразования в каждом из них повторяют предыдущие). Здесь информационный блок (64 бита) разбивается на две части L и R по 32 бита, которые поступают на два входа повторителя. Входной блок теперь может быть обозначен как LR. На третий вход повторителя поступают блоки К по 48 бит со схемы образования ''ключа''. Блоки R и K обрабатываются по закону, который задается шифровальной функцией f(R,K). Каждый бит полученного блока длиной 32 бита складывается по модулю два с битами блока L. При этом выходные блоки L’ и R’ повторителя при входных блоках L и R и ключе К будут равны: L’=R R’=L (+) f(R,K) где (+)- обозначает сложение по модулю два информационных бит, поступающих с одного и другого направления. Алгоритм вычисления f(R,K) приведен на рисунке 2.2.
R (32 бита)
48 бит K(48 бит)
32 бит
Рис.2.2. Вычисление f(R,K). Здесь Е- функция которая преобразует 32 бита (на входе) в 48 бит (на выходе). 48 бит выхода (8 блоков по 6 бит) получаются выбором битов (входных) в соответствии с таблицей 2.2.
Далее функция Sn 6 бит (на входе) преобразует в 4 бита (на выходе). Рассмотрим это преобразование на примере функции S1:
Если S1- функция определенная в этой таблице и В- блок из 6 бит, то S(B) определяется: первый и последний биты в блоке В в двоичной системе представляют число в области 0-3. Пусть это число равно i. Средние 4 бита в блоке В в двоичной системе представляют число в области 0-15. Пусть это число равно j. Найдем в таблице число в i-той колонке и j-том столбце. Это число в области от 0 до 15 и в двоичной системе представляется 4-х битовым блоком. Этот блок является выходом S1 для введенного В. Например, если В=011011, то номер колонки равен 1 (01В), номер столбца 13 (1101В). По таблице находим а колонке 1 и столбце 13 число 5, то есть на выходе число 0101. Функции S1,S2…S8 приведены в таблице 2.4. Функция перестановки Р определяется таблицей 2.3.
Выходное значение P(L) для P определенного этой таблицей получается следующим образом: с блока L берется 16-й бит L как первый бит P(L), 7-й бит как второй бит P(L), и так далее пока 25-й бит L не взят как 32-й бит P(L). Теперь пусть S1,...,S8 будут восемь функций выбора, P-функция перестановки и пусть E будет функция определенная выше. Для того, чтобы определять f(R,K) мы сначала определяем B1,...,B8 (по 6 битов каждый): B1B2...B8 = K(+)E(R) (2.1) блок f(R,K) затем определяется: P(S1(B1)S2(B2)...S 8(B8)) (2.2) Таким образом K(+)E(R) сначала разделяется на 8 блоков как указано в (2.1). Затем каждый Bi взят как ввод в Si и 8 блоков (S1(B1)S2(B2)...S8(B8) по 4 бита каждое преобразовываются в 1 блок 32 бита, который вводится в P. Выход Р (2.2) является затем выходом функции f для вводов R и K.
Принято, что KS (n,KEY) есть фунеция, которая определяется целым числом n, которое изменяется от 1 до 16 (n- номер повторителя) ключом (KEY) из 64 бит. Алгоритм вычисления Kn приведен на рис.2.3. Рассмотрим алгоритм получения функции KS. Сначала 64 бит ключа подвергаются перестановке PC-1 (таблица 2.5).
Таблица разделена на две части, в первой части выбираются биты C0 , во второй- биты D0. Биты ключа перечислены с 1 по 64. Биты C0 являются соответственно битами 57, 49, 41,..., 44 и 36 ключа, биты D0, являются битами 63, 55, 47,..., 12 и 4ключа. После определения C0 и D0, мы теперь определяем блоки Cn и Dn, которые получаются из блоков Cn-1 и Dn-1, соответственно, для n = 1, 2,..., 16. Это выполняется сдвигом блоков влево придерживаясь правил из таблицы 2.6.
Ключ
РС-1
Сдвиг влево
Сдвиг влево
K1
PC-2
Сдвиг влево Сдвиг влево
KN
PC-2
Сдвиг влево Сдвиг влево
K16
PC-2
Рис.2.3. Алгоритм вычисления ключевых блоков.
Например, C3 и D3 получаются из C2 и D2, соответственно, двумя сдвигами влево, и C16 и D16 получаются из C15 и D15, соответственно, одним сдвигом в лево. Перестановки PC-2 определятся таблицей 2.7:
Следовательно, первый бит Kn -это 14-й бит CnDn, второй бит- 17, и так далее с 47-й - 29-й, и 48-й бит- 32. Полученная на выходе последнего (16-го) повторителя (Рис.2.1) предварительная выходная последовательность подвергается перестановкам, инверсным начальным и заданным таблицей 2.8:
При дешифровании используется тот же самый алгоритм рис.2.1 и ключ, что и при шифровании. Однако необходимо использовать обратный порядок подачи на повторители ключевых блоков. На первый повторитель подается 16-й ключевой блок (К16), на второй-15(К15) и так далее. 3. Разработка технических требований к системе взаимодействия с периферийными устройствами при обработке данных в системе DES. Основные требования, предъявляемые к системе криптозащиты в стандарте DES:
При выполнении этих требований необходимо предоставить возможность санкционированным пользователям получить данные с минимальными стоимостными и временными затратами. Особые требования предъявляются к управлению формированием и распределением ключей: ключи формируются с помощью обязательных правил. Ключи должны быть выбраны случайным образом из всех возможных по стандарту DES 2^56 (72 квадриллиона) ключей. Ключи можно образовывать, используя для этого алгоритм стандарта шифрования данных. Каждый выбранный ключ должен быть независим от ранее использованного ключа. Ключи могут распределятся и доставляться курьером (вручную) или через закрытую почту причем должна быть исключена возможность хищения или записи доставляемых ключей. Ключи могут распределятся электронным способом от центра управления и распределения ключей. В этом случае они должны зашифровываться ''главным ключом'' или ''единственным резервным ключом''. Обязательно должны быть приняты меры для защиты ключей:
В случае, если ключи были скомпрометированы, или имеется какая-то возможность их компрометации, то необходимо изменить рабочие ключи. Ключи должны быть доступны тем лицам, которые знают или имеют данные, которые они защищают. Следует помнить, что ключи могут быть выкрадены из системы, а это приведет к потере большого количества информации и к длительному нарушению штатного (нормального) функционирования системы. В стандарте DES предлагаются некоторые протоколы связи. Для аутентификации пользователя можно использовать алгоритм однонаправленного (необратимого) преобразования, при котором код аутентификации пользователя, никогда не может быть вычислен на основании его эквивалента, помещенного в память машины. Двусторонняя аутентификация между терминалом и компьютером производится в том случае, когда единственный ключ шифрования имеется только в аппаратуре шифрования (дешифрования) терминала и компьютера. Подлинность сообщений можно криптографически защитить путем вычисления криптографической функции от всех знаков сообщения и передачи этого результата (код аутентификации сообщений) вместе с сообщением. Приемник сообщений вычисляет идентичную криптографическую функцию принятого сообщения, используя такой же секретный ключ, как ключ отправителя, и сравнивает ее с кодом аутентификации полученного сообщения. Несанкционированный ввод или стирание сообщений предотвращается или обнаруживается включением в сообщение какого-либо оригинального или уникального числа (имитовставка). Ошибки, введенные случайно или преднамеренно в передаваемые данные, можно автоматически обнаружить или исправить путем применения кода, обнаруживающего или исправляющего ошибки, который помещается в конце передаваемого сообщения и также образуется криптографическими методами. Обман, типичным вариантом которого является замена части одного сообщения, фрагментом из другого сообщения, можно предотвратить, используя методы аутентификации. Аппаратура шифрования должна устанавливаться в исходное или начальное состояние с ключом и начальным заполнением, если применяется режим шифрования с обратной связью. Свободные места в сообщении должны быть заполнены случайными числами для того, чтобы сообщение образовывало последовательность, кратную 64 битам. Аппаратуру засекречивания необходимо засинхронизировать, чтобы вход приемника соединялся с выходом передатчика. В аппаратуре связи должны использоваться идентичные форматы данных, а также режимы шифрования, если таковые встретятся. Обнаруживать или исправлять ошибки следует как внутри, так и снаружи закрытых каналов связи. В устройствах для обеспечения конфиденциальности телефонных переговоров нет необходимости выполнять некоторые из требований стандарта DES. Обусловлено это спецификой телефонной связи. Абоненты опознают (аутентифицируют) друг друга по голосу, преднамеренный ввод ложного сообщения (даже ранее записанного с того же голоса) легко обнаруживается по изменению содержания. Технические требования предъявляемые к системе взаимодействия периферийных устройств при обработке данных в стандарте DES.
В открытом режиме на передаче информация не шифруется, соответственно на приеме не дешифруется. Открытый режим необходим для того, чтобы можно было договориться о номере ключа и переходе в закрытый режим передачи, а также для передачи не конфиденциальной информации.
4. Разработка функциональной схемы системы взаимодействия с периферийными устройствами. Функциональная схема системы криптозащиты в стандарте DES приведена на рисунке 4.1. Система работает в режиме открытой и в режиме закрытой передачи. Входной сигнал через электронный трансформатор (ЭТ) поступает на аналогово-цифровой преобразователь. Электронный трансформатор служит для согласования входного сигнала с АЦП по сопротивлению. В аналогово-цифровом преобразователе сигнал оцифровывается и поступает в порт Р2. Программа отправляет очередной отчет в буфер хранения данных подлежащих шифрованию, а из буфера хранения зашифрованных данных, также очередной отчет – в последовательный порт. В закрытом режиме после приема восьми отчетов происходит шифрование, после чего зашифрованные данные поступают в соответствующий буфер . В открытом режиме после приема 8-ми отчетов (64 бит) они направляются в буфер хранения зашифрованных данных без шифрования. Аналогичный процесс происходит при передаче сигнала в обратном направлении. Процессор постоянно анализирует активность приема в последовательный порт, и, если в него не поступает в течении некоторого времени сигнал заданного формата, то зажигается светодиод ''потеря входного сигнала'', а в последовательный порт передает вместо сигнала нули. При переходе в закрытый режим процессор вводит установленный DIP- переключателями ключ, и, если прием в последовательный порт не происходит, мигает светодиод ''потеря входного сигнала''. Функцион. Схема. 5. Разработка электрической схемы системы взаимодействия с периферийными устройствами. Выбор элементной базы. Микропроцессор DS87C520. В устройстве криптозащиты информации в стандарте DES будем использовать однокристальную микро ЭВМ семейства МК51(MCS51) – DS87C520 фирмы Dallas Semiconductor, имеющая следующие характеристики:
Структурная организация ОМЭВМ MCS51 показана на рис. 5.0
OSC (ГЕН) ROM (ПЗУ ПП) RAM (ОЗУ ПД) Т/С (таймеры счетчики) CPU (ЦПУ) 64K BYTE BUS EXP (РШ) PROGR.I\0 (ППП) SPORT (последовательный порт) прерывания Р0…Р3 Вх. Вых. Х1 Х2 Вх.1 Вх.2
внутр
внеш.
Рис.5.0. Структурная схема ОМЭВМ MCS51. В состав структурной схемы входят следующие функциональные узлы:
Все узлы связаны между собой общей восьмиразрядной шиной, по которой осуществляется обмен информацией между ЦПУ и остальными устройствами. ЦПУ представляет собой совокупность операционного ОУ и управляющего УУ устройств, выполняющих программу, записанную в ПЗУ ПП, емкость которого составляет 16 Кбайт. ЦПУ обеспечивает выполнение следующих групп операций:
Промежуточные результаты вычислений сохраняются в ОЗУ ПД емкостью 256 байт. Скорость работы ЦПУ задается генератором, вырабатывающим необходимые для работы временные последовательности. Тактовая частота задается либо кварцевым резонатором, включенным между выводами Х1 и Х2, либо внешним задающим генератором, подключаемым ко входу Х1. В целях обеспечения последовательного доступа к ресурсам процессора при использовании одной шины генератор формирует машинный цикл процессора из четырех тактов резонатора (задающего генератора). Ввод в процессор информации, подлежащей обработке, может быть осуществлен либо в параллельной байтовой (ввод восьми разрядов одной командой), либо в последовательной (по одному биту) формах, так же как и вывод результатов обработки из процессора. Параллельный обмен информации возможен через один из четырех поддерживаемых ОМЭВМ ППП. Последовательный обмен информацией в принципе может быть организован через любой из разрядов ППП, однако для облегчения процесса последовательного обмена и экономии вычислительных ресурсов, необходимых для его реализации, ОМЭВМ оснащена встроенным программируемым последовательным портом, позволяющим практически без затрат вычислительных ресурсов организовать последовательный обмен по нескольким видам протоколов. Помимо рассмотренных узлов, в состав однокристальной микро ЭВМ включены два шестнадцати разрядных таймера/счетчика, которые могут функционировать либо в режиме таймера, либо в режиме счетчика внешних событий. Режим таймера используется, главным образом, тогда, когда необходимо организовать циклические процессы с жестко фиксированным и независимым от времени выполнения программы периодом цикла, например, при обработке речевых сигналов, когда необходимо обеспечить требуемый (по теореме Котельникова) интервал дискретизации. Расширитель шины РШ используется для работы с внешним ЗУ- памяти программ или памяти данных. Как правило внешнее ЗУ используется тогда, когда для размещения программы или данных при решении какой-то задачи внутренних ресурсов ОМЭВМ оказывается недостаточно, режим работы с внешним ЗУ не является типичным для ОМЭВМ. Система прерываний ОМЭВМ DS87C520 поддерживает прерывания от пяти источников: INT0- внешнее прерывание по состоянию/ изменению состояния логического сигнала на входе INT0 (вывод 12).INT1-внешнее прерывание по состоянию/изменению состояния логического сигнала на входе INT1 (вывод 13). T/C0- внутреннее прерывание по переполнению таймера/счетчика Т/С0. T/C1- внутреннее прерывание по переполнению таймера/счетчика Т/С0. S- внутреннее прерывание от последовательного порта. Прерывания в общем виде являются средством заставить процессор прекратить выполнение текущей программы и перейти к выполнению другой программы (подпрограммы), являющейся частью общего для решаемой задачи прикладного программного обеспечения, и ассоциированной с данным прерыванием. Каждым источником может быть сформирован запрос на прерывание, устанавливающий соответствующий флаг, обслуживание запросов может быть разрешено или запрещено. Любому из источников прерываний может быть установлен высокий или низкий приоритет установкой/ сбросом соответствующих бит в регистре IP; при этом подпрограммы прерываний более высокого приоритета могут прерывать подпрограммы более низкого. В системе криптозащиты, в качестве электронного трансформатора, применим операционный усилитель К140УД20А. Операционный усилитель- это транзисторный многокаскадный усилитель постоянного тока, выполненного в виде ИМС, что обуславливает его схемотехнические особенности. Структурная схема операционного усилителя, рис.5.1, содержит дифференциальный входной каскад, каскады усиления и выходной каскад, обеспечивающий заданную мощность сигнала в нагрузке.
Входной каскад Промежуточные каскады Выходной каскад
+ + U1 U2 U3
-
U_
Рис.5.1. Структурная схема операционного усилителя. Дифференциальный входной каскад представляет собой мостовую схему с двумя входами, причем на его выход сигнал с одного входа (прямого) подается без изменений фазы, а с другого входа (инверсного)- в противофазе. Стабильность рабочей точки входного каскада обеспечивается за счет глубокой отрицательной обратной связи, создаваемой в эмиттерной цепи, поэтому входное сопротивление входов операционного усилителя- очень высокое. Основное усиление К=U2/U3 вносят промежуточные каскады. Выходной каскад операционного усилителя- бестрансформаторный, выполненный на паре комплиментарных (с дополняющими друг друга характеристиками) транзисторов, образующих относительно разнополярных источников питания мост. Двухполярное электропитание обеспечивает равенство потенциалов обеих входов и выхода потенциалу корпуса, поэтому операционный усилитель обычно не нуждается в цепях разделения по постоянному току. Операционные усилители всегда охватывают глубокой параллельной по выходу отрицательной обратной связью, соединяя выход с инверсным входом. Благодаря этому резко улучшаются их стабильность, частотные и другие характеристики, снижается до десятков ом выходное сопротивление. На практике входное сопротивление операционного усилителя можно считать бесконечным, а выходное- нулевым. Схема операционного усилителя, не инвертирующего сигнал, приведена на рис.5.2
U1 U2 U_
R2
R1
Рис 5.2. Схема не инвертирующего операционного усилителя. В цепи обратной связи включен делитель напряжения с коэффициентом передачи:
Тогда выражение для коэффициента усиления не инвертирующего операционного усилителя:
Коэффициент усиления, в нашем случае, равен двум, тогда R1=R2=10 кОм Для инвертирующего операционного усилителя (Рис.5.3) коэффициент усиления:
При коэффициенте усиления равном единице R1=R2=10 кОм.
R2 R1
U2 R1
U1
Рис 5.3. Схема инвертирующего операционного усилителя.
К ОУ
R1
Rx
Вход
R2
К ОУ
Рис.5.4. Согласующее устройство. На входе операционного усилителя, для обеспечения требуемого затухания отражения и асимметрии рассчитаем делитель (рис.5.4) на резисторах R1,R2,Rx. Затухание отражения:
Требуемая Аотр.тр.=26дб, тогда R1=R2=301 Ом. Защищенность асимметрии:
Требуемая Аасим=52дб, тогда при допуске резисторов 5% Rx=10 кОм. В качестве аналогово-цифрового преобразователя возьмем ИМС фирмы ANALOG DEVICES AD7574. Структурная схема АЦП AD7574 приведена на рис.5.5.
ФНЧАМПЛИТУДНО- ИМПУЛЬСНЫЙ МОДУЛЯТОР КОДЕР D f(t)
fд
Рис.5.5.Структурная схема АЦП AD7574 Аналогово-цифровой преобразователь предназначен для преобразования аналогового сигнала в цифровой. Состоит из фильтра низкой частоты (ФНЧ), который предназначен для ограничения полосы частот передаваемого телефонного сигнала, амплитудно- импульсного модулятора и кодера, преобразующего АИМ сигнал в восьмиразрядный цифровой сигнал, который поступает в порт Р2 микроконтроллера. Для хранения комбинаций ключей используем ИМС NM256Q. Она представляет собой постоянное запоминающее устройство на 2^15=32Кбайта. К старшим шести разрядам подключим DIP-переключатели для выбора ключей, которые сами собой являются индикаторами. Количество ключей будет равно:
Так как для обращения к внешнему ПЗУ и считывания с него данных мы используем одну шину, то для запоминания адреса ячейки используем регистр КР1533ИР33. Ввод ключа в процессор происходит следующим образом: При обращении к внешней памяти на Р0 появляется адрес ячейки по которому в ПЗУ хранится комбинация ключа, после установки сигнала ALE этот адрес запоминается регистром и появляется на адресной шине (младший байт) микросхемы памяти. После появления сигнала RD с порта Р0 считываются данные из данного адреса. Для увеличения мощности сигнала на выходе и входе системы используем ИМС К555ЛН2. Электрическая принципиальная схема приведена на рис.5.6. Эл.схема. 6. Разработка и отладка алгоритмического и программного обеспечения системы взаимодействия с периферийными устройствами. На рис.6.1-6.6 представлена блок-схема алгоритма системы взаимодействия периферийных устройств с учетом технических требований разработанных ранее. В нашем устройстве будем использовать прерывания в следующих целях: INT0(низкий приоритет, уровневый режим прерываний)- для перехода в режим закрытой передачи и обратно. INT1(низкий приоритет, краевой режим прерываний)- для ввода ключа. T/C0(высокий приоритет)- для формирования сигналов управления АЦП с f=64/8=8кГц, Т=125мкс(период повторения). Для получения требуемой частоты определим перезагружаемое число, содержащееся в регистре TH0: Период машинного цикла при частоте задающего генератора 55 МГц:
Перезагружаемое число равно:
S(высокий приоритет)- используем для считывания отчета поступившего в последовательный порт. Скорость передачи определяется частотой переполнения Т/С1, который работает в режиме 2. Скорость передачи описана выражением:
При скорости передачи 115200 бит/с найдем TH1: TH1=255 1 2 3 4 5 6 Разработка и отладка программного обеспечения. Правила записи программы на языке ассемблер. При составлении программы разработчик обычно пользуется языком более высокого уровня, чем язык машинных команд (обычно используется язык ассемблера данного процессора или более универсальный язык С), при этом текст программы переводится в требуемую для запоминающего устройства памяти программ совокупность двоичных символов с помощью ЭВМ с использованием специальных программ, получивших название трансляторов. Программа- транслятор, базирующаяся на мнемокодах системы команд какого-то конкретного процессора, обычно называется ассемблером данного процессора. При составлении программы на языке ассемблера следует иметь в виду ряд правил, весьма похожих, однако имеющих различия для конкретных ассемблеров. Ниже приведен свод правил составления программ на языке ассемблера. Программа записывается в виде последовательности операторов. Каждый оператор занимает одну строку программы. В тексте программы допускается использование следующих символов:
Текст программы для каждого оператора разбивается на четыре поля- поле метки, поле кода операции, поле операндов и поле комментариев. Заполнение полей не является обязательным за исключением случая заполнения поля кода операции мнемокодом команды, требующей указания операндов. Поля размещаются в тексте в указанном порядке и отделяются друг от друга как минимум одним пробелом или табуляцией. Поле метки начинается с первой позиции текста (крайнее левое положение курсора на экране) и содержит метку, которая может быть указана в любом месте сегмента как адрес перехода. Если метка в операторе не используется, первая позиция текста должна быть свободна (содержать пробел). Метка представляет собой любую комбинацию латинских букв, цифр и символа подчеркивания, начинающуюся с буквы и содержащую не более семи символов. После метки ставится двоеточие (без отделения пробелом). Каждая метка должна иметь свое уникальное имя, повторение меток в программе не допускается. Поле кодов операций и поле операндов заполняются мнемокодами команд процессора или мнемокодами псевдоинструкций ассемблера. Если в поле операндов указаны два операнда, они разделяются между собой запятой. Если в качестве операнда указывается число, оно должно начинаться с символа #. Как числа, так и номера ячеек памяти могут быть представлены в различных системах счисления, при этом в конце числа или номера ячейки ставится символ соответствующей системы: В- двоичной; Н- шестнадцатеричной. Если символ принадлежности к системе счисления в конце числа или номера ячейки отсутствует, соответствующий номер или число воспринимается транслятором в десятичной системе счисления. Поле комментариев должно начинаться с символа ''точка с запятой''. Это поле используется по усмотрению программиста для повышения удобочитаемости программы. Информация, содержащаяся в поле комментариев, не транслируется ассемблером и не влияет на выполнение программы процессором. Отладка программы. Отладку программного обеспечения удобно вести по отдельным частям, выполняющим конкретные законченные функции. В нашем случае мы имеем 5 законченных функций (сегментов), их отладку будем производить в следующем порядке:
Процесс компоновки осуществим на ЭВМ с помощью программы- линковщика. Программа, написанная на языке программирования ассемблер, отлажена и доказала свою работоспособность с помощью пакета симуляции AVSIM51. Листинг трансляции приведен ниже:============================================================== AVCASE 8051-Family Linker. Version 1.200 ============================================================== Date: 2/08/101 11:23:21 Image File: DESSYS.hex Symbol File: DESSYS.sym Options: -SY -SM -SM -SP Startup Addr: Unspecified ================= INPUT FILES ================= Input File Name L Date & Time Version -------------------------------------- - ----------------- --------------- DESSYS.obj 2/08/101 11:23:16 ================ MEMORY MAP ================ Space Start End Length Segment Module ------- ------- ------- ------ --------------- --------------- ROM 0000H 01B1H 1B2H BEG DESSYS ROM 01B2H FFFFH FE4EH -unallocated RAM 00H 07H 8H REG0 DESSYS RAM 08H FFH F8H -unallocated XRAM 0000H FFFFH 10000H -unallocated =================================== ALPHABETICAL LIST OF SEGMENTS =================================== Segment Class Start End Length Align Other Attributes --------------- -------- ----- ---- ------ ----- -------------------- BEG CODE 0000 01b1 01b2 BYTE ABSOLUTE BIT BIT 0000 0000 0000 BIT CODE CODE 0000 0000 0000 BYTE DATA DATA 0000 0000 0000 BYTE IDATA IDATA 0000 0000 0000 BYTE REG0 DATA 0000 0007 0008 BYTE ABSOLUTE,OVERLAID XDATA XDATA 0000 0000 0000 BYTE ================================== SYMBOLS BY CLASS AND ADDRESS ================================== Class Symbol Name Value Module Segment ------- -------------------------------- ------- --------------- ---------- ===================================== MODULES, ALPHABETICALLY BY NAME ===================================== Module DESSYS: File: DESSYS.obj Date: 2/08/101 11:23:16 Segment Space Start End Length --------------- ------- ----- ----- ------ BEG ROM 0000H 01B1H 01B2H REG0 RAM 0000H 0007H 0008H ========================== UNALLOCATED SEGMENTS ========================== Segment Class Space Reason Not Allocated --------------- -------- -------- ------------------------ CODE CODE ROM Zero Length DATA DATA RAM Zero Length BIT BIT BIT Zero Length IDATA IDATA RAM Zero Length XDATA XDATA XRAM Zero Length 1 DEFSEG BEG,ABSOLUTE 2 SEG BEG =0000 3 ORG 0H 0000 0125 4 AJMP MET2 =0003 5 ORG 03H 0003 01D7 6 AJMP INTER0 =000B 7 ORG 0BH 000B 215A 8 AJMP TIMER =0013 9 ORG 13H 0013 210B 10 AJMP INTER1 =0023 11 ORG 023H 0023 2122 12 AJMP SER_P 0025 D2 88 13 MET2: SETB IT0 ; 0027 D2 8A 14 SETB IT1 ; 0029 C2 B8 15 CLR PX0 ; 002B C2 BA 16 CLR PX1 ; 002D D2 A8 17 SETB EX0 ; 002F D2 AA 18 SETB EX1 ; 0031 75 89" 22 19 MOV TMOD,#00100010B ; 0034 75 8D" 36 20 MOV TH1,#54 ; 0037 75 8C" 32 21 MOV TH0,#50 ; 003A C2 AB 22 CLR ET1 ; 003C D2 A9 23 SETB ET0 ; 003E D2 B9 24 SETB PT0 ; 0040 75 98" D0 25 MOV SCON,#11010000B ; 0043 D2 AC 26 SETB ES ; 0045 D2 BC 27 SETB PS ; 0047 75 00 38 28 MOV 00H,#38H ; 004A 75 01 30 29 MOV 01H,#30H ; 004D 75 10 28 30 MOV 10H,#28H ; 0050 75 11 20 31 MOV 11H,#20H ; 0053 75 18 40 32 MOV 18H,#40H ; 0056 75 19 00 33 MOV 19H,#0H ; 0059 75 12 00 34 MOV 12H,#0 ; 005C 75 13 00 35 MOV 13H,#0 ; 005F 75 14 00 36 MOV 14H,#0 ; 0062 75 15 08 37 MOV 15H,#8 ; 0065 75 16 08 38 MOV 16H,#8 ; 0068 75 81" 72 39 MOV SP,#72H ; 006B C2 B4 40 CLR P3.4 ; 006D C2 B5 41 CLR P3.5 ; 006F D2 8E 42 SETB TR1 ; 0071 D2 8C 43 SETB TR0 ; 0073 D2 AF 44 SETB EA ; 0075 E5 14 45 SH: MOV A,14H ; 0077 60 25' 46 JZ DE ; 0079 75 00 38 47 MOV 00H,#38H ; 007C 75 01 30 48 MOV 01H,#30H ; 007F 20 B2# 04' 49 JB P3.2,SS ; 0082 E5 15 50 MOV A,15H ; 0084 70 4D' 51 JNZ SHIFR ; 52 ;ПЕРЕНОС 8-МИ БАЙТ В БУФЕР ПЕРЕДАЧИ БЕЗ ШИФРОВАНИЯ 0086 C2 D4 53 SS: CLR RS1 ; 0088 C2 D3 54 CLR RS0 ; 008A 7F 08 55 MOV R7,#8 ; 008C E6 56 P_S: MOV A,@R0 ; 008D F7 57 MOV @R1,A ; 008E 08 58 INC R0 ; 008F 09 59 INC R1 ; 0090 DF FA' 60 DJNZ R7,P_S ; 0092 75 00 38 61 RE_SH: MOV 00H,#38H ; 0095 75 01 30 62 MOV 01H,#30H ; 0098 75 14 00 63 MOV 14H,#0 ; 009B 75 15 08 64 MOV 15H,#8 ; 009E E5 13 65 DE: MOV A,13H ; 00A0 60 25' 66 JZ KON ; 00A2 75 11 20 67 MOV 11H,#20H ; 00A5 75 10 28 68 MOV 10H,#28H ; 00A8 20 B2# 04' 69 JB P3.2,DD ; 00AB E5 16 70 MOV A,16H ; 00AD 70 26' 71 JNZ DESHIFR ; 72 ;ПЕРЕНОС 8-МИ БАЙТ ИЗ БУФЕРА ПРИЕМА В Р1 00AF D2 D4 73 DD: SETB RS1 ; 00B1 C2 D3 74 CLR RS0 ; 00B3 7F 08 75 MOV R7,#8 ; 00B5 E7 76 P_S1: MOV A,@R1 ; 00B6 F6 77 MOV @R0,A ; 00B7 08 78 INC R0 ; 00B8 09 79 INC R1 ; 00B9 DF FA' 80 DJNZ R7,P_S1 ; 00BB 75 11 20 81 RE_DE: MOV 11H,#20H ; 00BE 75 10 28 82 MOV 10H,#28H ; 00C1 75 16 08 83 MOV 16H,#8 ; 00C4 75 13 00 84 MOV 13H,#0 ; 00C7 E5 12 85 KON: MOV A,12H ; 00C9 70 04' 86 JNZ SH1 ; 00CB D2 B6 87 SETB P3.6 ; 00CD 0175 88 AJMP SH ; 00CF C2 B6 89 SH1: CLR P3.6 ; 00D1 0175 90 AJMP SH ; 00D3 0192 91 SHIFR: AJMP RE_SH ; 00D5 01BB 92 DESHIFR:AJMP RE_DE 93 94 ;ОБРАБОТКА ПРЕРЫВАНИЙ ОТ INT0(НАЖАТА КНОПКА ЗАКРЫТАЯ ПЕРЕДАЧА) 00D7 C0 D0 95 INTER0: PUSH PSW ; 00D9 D2 D4 96 SETB RS1 ; 00DB D2 D3 97 SETB RS0 ; 00DD FB 98 MOV R3,A ; 00DE AA 12 99 POTER: MOV R2,12H ; 00E0 BA 00 18' 100 CJNE R2,#0,NO ; 00E3 C2 B6 101 CLR P3.6 ; 00E5 7D 0F 102 MOV R5,#0FH ; 00E7 7C 01 103 TIM2: MOV R4,#01H ; 00E9 EC 104 TIM1: MOV A,R4 ; 00EA DC FD' 105 DJNZ R4,TIM1 ; 00EC DD F9' 106 DJNZ R5,TIM2 ; 00EE D2 B6 107 SETB P3.6 ; 00F0 7D 0F 108 MOV R5,#0FH ; 00F2 7C 01 109 TIM4: MOV R4,#01H ; 00F4 EC 110 TIM3: MOV A,R4 ; 00F5 DC FD' 111 DJNZ R4,TIM3 ; 00F7 DD F9' 112 DJNZ R5,TIM4 ; 00F9 01DE 113 AJMP POTER ; 00FB 78 40 114 NO: MOV R0,#40H ; 00FD 79 00 115 MOV R1,#0 ; 00FF 7C 08 116 MOV R4,#8 ; 0101 E3 117 KEY: MOVX A,@R1 ; 0102 F6 118 MOV @R0,A ; 0103 09 119 INC R1 ; 0104 08 120 INC R0 ; 0105 DC FA' 121 DJNZ R4,KEY ; 0107 EB 122 MOV A,R3 ; 0108 D0 D0 123 POP PSW ; 010A 32 124 RETI ; 125 126 ;ПОДПРОГРАММА ОБРАБОТКИ ПРЕРЫВАНИЙ ОТ INT1 010B C0 D0 127 INTER1: PUSH PSW ; 010D D2 D4 128 SETB RS1 ; 010F D2 D3 129 SETB RS0 ; 0111 FB 130 MOV R3,A ; 0112 78 40 131 MOV R0,#40H ; 0114 79 00 132 MOV R1,#0 ; 0116 7C 08 133 MOV R4,#8 ; 0118 E3 134 KEY2: MOVX A,@R1 ; 0119 F6 135 MOV @R0,A ; 011A 09 136 INC R1 ; 011B 08 137 INC R0 ; 011C DC FA' 138 DJNZ R4,KEY2 ; 011E EB 139 MOV A,R3 ; 011F D0 D0 140 POP PSW ; 0121 32 141 RETI ; 142 ;ПОДПРОГРАММА ОБРАБОТКИ ПРЕРЫВАНИЙ ОТ УАПП 0122 10 98# 05' 143 SER_P: JBC RI,PR ; 0125 10 99# 31' 144 JBC TI,ENDP ; 0128 2159 145 AJMP ENDP ; 012A C0 D0 146 PR: PUSH PSW ; 012C D2 D4 147 SETB RS1 ; 012E C2 D3 148 CLR RS0 ; 0130 FF 149 MOV R7,A ; 0131 75 12 03 150 MOV 12H,#3 ; 0134 86 90 151 MOV P1,@R0 ; 0136 D2 B5 152 SETB P3.5 ; 0138 08 153 INC R0 ; 0139 C2 B5 154 CLR P3.5 ; 013B B8 30 01' 155 CJNE R0,#30H,IN_1 ; 013E 18 156 DEC R0 013F 30 9A# 04' 157 IN_1: JNB RB8,IN4 ; 0142 79 20 158 MOV R1,#20H ; 0144 214C 159 AJMP INF 0146 B9 27 03' 160 IN4: CJNE R1,#27H,INF 0149 75 13 01 161 MOV 13H,#1 ; 014C E5 99 162 INF: MOV A,SBUF ; 014E F7 163 MOV @R1,A ; 014F 70 02' 164 JNZ IN2 ; 0151 15 16 165 DEC 16H ; 0153 09 166 IN2: INC R1 ; 0154 C2 B6 167 IN3: CLR P3.6 ; 0156 EF 168 MOV A,R7 ; 0157 D0 D0 169 POP PSW ; 0159 32 170 ENDP: RETI ; 171 172 ;ПОДПРОГРАММА ОБРАБОТКИ ПРЕРЫВАНИЙ ОТ Т\С0 015A C0 D0 173 TIMER: PUSH PSW ; 015C D2 B4 174 SETB P3.4 ; 015E C2 D4 175 CLR RS1 ; 0160 C2 D3 176 CLR RS0 ; 0162 FB 177 MOV R3,A ; 0163 C2 B4 178 CLR P3.4 ; 0165 E5 12 179 MOV A,12H ; 0167 60 02' 180 JZ TC ; 0169 15 12 181 DEC 12H ; 016B E5 A0 182 TC: MOV A,P2 ; 016D F6 183 MOV @R0,A ; 016E 70 02' 184 JNZ M ; 0170 15 15 185 DEC 15H ; 0172 B8 3F 07' 186 M: CJNE R0,#3FH,NET ; 0175 78 38 187 MOV R0,#38H ; 0177 75 14 01 188 MOV 14H,#1 ; 017A 217D 189 AJMP NET0 ; 017C 08 190 NET: INC R0 ; 017D E5 12 191 NET0: MOV A,12H ; 017F 70 02' 192 JNZ PER ; 0181 77 00 193 MOV @R1,#0 ; 0183 B9 30 04' 194 PER: CJNE R1,#30H,N ; 0186 D2 9B 195 SETB TB8 ; 0188 218C 196 AJMP PE1 ; 018A C2 9B 197 N: CLR TB8 ; 018C 87 99 198 PE1: MOV SBUF,@R1 ; 018E 09 199 INC R1 ; 018F B9 38 02' 200 CJNE R1,#38H,PE2 ; 0192 79 30 201 MOV R1,#30H ; 0194 EB 202 PE2: MOV A,R3 ; 0195 D0 D0 203 POP PSW ; 0197 32 204 RETI ; 205 END No lines contained errors. No lines contained warnings. Заключение. Развитие микроэлектроники и широкое применение ее изделий в промышленном производстве, в устройствах и системах управления самыми разнообразными объектами и процессами является в настоящее время одним из основных направлений научно- технического прогресса. Использование микроэлектронных средств в изделиях производственного и культурно-бытового назначения не только приводит к повышению технико-экономических показателей (стоимости, надежности, потребляемой мощности, габаритных размеров) и позволяет многократно сократить сроки разработки и отодвинуть сроки ''морального старения'' изделий, но и придает им принципиально новые потребительские качества (расширенные функциональные возможности, модифицируемость, адаптивность и т.д). Использование микроконтроллеров в системах управления обеспечивает достижение исключительно высоких показателей эффективности при столь низкой стоимости (во многих применениях система может состоять только из одной БИС микроконтроллера), что микроконтроллерам, видимо, нет разумной альтернативной элементной базы для построения управляющих и/или регулирующих систем. К настоящему времени более двух/третей мирового рынка микропроцессорных средств составляют именно однокристальные микроконтроллеры. В настоящее время выпускается многочисленные однокристальные микроЭВМ, ориентированные на использование в телекоммуникационных системах- трансиверы цифровых потоков Е1 и Т1, интегральные устройства сжатия речевой информации, процессоры голосовой почты, автоответчики, тональные приемники/генераторы и т.п. Использовав в настоящем дипломном проекте однокристальную микроЭВМ нам удалось реализовать в достаточно компактном устройстве исключительно сложный алгоритм, требующий для своей реализации десятки тысяч электронных элементов, объединенных в сотни регистров и схем. Применение малогабаритной цифровой памяти с большими сроками хранения и объемами хранимой информации позволяет снабжать устройство впрок большим количеством ключей. Разработанное устройство криптозащиты основано на использовании алгоритма шифрования DES, что позволяет производить обмен информации при использовании с устройствами других фирм с аналогичным алгоритмом шифрования. При использовании устройства криптозащиты в стандарте DES, оператор должен знать что, теоретически, при подборе ключей противник может его найти не использовав всех комбинаций. Поэтому нужно принимать меры для защиты ключей. Стойкость алгоритма DES может быть повышена с помощью определенных усовершенствований и модификаций. Создаваемые на основе стандарта DES устройства должны разрабатываться так, чтобы их можно было использовать в вычислительных системах или сетях для обеспечения криптографической защиты данных, представленных в виде двоичного кода. При этом должна быть обеспечена возможность их испытаний и проверки на точное выполнение преобразований. Список использованной литературы
7. Экология и безопасность жизнедеятельности.7.1. Анализ опасности и вредности при разработке криптосистемы.При проектировании устройства криптосистемы большую часть времени инженер проектировщик проводит за столом и правильная организация рабочего места оказывает существенное влияние на его трудоспособность.В своей деятельности инженер пользуется услугами ЭВМ, устройств хранения информации, следовательно, необходимо обеспечить удобный доступ ко всем техническим средствам. Поэтому в данном разделе подробнее рассмотрим сведения о системе эргономических норм и принципах организации рабочего места инженера.Эргономическое обеспечение рабочего места.Под рабочим местом понимается зона, оснащенная необходимыми техническими средствами, в которой совершается трудовая деятельность исполнителя или группы исполнителей, совместно выполняющих одну работу или операцию.Организация рабочего места заключается в выполнении мероприятий, обеспечивающих безопасный и рациональный трудовой процесс и эффективное использование орудий и предметов труда, что повышает производительность труда и снижает утомляемость работника.Организация рабочего места зависит от характера решаемых задач и особенностей предметно-пространственного окружения, которые определяют рабочее положение тела инженера и возможность пауз для отдыха, типы и способы средств отображения и управления, необходимость в средствах защиты, спецодежде, пространства для наладки и ремонта оборудования.Выбор рабочего положения оператора связан с величиной и характером рабочей нагрузки, объемом и темпом рабочих движений, требуемой степенью точности выполнения операций, особенностями предметно-пространственного окружения.При оценке эргономичности положения можно воспользоваться критериями, обобщенными в табл.1.Выбираем рабочую позу в положении сидя. Такая поза рекомендуется при небольших усилиях, невысоком темпе, высокой точности работы двумя руками при работах в пределах зон досягаемости.Одним из компонентов деятельности на рабочем месте являются рабочие движения. Их рациональная организация создает условия для снижения утомления, резервы для повышенной работоспособности. Пространственные характеристики движения оператора определяются траекториями движения и размерами моторного поля (зоны досягаемости). Расположение этих зон покажем на рис. 1.
Рис.1. Зоны досягаемости рук человека: а) в вертикальной плоскости (А, В, Е - максимальные, Б, Г, Д, Ж, З-допустимые); б) в горизонтальной плоскости (А, М -максимальные, Б, Е -допустимые, В, Д -оптимальные) Таблица 1. Критерии выбора рабочих положений.
При организации рабочего места необходимо обеспечить нормальные условия обзора. Зону обзора описывает угол, вершина которого находится в центре глаза, а стороны составляют границы, в которых человек при фиксированном положении головы и глаз хорошо различает их местонахождение. В горизонтальной плоскости этот угол составляет 30˚-40˚. При организации рабочего места угол обзора можно взять 50˚-60˚, включая зону менее ясного обзора.Допустимый угол обзора по горизонтали 90˚. В вертикальной плоскости оптимальный угол обзора 10˚ вверх и 30˚ вниз от линии взора, а допустимый 30˚вверх и 40˚ вниз от линии взора.Чтобы сохранить нормальную остроту зрения, рабочую поверхность располагают от глаз на расстоянии от 0,3 м до 0,75 м.Рабочая мебель должна быть удобной для выполнения рабочих операций. В данном случае рабочий стол является основным оборудованием. Особенно важное значение имеет высота стола, его конструкция, которая должна предусматривать ящики для размещения инструментов, документации.Важное значение имеет конструкция рабочих сидений. Плохо подобранное сидение может являться причиной чрезмерной утомляемости.Наклон и высота сидения должны регулироваться в соответствии с высотой рабочей поверхности и ростом работающего. Рекомендуемая ширина сидения 370-400 мм, глубина 370-420 мм, высота спинки 370-1000 мм, от уровня сидения. Для размещения ног необходимо предусмотреть свободное пространство под рабочей плоскостью.Перечисленные выше параметры конструкции рабочей мебели можно выбрать с учетом антропологических данных человека с помощью табл.2.Работа инженера проектировщика предполагает использование ЭВМ, поэтому приведем некоторые данные его расположения. Дисплей должен размещаться так, чтобы расстояние (L1) наблюдения информации на экране, не превышало 700 мм. Экран дисплея по высоте должен быть расположен так, чтобы угол β1 между нормалью к центру экрана и горизонтальной линией взгляда составлял 20˚.В горизонтальной плоскости угол наблюдения экрана не должен превышать 60˚. Документ для ввода оператором данных рекомендуется расположить слева на расстоянии L2=450-500 мм от глаз, при этом угол β2 должен составлять 30˚-45˚.Угол наклона клавиатуры γ=15˚.Изобразим на рис.2 схему размещения дисплея.Табл.2. Выбор параметров рабочей мебели при работе сидя в зависимости от вида работы и роста работающего.
Рис.2. Размещение дисплея в рабочей зонеВажное значение имеет эстетическое оформление производственной обстановки, а также архитектурно-строительное совершенство промышленных зданий, рабочих помещений и рабочих мест.Большое значение имеет цветовая отделка помещений. При выборе цвета учитывают соответствие между цветом и эмоциональными ощущениями человека. Цвета правой части спектра (красный, желтый, оранжевый) считают теплыми, цвета левой части (синий, зеленый) – холодными цветами, успокаивающими. Цветовое оформление оборудования и помещения осуществляется с учетом характера работы:при монотонной работе для возбуждения нервной системы, стены и оборудование окрашивают в ободряющие теплые тона.7.2. Расчет освещенности рабочего места при разработке криптосистемы.Правильное освещение производственных помещений способствует повышению комфортности труда, сохранению здоровья, снижению вероятности несчастного случая.Расчет системы освещения сводится к выбору вида освещения, определению типа и числа светильников.Будем использовать метод расчета по световому потоку.Выбор параметров освещения рабочего места зависит от характера производимой работы. Объект различения определяется как наименьший размер предмета или его части, который необходимо различить.В зависимости от размеров объекта различения и расстояния предмета от глаз работающего, все работы делятся на восемь разрядов. Наша работа – высокой точности, что соответствует третьему разряду. Наименьший линейный размер объекта различения этого разряда – 0,3-0,5 мм.В помещении предусматривается организация искусственного освещения комбинированного типа, включающее местное и общее освещение.В качестве источников света используются люминесцентные лампы типа ЛБ (лампы белые), включенные в светильники АОД.Последние устанавливаются на высоте 3,5 м от пола.Лампы включаются в сеть с напряжением 220 В, их мощность 40 Вт.Нормируемая min освещенность:Еmin = (Fл∙n∙η∙z)/(S∙k) (1)Fл – световой поток 1-й лампы, лм.n – число ламп в помещении,η – коэффициент использования светового потока, т.е. доля светового потока всех ламп, попадающих на освещенную поверхность.Z – коэффициент неравномерности освещенияS = А ∙ В – площадь поля освещенного помещенияк – коэффициент запаса, учитывающий снижение освещенности в процессе эксплуатации.Для выбранного типа ламп:Fл = 2120 лм; S= 7 ∙ 5 = 35 мІ; η = 0,5; z = 0,9; k = 1,5Нормируемая Еmin для третьего разряда точности - 500 лк.Из формулы (1) определяем число ламп:n = (Еmin ∙ S ∙ k) / (z ∙ η ∙ Fл) =(500 ∙ 35 ∙ 1,5) / (0,9 ∙ 0,5 ∙ 2120) = 27,5 = 28Т. к. в каждом светильнике расположено по 2 лампы, всего необходимо 14 светильников.
12 8. Технико-экономическое обоснование Целью настоящего дипломного проекта является разработка такой системы, в которой используются достижения в области микроэлектронной техники. Использование микропроцессоров и интегральных микросхем позволяет обеспечить высокую надежность устройства с уменьшением его размера и стоимости, а также гораздо эффективнее использовать существующие алгоритмы при снижении энергопотребления аппаратуры. Создаваемые на основе стандарта DES устройства должны разрабатываться так, чтобы их можно было использовать в вычислительных системах или сетях для обеспечения криптографической защиты данных, передаваемых в виде двоичного кода. 8.1. Расчет технико-экономических показателей системы взаимодействия периферийных устройств. Т.к. этот дипломный проект имеет научно-исследовательский характер и задача заключается в построении опытного образца, разработке блок-схемы алгоритма, составлении и отладке программы, то в этом разделе достаточно рассчитать только себестоимость изделия. Расчет себестоимости установки.Одним из важнейших показателей экономичности проводимой разработки является себестоимость, величина которой отражает конструктивные и технологические параметры проектируемого изделия. В основе цены новой техники лежит полная себестоимость ее изготовления, которая складывается из следующих элементов затрат: прямые затраты (покупные изделия и полуфабрикаты, основные и вспомогательные материалы; основная заработная плата производственных рабочих); косвенные расходы (цеховые накладные расходы; общезаводские накладные расходы; внепроизводственные расходы). Полная себестоимость изделия исчисляется по формуле: C = [М + Пи + Зп (1 + α)] (1 + β), (8.1) где М – стоимость основных и вспомогательных материалов; Пи – стоимость покупных изделий и полуфабрикатов; Зп – основная заработная плата производственных рабочих; αн – коэффициент, учитывающий величину накладных расходов (цеховых и общезаводских); β – коэффициент, учитывающий величину внепроизводственных расходов. Для расчета себестоимости производства и цены изделия применяется метод укрупненной калькуляции изделия по исчисленной величине одного из элементов прямых производственных затрат и типовой структуре затрат на производство аналогичных изделий. В табл.8.1 рассчитана стоимость покупных изделий: Табл.8.1. Расчет стоимости покупных изделий.
Согласно [11, табл.6] устанавливается структура затрат, характерная для производства данного изделия: материалы М – 10 %; покупные изделия Пи – 45 %; заработная плата Зп – 45 %. Определим неизвестные нам элементы прямых затрат, исходя из стоимости покупных изделий – 1330.04 руб. и выбранной структуры затрат. Стоимость материалов составит: М = (Пи ∙ 10)/45 = (1330,04 ∙ 10)/45 = 295,56 руб. Сумма заработной платы составит: Зп = (Пи ∙ 45)/45 = (1330.04 ∙45)/45 = 1330.04 руб. Значение коэффициента αн в условиях мастерских научно-исследовательских отделов определим из [11, табл.8]: αн= 0,9. Значение коэффициента β берется в размере 1,5 %. Подставляя данные в формулу (8.1), получаем: С = [295.56 + 1330.04 + 1330.04 (1 + 0,9)] ∙ (1 + 0,015) = 4214.97 руб. Для определения оптовой цены изделия Ц0 к себестоимости изделия прибавляется плановая рентабельность в размере 10 % от себестоимости: Ц0 = С (1 + Р/100) = 4214.97 (1 + 10/100) = 4636.46 руб. Структуру себестоимости по статьям затрат представим в табл.8.2 и на круговой диаграмме рис.8.1. Табл.8.2. Структура себестоимости по статьям затрат.
Рис. 8. 1. Круговая диаграмма структуры себестоимости по статьям затрат 8.2. Оценка экономической эффективности системы взаимодействия периферийных устройств при обработке данных в формате DES. Расчет экономической эффективности произведем по формуле: Э=[(С1+EnK1)-(C2+EnK2)]Bn где, С1, С2- эксплуатационные расходы на единицу продукции по базовому и новому вариантам, [руб]; Еn- нормативный коэффициент эффективности капитальных вложений, равный 0,15; К1=11280руб. и К2=4214,97руб.- удельные капитальные вложения в производственные фонды по базовому и новому вариантам; Bn- годовой объем продукции [шт/год]. В качестве базового варианта возьмем изделие московской фирмы ''Максом'' из серии СКР, также реализующее шифрование информации в стандарте DES их стоимость 400$=11280 рублей за штуку, годовой объем продукции 1000 шт/год[18]. Так как базовая и новая установки практически не требуют обслуживания, потребляют минимальное количество электроэнергии, имеют высокую надежность (следовательно очень низкие расходы на материалы и запчасти), то их эксплуатационные расходы сведем к нулю. Тогда годовая экономическая эффективность равна: Э=En(K1-K2)Bn=0.15 (11280-4214.97) 1000=1 059 754.50 рублей.
5 Return to the FIPS Home Page FIPS PUB 46-2 Supersedes FIPS PUB 46-1 1988 January 22 Federal Information Processing Standards Publication 46-2 1993 December 30 Announcing the Standard for DATA ENCRYPTION STANDARD (DES) (The Foreword, Abstract, and Key Words can be found at the end of this document.) Federal Information Processing Standards Publications (FIPS PUBS) are issued by the National Bureau of Standards in accordance with section 111 (f) (2) of the Federal Property and Administrative Services Act of 1949, as amended, Public Law 89-306 (79 Stat 1127), Executive Order 11717 (38 FR 12315, dated May 11, 1973), and Part 6 of Title 15 Code of Federal Regulations. 1. Name of Standard. Data Encryption Standard (DES). 2. Category of Standard. Computer Security. 3. Explanation. The Data Encryption Standard (DES) specifies a FIPS approved cryptographic algorithm as required by FIPS 140-1. This publication provides a complete description of a mathematical algorithm for encrypting (enciphering) and decrypting (deciphering) binary coded information. Encrypting data converts it to an unintelligible form called cipher. Decrypting cipher converts the data back to its original form called plaintext. The algorithm described in this standard specifies both enciphering and deciphering operations which are based on a binary number called a key. A key consists of 64 binary digits ("O"s or "1"s) of which 56 bits are randomly generated and used directly by the algorithm. The other 8 bits, which are not used by the algorithm, are used for error detection. The 8 error detecting bits are set to make the parity of each 8-bit byte of the key odd, i.e., there is an odd number of "1"s in each 8-bit byte1. Authorized users of encrypted computer data must have the key that was used to encipher the data in order to decrypt it. The encryption algorithm specified in this standard is commonly known among those using the standard. The unique key chosen for use in a particular application makes the results of encrypting data using the algorithm unique. Selection of a different key causes the cipher that is produced for any given set of inputs to be different. The cryptographic security of the data depends on the security provided for the key used to encipher and decipher the data. Data can be recovered from cipher only by using exactly the same key used to encipher it. Unauthorized recipients of the cipher who know the algorithm but do not have the correct key cannot derive the original data algorithmically. However, anyone who does have the key and the algorithm can easily decipher the cipher and obtain the original data. A standard algorithm based on a secure key thus provides a basis for exchanging encrypted computer data by issuing the key used to encipher it to those authorized to have the data. Data that is considered sensitive by the responsible authority, data that has a high value, or data that represents a high value should be cryptographically protected if it is vulnerable to unauthorized disclosure or undetected modification during transmission or while in storage. A risk analysis should be performed under the direction of a responsible authority to determine potential threats. The costs of providing cryptographic protection using this standard as well as alternative methods of providing this protection and their respective costs should be projected. A responsible authority then should make a decision, based on these analyses, whether or not to use cryptographic protection and this standard. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 Sometimes keys are generated in an encrypted form. A random 64-bite number is generated and defined to be the cipher formed by the encryption of a key using a key encrypting key. In this case the parity bits of the encrypted key cannot be set until after the key is decrypted. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4. Approving Authority. Secretary of Commerce. 5. Maintenance Agency. U.S. Department of Commerce, National Institute of Standards and Technology, Computer Systems Laboratory. 6. Applicability. This standard may be used by Federal departments and agencies when the following conditions apply: An authorized official or manager responsible for data security or the security of any computer system decides that cryptographic protection is required; and 2. The data is not classified according to the National Security Act of 1947, as amended, or the Atomic Energy Act of 1954, as amended. Federal agencies or departments which use cryptographic devices for protecting data classified according to either of these acts can use those devices for protecting unclassified data in lieu of the standard. Other FIPS approved cryptographic algorithms may be used in addition to, or in lieu of, this standard when implemented in accordance with FIPS 140-1. In addition, this standard may be adopted and used by non-Federal Government organizations. Such use is encouraged when it provides the desired security for commercial and private organizations. 7. Applications. Data encryption (cryptography) is utilized in various applications and environments. The specific utilization of encryption and the implementation of the DES will be based on many factors particular to the computer system and its associated components. In general, cryptography is used to protect data while it is being communicated between two points or while it is stored in a medium vulnerable to physical theft. Communication security provides protection to data by enciphering it at the transmitting point and deciphering it at the receiving point. File security provides protection to data by enciphering it when it is recorded on a storage medium and deciphering it when it is read back from the storage medium. In the first case, the key must be available at the transmitter and receiver simultaneously during communication. In the second case, the key must be maintained and accessible for the duration of the storage period. FIPS 171 provides approved methods for managing the keys used by the algorithm specified in this standard. 8. Implementations. Cryptographic modules which implement this standard shall conform to the requirements of FIPS 140-1. The algorithm specified in this standard may be implemented in software, firmware, hardware, or any combination thereof. The specific implementation may depend on several factors such as the application, the environment, the technology used, etc. Implementations which may comply with this standard include electronic devices (e.g., VLSI chip packages), micro-processors using Read Only Memory (ROM), Programmable Read Only Memory (PROM), or Electronically Erasable Read Only Memory (EEROM), and mainframe computers using Random Access Memory (RAM). When the algorithm is implemented in software or firmware, the processor on which the algorithm runs must be specified as part of the validation process. Implementations of the algorithm which are tested and validated by NIST will be considered as complying with the standard. Note that FIPS 140-1 places additional requirements on cryptographic modules for Government use. Information about devices that have been validated and procedures for testing and validating equipment for conformance with this standard and FIPS 140-1 are available from the National Institute of Standards and Technology, Computer Systems Laboratory, Gaithersburg, MD 20899. 9. Export Control. Cryptographic devices and technical data regarding them are subject to Federal Government export controls as specified in Title 22, Code of Federal Regulations, Parts 120 through 128. Some exports of cryptographic modules implementing this standard and technical data regarding them must comply with these Federal regulations and be licensed by the U.S. Department of State. Other exports of cryptographic modules implementing this standard and technical data regarding them fall under the licensing authority of the Bureau of Export Administration of the U.S. Department of Commerce. The Department of Commerce is responsible for licensing cryptographic devices used for authentication, access control, proprietary software, automatic teller machines (ATMs), and certain devices used in other equipment and software. For advice concerning which agency has licensing authority for a particular cryptographic device, please contact the respective agencies. 10. Patents. Cryptographic devices implementing this standard may be covered by U.S. and foreign patents issued to the International Business Machines Corporation. However, IBM has granted nonexclusive, royalty-free licenses under the patents to make, use and sell apparatus which complies with the standard. The terms, conditions and scope of the licenses are set out in notices published in the May 13, 1975 and August 31, 1976 issues of the Official Gazette of the United States Patent and Trademark Office (934 O.G. 452 and 949 O.G. 1717). 11. Alternative Modes of Using the DES. FIPS PUB 81, DES Modes of Operation, describes four different modes for using the algorithm described in this standard. These four modes are called the Electronic Codebook (ECB) mode, the Cipher Block Chaining (CBC) mode, the Cipher Feedback (CFB) mode, and the Output Feedback (OFB) mode. ECB is a direct application of the DES algorithm to encrypt and decrypt data; CBC is an enhanced mode of ECB which chains together blocks of cipher text; CFB uses previously generated cipher text as input to the DES to generate pseudorandom outputs which are combined with the plaintext to produce cipher, thereby chaining together the resulting cipher; OFB is identical to CFB except that the previous output of the DES is used as input in OFB while the previous cipher is used as input in CFB. OFB does not chain the cipher. 12. Implementation of this standard. This standard became effective July 1977. It was reaffirmed in 1983, 1988, and 1993. It applies to all Federal agencies, contractors of Federal agencies, or other organizations that process information (using a computer or telecommunications system) on behalf of the Federal Government to accomplish a Federal function. Each Federal agency or department may issue internal directives for the use of this standard by their operating units based on their data security requirement determinations. FIPS 46-2 which revises the implementation of the Data Encryption Algorithm to include software, firmware, hardware, or any combination thereof, is effective June 30, 1994. This revised standard may be used in the interim period before the effective date. NIST provides technical assistance to Federal agencies in implementing data encryption through the issuance of guidelines and through individual reimbursable projects. The National Security Agency assists Federal departments and agencies in communications security for classified applications and in determining specific security requirements. Instructions and regulations for procuring data processing equipment utilizing this standard are included in the Federal Information Resources Management Regulation (FIRMR) Subpart 201-8.111-1. 13. Specifications. Federal Information Processing Standard (FIPS) 46-2, Data Encryption Standard (DES) (affixed). 14. Cross Index. a. Federal Information Resources Management Regulations (FIRMR) subpart 201.20.303, Standards, and subpart 201.39.1002, Federal Standards. b. FIPS PUB 31, Guidelines to ADP Physical Security and Risk Management. c. FIPS PUB 41, Computer Security Guidelines for Implementing the Privacy Act of 1974. d. FIPS PUB 65, Guideline for Automatic Data Processing Risk Analysis. e. FIPS PUB 73, Guidelines for Security of Computer Applications. f. FIPS PUB 74, Guidelines for Implementing and Using the NBS Data Encryption Standard. g. FIPS PUB 81, DES Modes of Operation. h. FIPS PUB 87, Guidelines for ADP Contingency Planning. i. FIPS PUB 112, Password Usage. j. FIPS PUB 113, Computer Data Authentication. k. FIPS PUB 140-1, Security Requirements for Cryptographic Modules. l. FIPS PUB 171, Key Management Using ANSI X9.17. m. Other FIPS and Federal Standards are applicable to the implementation and use of this standard. In particular, the Code for Information Interchange, Its Representations, Subsets, and Extensions (FIPS PUB 1-2) and other related data storage media or data communications standards should be used in conjunction with this standard. A list of currently approved FIPS may be obtained from the National Institute of Standards and Technology, Computer Systems Laboratory, Gaithersburg, MD 20899. 15. Qualifications. The cryptographic algorithm specified in this standard transforms a 64-bit binary value into a unique 64-bit binary value based on a 56-bit variable. If the complete 64-bit input is used (i.e., none of the input bits should be predetermined from block to block) and if the 56-bit variable is randomly chosen, no technique other than trying all possible keys using known input and output for the DES will guarantee finding the chosen key. As there are over 70,000,000,000,000,000 (seventy quadrillion) possible keys of 56 bits, the feasibility of deriving a particular key in this way is extremely unlikely in typical threat environments. Moreover, if the key is changed frequently, the risk of this event is greatly diminished. However, users should be aware that it is theoretically possible to derive the key in fewer trials (with a correspondingly lower probability of success depending on the number of keys tried) and should be cautioned to change the key as often as practical. Users must change the key and provide it a high level of protection in order to minimize the potential risks of its unauthorized computation or acquisition. The feasibility of computing the correct key may change with advances in technology. A more complete description of the strength of this algorithm against various threats is contained in FIPS PUB 74, Guidelines for Implementing and Using the NBS Data Encryption Standard. When correctly implemented and properly used, this standard will provide a high level of cryptographic protection to computer data. NIST, supported by the technical assistance of Government agencies responsible for communication security, has determined that the algorithm specified in this standard will provide a high level of protection for a time period beyond the normal life cycle of its associated equipment. The protection provided by this algorithm against potential new threats will be reviewed within 5 years to assess its adequacy (See Special Information Section). In addition, both the standard and possible threats reducing the security provided through the use of this standard will undergo continual review by NIST and other cognizant Federal organizations. The new technology available at that time will be evaluated to determine its impact on the standard. In addition, the awareness of any breakthrough in technology or any mathematical weakness of the algorithm will cause NIST to reevaluate this standard and provide necessary revisions. At the next review (1998), the algorithm specified in this standard will be over twenty years old. NIST will consider alternatives which offer a higher level of security. One of these alternatives may be proposed as a replacement standard at the 1998 review. 16. Comments. Comments and suggestions regarding this standard and its use are welcomed and should be addressed to the National Institute of Standards and Technology, Attn: Director, Computer Systems Laboratory, Gaithersburg, MD 20899. 17. Waiver Procedure. Under certain exceptional circumstances, the heads of Federal departments and agencies may approve waivers to Federal Information Processing Standards (FIPS). The head of such agency may redelegate such authority only to a senior official designated pursuant to section 3506(b) of Title 44, United States Code. Waiver shall be granted only when: a. Compliance with a standard would adversely affect the accomplishment of the mission of an operator of a Federal computer system; or b. Compliance with a standard would cause a major adverse financial impact on the operator which is not offset by Government-wide savings. Agency heads may act upon a written waiver request containing the information detailed above. Agency heads may also act without a written waiver request when they determine that conditions for meeting the standard cannot be met. Agency heads may approve waivers only by a written decision which explains the basis on which the agency head made the required finding(s). A copy of each decision, with procurement sensitive or classified portions clearly identified, shall be sent to: National Institute of Standards and Technology; ATTN: FIPS Waiver Decisions, Technology Building, Room B-154, Gaithersburg, MD 20899. In addition, notice of each waiver granted and each delegation of authority to approve waivers shall be sent promptly to the Committee on Government Operations of the House of Representatives and the Committee on Government Affairs of the Senate and shall be published promptly in the Federal Register. When the determination on a waiver applies to the procurement of equipment and/or services, a notice of the waiver determination must be published in the Commerce Business Daily as a part of the notice of solicitation for offers of an acquisition or, if the waiver determination is made after that notice is published, by amendment to such notice. A copy of the waiver, any supporting documents, the document approving the waiver and any accompanying documents, with such deletions as the agency is authorized and decides to make under 5 United States Code Section 552(b), shall be part of the procurement documentation and retained by the agency. 18. Special Information. In accordance with the Qualifications Section of this standard, reviews of this standard have been conducted every 5 years since its adoption in 1977. The standard was reaffirmed during each of those reviews. This revision to the text of the standard contains changes which allow software implementations of the algorithm and which permit the use of other FIPS approved cryptographic algorithms. 19. Where to Obtain Copies of the Standard. Copies of this publication are for sale by the National Technical Information Service, U.S. Department of Commerce, Springfield, VA 22161. When ordering, refer to Federal Information Processing Standards Publication 46-2 (FIPS PUB 46-2), and identify the title. When microfiche is desired, this should be specified. Prices are published by NTIS in current catalogs and other issuances. Payment may be made by check, money order, deposit account or charged to a credit card accepted by NTIS. FIPS PUB 44-2 Supersedes FIPS PUB 46-1 1988 January 22 Federal Information Processing Standards Publication 46-2 1993 December 30 Specifications for DATA ENCRYPTION STANDARD The Data Encryption Standard (DES) shall consist of the following Data Encryption Algorithm to be implemented in special purpose electronic devices. These devices shall be designed in such a way that they may be used in a computer system or network to provide cryptographic protection to binary coded data. The method of implementation will depend on the application and environment. The devices shall be implemented in such a way that they may be tested and validated as accurately performing the transformations specified in the following algorithm. DATA ENCRYPTION ALGORITHM Introduction The algorithm is designed to encipher and decipher blocks of data consisting of 64 bits under control of a 64-bit key.** Deciphering must be accomplished by using the same key as for enciphering, but with the schedule of addressing the key bits altered so that the deciphering process is the reverse of the enciphering process. A block to be enciphered is subjected to an initial permutation IP, then to a complex key-dependent computation and finally to a permutation which is the inverse of the initial permutation IP-1. The key-dependent computation can be simply defined in terms of a function f, called the cipher function, and a function KS, called the key schedule. A description of the computation is given first, along with details as to how the algorithm is used for encipherment. Next, the use of the algorithm for decipherment is described. Finally, a definition of the cipher function f is given in terms of primitive functions which are called the selection functions Si and the permutation function P. Si, P and KS of the algorithm are contained in the Appendix. The following notation is convenient: Given two blocks L and R of bits, LR denotes the block consisting of the bits of L followed by the bits of R. Since concatenation is associative, B1B2...B8, for example, denotes the block consisting of the bits of B1 followed by the bits of B2...followed by the bits of B8. ** Blocks are composed of bits numbered from left to right, i.e., the left most bit of a block is bit one. Figure 1. Enciphering computation. Enciphering A sketch of the enciphering computation is given in Figure 1. The 64 bits of the input block to be enciphered are first subjected to the following permutation, called the initial permutation IP: IP 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7 That is the permuted input has bit 58 of the input as its first bit, bit 50 as its second bit, and so on with bit 7 as its last bit. The permuted input block is then the input to a complex key-dependent computation described below. The output of that computation, called the preoutput, is then subjected to the following permutation which is the inverse of the initial permutation: IP-1 40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31 38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29 36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27 34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25 That is, the output of the algorithm has bit 40 of the preoutput block as its first bit, bit 8 as its second bit, and so on, until bit 25 of the preoutput block is the last bit of the output. The computation which uses the permuted input block as its input to produce the preoutput block consists, but for a final interchange of blocks, of 16 iterations of a calculation that is described below in terms of the cipher function f which operates on two blocks, one of 32 bits and one of 48 bits, and produces a block of 32 bits. Let the 64 bits of the input block to an iteration consist of a 32 bit block L followed by a 32 bit block R. Using the notation defined in the introduction, the input block is then LR. Let K be a block of 48 bits chosen from the 64-bit key. Then the output L'R' of an iteration with input LR is defined by: (1) L' = R R' = L(+)f(R,K) where (+) denotes bit-by-bit addition modulo 2. As remarked before, the input of the first iteration of the calculation is the permuted input block. If L'R' is the output of the 16th iteration then R'L' is the preoutput block. At each iteration a different block K of key bits is chosen from the 64-bit key designated by KEY. With more notation we can describe the iterations of the computation in more detail. Let KS be a function which takes an integer n in the range from 1 to 16 and a 64-bit block KEY as input and yields as output a 48-bit block Kn which is a permuted selection of bits from KEY. That is (2) Kn = KS(n,KEY) with Kn determined by the bits in 48 distinct bit positions of KEY. KS is called the key schedule because the block K used in the n'th iteration of (1) is the block Kn determined by (2). As before, let the permuted input block be LR. Finally, let L() and R() be respectively L and R and let Ln and Rn be respectively L' and R' of (1) when L and R are respectively Ln-1 and Rn-1 and K is Kn; that is, when n is in the range from 1 to 16, (3) Ln = Rn-1 Rnn = Ln-1(+)f(Rn-1,Kn) The preoutput block is then R16L16. The key schedule KS of the algorithm is described in detail in the Appendix. The key schedule produces the 16 Kn which are required for the algorithm. Deciphering The permutation IP-1 applied to the preoutput block is the inverse of the initial permutation IP applied to the input. Further, from (1) it follows that: (4) R = L' L = R' (+) f(L',K) Consequently, to decipher it is only necessary to apply the very same algorithm to an enciphered message block, taking care that at each iteration of the computation the same block of key bits K is used during decipherment as was used during the encipherment of the block. Using the notation of the previous section, this can be expressed by the equations: (5) Rn-1 = Ln Ln-1 = Rn (+) f(Ln,Kn) where now R16L16 is the permuted input block for the deciphering calculation and L() and R() is the preoutput block. That is, for the decipherment calculation with R16L16 as the permuted input, K16 is used in the first iteration, K15 in the second, and so on, with K1 used in the 16th iteration. The Cipher Function f A sketch of the calculation of f(R,K) is given in Figure 2. Figure 2. Calculation of f(R,K). Let E denote a function which takes a block of 32 bits as input and yields a block of 48 bits as output. Let E be such that the 48 bits of its output, written as 8 blocks of 6 bits each, are obtained by selecting the bits in its inputs in order according to the following table: E BIT-SELECTION TABLE 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1 Thus the first three bits of E(R) are the bits in positions 32, 1 and 2 of R while the last 2 bits of E(R) are the bits in positions 32 and 1. Each of the unique selection functions S1,S2,...,S8, takes a 6-bit block as input and yields a 4-bit block as output and is illustrated by using a table containing the recommended S1: S1 Column Number Row No. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 3 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13 If S1 is the function defined in this table and B is a block of 6 bits, then S1(B)is determined as follows: The first and last bits of B represent in base 2 a number in the range 0 to 3. Let that number be i. The middle 4 bits of B represent in base 2 a number in the range 0 to 15. Let that number be j. Look up in the table the number in the i'th row and j'th column. It is a number in the range 0 to 15 and is uniquely represented by a 4 bit block. That block is the output S1(B) of S1 for the input B. For example, for input 011011 the row is 01, that is row 1, and the column is determined by 1101, that is column 13. In row 1 column 13 appears 5 so that the output is 0101. Selection functions S1,S2,...,S8 of the algorithm appear in the Appendix. The permutation function P yields a 32-bit output from a 32-bit input by permuting the bits of the input block. Such a function is defined by the following table: P 16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25 The output P(L) for the function P defined by this table is obtained from the input L by taking the 16th bit of L as the first bit of P(L), the 7th bit as the second bit of P(L), and so on until the 25th bit of L is taken as the 32nd bit of P(L). The permutation function P of the algorithm is repeated in the Appendix. Now let S1,...,S8 be eight distinct selection functions, let P be the permutation function and let E be the function defined above. To define f(R,K) we first define B1,...,B8 to be blocks of 6 bits each for which (6) B1B2...B8 = K(+)E(R) The block f(R,K) is then defined to be (7) P(S1(B1)S2(B2)...S 8(B8)) Thus K(+)E(R) is first divided into the 8 blocks as indicated in (6). Then each Bi is taken as an input to Si and the 8 blocks (S1(B1)S2(B2)...S8(B8) of 4 bits each are consolidated into a single block of 32 bits which forms the input to P. The output (7) is then the output of the function f for the inputs R and K. APPENDIX PRIMITIVE FUNCTIONS FOR THE DATA ENCRYPTION ALGORITHM The choice of the primitive functions KS, S1,...,S8 and P is critical to the strength of an encipherment resulting from the algorithm. Specified below is the recommended set of functions, describing S1,...,S8 and P in the same way they are described in the algorithm. For the interpretation of the tables describing these functions, see the discussion in the body of the algorithm. The primitive functions S1,...,S8 are: S1 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 O 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 15 12 8 2 4 9 1 7 5 11 3 14 10 O 6 13 S2 15 1 8 14 6 11 3 4 9 7 2 13 12 O 5 10 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9 S3 10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8 13 7 O 9 3 4 6 10 2 8 5 14 12 11 15 1 13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7 1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12 S4 7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15 13 8 11 5 6 15 O 3 4 7 2 12 1 10 14 9 10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4 3 15 O 6 10 1 13 8 9 4 5 11 12 7 2 14 S5 2 12 4 1 7 10 11 6 8 5 3 15 13 O 14 9 14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6 4 2 1 11 10 13 7 8 15 9 12 5 6 3 O 14 11 8 12 7 1 14 2 13 6 15 O 9 10 4 5 3 S6 12 1 10 15 9 2 6 8 O 13 3 4 14 7 5 11 10 15 4 2 7 12 9 5 6 1 13 14 O 11 3 8 9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6 4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13 S7 4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1 13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6 1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2 6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12 S8 13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7 1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11 The primitive function P is: 16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25 Recall that Kn, for 1 algorithm. Hence, to describe KS, it is sufficient to describe the calculation of Kn from KEY for n = 1, 2,..., 16. That calculation is illustrated in Figure 3. To complete the definition of KS it is therefore sufficient to describe the two permuted choices, as well as the schedule of left shifts. One bit in each 8-bit byte of the KEY may be utilized for error detection in key generation, distribution and storage. Bits 8, 16,..., 64 are for use in assuring that each byte is of odd parity. Permuted choice 1 is determined by the following table: PC-1 57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 63 55 47 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 28 20 12 4 The table has been divided into two parts, with the first part determining how the bits of C() are chosen, and the second part determining how the bits of D() are chosen. The bits of KEY are numbered 1 through 64. The bits of C() are respectively bits 57, 49, 41,..., 44 and 36 of KEY, with the bits of D() being bits 63, 55, 47,..., 12 and 4 of KEY. With C() and D() defined, we now define how the blocks Cn and Dn are obtained from the blocks Cn-1 and Dn-1, respectively, for n = 1, 2,..., 16. That is accomplished by adhering to the following schedule of left shifts of the individual blocks: Figure 3. Key schedule calculation. Iteration Number of Number Left Shifts 1 1 2 1 3 2 4 2 5 2 6 2 7 2 8 2 9 1 10 2 11 2 12 2 13 2 14 2 15 2 16 1 For example, C3 and D3 are obtained from C2 and D2, respectively, by two left shifts, and C16 and D16 are obtained from C15 and D15, respectively, by one left shift. In all cases, by a single left shift is meant a rotation of the bits one place to the left, so that after one left shift the bits in the 28 positions are the bits that were previously in positions 2, 3,..., 28, 1. Permuted choice 2 is determined by the following table: PC-2 14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 Therefore, the first bit of Kn is the 14th bit of CnDn, the second bit the 17th, and so on with the 47th bit the 29th, and the 48th bit the 32nd. The Foreword, Abstract, and Key Words follow: FIPS PUB 46-2 FEDERAL INFORMATION PROCESSING STANDARDS PUBLICATION 1993 December 30 U.S. DEPARTMENT OF COMMERCE/National Institute of Standards and Technology DATA ENCRYPTION STANDARD (DES) U.S. DEPARTMENT OF COMMERCE, Ronald H. Brown, Secretary Technology Administration, Mary L. Good, Undersecretary for Technlogy National Institute of Standards and Technology, Arati Prabhakar, Director Foreword The Federal Information Processing Standards Publication Series of the National Bureau of Standards (NBS) is the official publication relating to standards, guidelines, and documents adopted and promulgated under the provisions of Public Law 89-306 (Brooks Act) and under Part 6 of Title 15, Code of Federal Regulations. These legislative and executive mandates have given the Secretary of Commerce important responsibilities for improving the utilization and management of computers and automatic data processing in the Federal Government. To carry out the Secretary's responsibilities, the NBS, through its Institute for Computer Sciences and Technology, provides leadership, technical guidance, and coordination of Government efforts in the development of standards, guide-lines and documents in these areas. Comments concerning Federal Information Processing Standards Publications are welcomed and should be addressed to the Director, Institute for Computer Sciences and Technology, National Bureau of Standards, Gaithersburg, MD 20899. James H. Burrows, Director Institute for Computer Sciences and Technology Abstract The selective application of technological and related procedual safeguards is an important responsibility of every Federal organization in providing adequate security to its electronic data systems. This publication specifies a cryptographic algorithm which may be used by Federal organizations to protect sensitive data. Protection of data during transmission or while in storage may be necessary to maintain the confidentiality and integrity of the information represented by the data. The algorithm uniquely defines the mathematical steps required to transform data into a cryptographic cipher and also to transform the cipher back to the original form. The Data Encryption Standard is being made available for use by Federal agencies within the context of a total security program consisting of physical security procedures, good information management practices, and computer system/network access controls. This revision supersedes FIPS 46-1 in its entirety. Key words: computer security; data encryption standard; encryption; Federal Information Processing Standard (FIPS); security. Go Back to the Top. Return to the FIPS Home Page
Приложение 1. Перечень элементов.
ДИПЛОМНЫЙ ПРОЕКТ на тему 'Система криптозащиты в стандарте DES. Система взаимодействия периферийных устройств'. Защищен на 5 23.02.2001г. в Московском техническом университете связи и информатики. Кафедра многоканальной электросвязи. Автор Рычков Александр Иванович mail:r_aleks@permonline.ru 81C51.EXE- УПАКОВАННЫЙ СИМУЛЯТОР(ЗАПУСТИТЬ LSE.EXE,ЗАГРУЗИТЬ *.ASM, НАЖАТЬ CTRL+F9, ВЫБРАТЬ ВЕРХНЮЮ СТРОКУ, ПОТОМ ВТОРУЮ И ЗАТЕМ SIM51, ЗДЕСЬ F1-ПУСК,F9-F10 ШАГ ВПЕРЕД-НАЗАД...)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|