Криптография - наука о защите информации от прочтения ее посторонними. Защита достигается шифрованием, т.е. преобразовани-
ем, которые которые делают защищенные входные данные труднораскрываемыми по входным данным без знания специальной ключевой информации - ключа. Под ключом понимается легко изменяемая часть криптосистемы, хранящаяся в тайне и определяющая, какое шифрующие преобразование из возможных выполняется в данном случае. Криптосистема - семейство выбираемых с помощью ключа обратимых преобразований, которые преобразуют защищаемый открытый текст в шифрограмму и обратно.
Желательно, чтобы методы шифрования обладали минимум двумя свойствами:
- законный получатель сможет выполнить обратное преобразование и расшифровать сообщение;
криптоаналитик противника, перехвативший сообщение, не сможет восстановить по нему исходное сообщение без таких затрат времени и средств, которые сделают эту работу работу нецелесообразной.
II.Наиболее известные криптосистемы.
1. Классификация криптосистемы.
По характеру использования ключа известные криптосистемы можно разделить на два типа: симметричные (одноключевые, с секретным ключом) и несимметричные (с открытым ключом).
В первом случае в шифраторе отправителя и дешифраторе получателя используется один и тот же ключ. Шифратор образует шифртекст, который является функцией открытого текста, конкретный вид функции шифрования определяется секретным ключом. Дешифратор получателя сообщения выполняет обратное преобразования аналогичным образом. Секретный ключ хранится в тайне и передается отправите-
лем сообщения получателя по каналу, исключающему перехват ключа
криптоаналитиком противника. Обычно предполагается правило Кирхгофа: стойкость шифра определяется только секретностью ключа, т.е. криптоаналитику известны все детали процесса шифрования и дешифрования, кроме секретного ключа.
Открытый текст обычно имеет произвольную длину если его размер велик и он не может быть обработан вычислительным устройством шифратора целиком, то он разбивается на блоки фиксированной длины, и каждый блок шифруется в отдельности, не зависимо от его положения во входной последовательности. Такие криптосистемы называются системами блочного шифрования.
На практике обычно используют два общих принципа шифрования: рассеивание и перемешивание. Рассеивание заключается в распространении влияния одного символа открытого текста на много символов шифртекста: это позволяет скрыть статистические свойства открытого текста. Развитием этого принципа является распространение влияния одного символа ключа на много символов шифрограммы, что позволяет исключить восстановление ключа по частям. Перемешивание состоит в использовании таких шифрующих преобразований, которые исключают восстановление взаимосвязи статистических свойств открытого и шифрованного текста. Распространенный способ достижения хорошего рассеивания состоит в использовании составного шифра, который может быть реализован в виде некоторой последовательности простых шифров, каждый из которых вносит небольшой вклад в значительное суммарное рассеивание и перемешивание. В качестве простых шифров чаще всего используют простые подстановки и перестановки.
Одним из наилучших примеров криптоалгоритма, разработанного в соответствии с принципами рассеивания и перемешивания, может служить принятый в 1977 году Национальным бюро стандартов США стандарт шифрования данных DES. Несмотря на интенсивные и тщательные исследования алгоритма специалистами, пока не найдено уязвимых мест алгоритма, на основе которых можно было бы предложить метод криптоанализа, существенно лучший, чем полный перебор ключей. Общее мнение таково: DES - исключительно хороший шифр. В июле 1991 года введен в действие подобный отечественный криптоал-
горитм ГОСТ 28147-89.
В то же время блочные шифры обладают существенным недостатком - они размножают ошибки, возникающие в процессе передачи сообщения по каналу связи. Одиночная ошибка в шифртексте вызывает искажение примерно половины открытого текста при дешифровании. Это требует применения мощных кодов, исправляющих ошибки.
В блочном шифре из двух одинаковых блоков открытого текста получаются одинаковые блоки шифрованного текста. Избежать этого позволяют потоковые шифры, которые, в отличие от блочных, осуществляют поэлементное шифрование потока данных без задержки в криптосистемы. В общем случае каждый символ открытого текста шифруется, передается и дешифруется независимо от других символов. Иначе, шифруюшее преобразование элемента открытого текста меняется от одного элемента к другому, в то время как для блочных шифров шифрующее преобразование каждого блока остается неизменным. Иногда символ открытого текста может шифроваться с учетом ограниченного числа предшествующих ему символов.
Потоковые шифры основываются на псевдослучайных ключевых последовательностях - сгенерированных определенным образом последовательностях символов с заданными свойствами непредсказуемости (случайности) появления очередного символа. Генераторы ключевых последовательностей обычно базируются на комбинациях регистров сдвига и нелинейных булевых функциях. В качестве нелинейной булевой функции может использоваться криптоалгоритм DES, что соответствует применению DES в режиме обратной связи по выходу (OFB) лил обратной связи по шифртексту (CFB). Наибольший интерес представляет режим CFB , поскольку в ряде случаев режим OFB не обеспечивает требуемой секретности.
Системы потокового шифрования близки к криптосистемам с одноразовым ключом, в которых размер ключа равен размеру шифруемого текста. При криптоанализе на основе известного открытого текста стойкость системы определяется нелинейными булевыми функциями, что позволяет оценить криптостойкость системы на основе анализа вида используемых функций. Следовательно, потоковые шифры в отличие от других криптосистем обладают значительно большой анализи-
руемой секретностью. Кроме того, в системах потокового шифрования
не происходит размножения ошибок или оно ограничено. По этим причинам, а также ввиду высокой скорости обработки системы потокового шифрования вызывают большое доверие многих потребителей и специалистов.
В криптосистемах с открытым ключом в алгоритмах шифрования и дешифрования используются разные ключи, каждый из которых не может быть получен из другого (с приемлемыми затратами). Один ключ используется для шифрования, другой - для дешифрования. Основной принцип систем с открытым ключом основывается на применении односторонних или необратимых функций и односторонних функций с лазейкой (потайным ходом).
Вычисление ключей осуществляется получателем сообщений, который оставляет у себя тот ключ, который он будет потом использовать (то есть секретный ключ). Другой ключ он высылает отправителю сообщений - открытый ключ - не опасаясь его огласки.
Пользуясь этим открытым ключом, любой абонент может зашифровать текст и послать его получателю, который сгенерировал данный открытый ключ. Все используемые алгоритмы общедоступны. Важно то, что функции шифрования и дешифрования обратимы лишь тогда, когда они обеспечиваются строго взаимосвязанной парой ключей (открытого и секретного), а открытый ключ должен представлять собой необратимую функцию от секретного ключа. Подобным образом шифртекст должен представлять собой необратимую функцию открытого текста, что в корне отличается от шифрования в системах с секретным ключом.
Исследование необратимых функций проводилось в основном по следующим направлениям: дискретное возведение в степень - алгоритм DH (Диффи-Хелман), умножение простых чисел - алгоритм RSA
(Райвест, Шамир, Адлеман), использование исправляющих ошибки кодов Гоппы, задачи NP-полноты, в частности криптоалгоритм Меркля и Хелмана на основе "задачи об укладке ранца", раскрытый Шамиром, и ряд других, оказавшихся легкораскрываемыми и бесперспективными.
Первая система (DH) обеспечивает открытое распространение ключей, то есть позволяет отказаться от передачи секретных клю-
чей, и по сегодняшний день считается одной из самых стойких и
удобных систем с открытым ключом. Надежность второго метода (RSA)
находится в прямой зависимости от сложности разложения больших
чисел на множители. Если множители имеют длину порядка 100 десятичных цифр, то в наилучшем из известных способов разложения на множители необходимо порядка 100 млн. лет машинного времени, шифрование же и дешифрование требует порядка 1-2 с на блок. Задачи NP-полноты хорошо известны в комбинаторике и считаются в общем случае чрезвычайно сложными; однако построить соответствующий шифр оказывается весьма непросто.
В системах с открытым ключом, так же как и в блочных шифрах, необходим большой размер шифруемого блока, хотя, возможно, и не больший, чем в алгоритме DES, что препятствует, наряду с низкой скоростью шифрования, использованию алгоритмов с открытым ключом в потоковых шифрах. На сегодняшний день высокоэффективные системы с открытым ключом пока не найдены. Почти повсеместно принято ограничение использования криптосистем с открытым ключом - только для управления ключами и для цифровой подписи.
Можно представить все существующие крирптосистемы в виде диаграммы криптосистем.
2. ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ
2.1 DES-стандарт США на шифрование данных. Криптография известна с древнейших времен (достаточно вспомнить коды Цезаря) и до недавнего времени оставалась привилегией исключительно государственных и военных учреждений. Ситуация резко изменилась после публикации в 1949 году книги К.Шеннона "Работы по теории информации и кибернетике". Криптография стала объектом пристального внимания многих ученых. Принятие стандарта шифрования DES явилось мощным толчком к широкому применению шифрова-
ния в коммерческих системах. Введение этого стандарта - отличный
пример унификации и стандартизации средств защиты. Примером системного подхода к созданию единой крупномасштабной системы защиты информации является директива Министерства финансов США 1984 года, согласно которой все общественные и частные организации, ведущие дела с правительством США, обязаны внедрить процедуру шифрования DES; крупнейшие банки Citibank,Chase Manhattan Bank, Manufaktures Hannover Trust, Bank of America, Security Pacific Bank также внедрили эту систему.
Министерство энергетики США располагает более чем 30 действующими сетями, в которых используется алгоритм DES, Министерство юстиции устанавливает 20000 радиоустройств, располагающих средствами защиты на базе DES. Стандартизация в последнее время приобретает международный характер, подтверждение тому - международный стандарт 1987 года ISO 8372, разработанный на основе криптоалгоритма DES.
В качестве стандартной аппаратуры шифрования можно назвать устройство Cidex-НХ, базирующееся на алгоритме DES; скорость шифрования - от 56 Кбит/с до 7 Мбит/с. Серийно выпускается автономный шифровальный блок DES 2000, в нем также используется процедура шифрования DES; скорость шифрования - от 38,4 Кбит/с до 110 Кбит/с. В различных секторах коммерческой деятельности используется процессор шифрования/дешифрования данных FACOM 2151А на основе алгоритма DES; скорость - от 2,4 Кбит/с до 19,2 Кбит/с. С распространением персональных компьютеров наиболее эффективными для них стали программные средства защиты. Так, разработан пакет программ для шифрования/дешифрования информации СТА (Computer Intelligence Access), реализующий алгоритм DES. Этот же алгоритм использован в пакете SecretDisk (C F Systems) для исключения несанкционированного доступа к дискам.
Таким образом, алгоритм DES представляет собой основной механизм, применявшийся частными и государственными учреждениями США для защиты информации. В то же время Агенство национальной безопасности, выступающее как эксперт по криптографическим алгоритмам, разрабатывает новые алгоритмы шифрования данных для мас-
сового использования. В 1987 году Национальное бюро стандартов
после обсуждения подтвердило действие DES; его пересмотр намечалось провести не позднее января 1992 года, и на сегодняшний день действие DES ограничивается исключительно коммерческими системами.
2.2 RSA-система с открытым ключом.
Криптографические системы с открытым ключом позволят создать в 90-х годах новую защищенную систему телефонной связи с числом абонентов до 3 миллионов. Компании АТ&Т, Motorola, RCA производят аппараты, допускающие совместную работу; компания GTE разрабатывает систему управления ключами. Поставки первых 75000 телефонов начались в 1987 году. Разработана специализированная интегральная схема IDS-P2 (МВ8763), реализующая алгоритм DH и вычисляющая секретный ключ за 0,9 с. Программная реализация алгоритма RSA осуществлена компанией RSA Data Security, аппаратная реализация того же алгоритма и специализированная интегральная схема выполнены фирмой Sandia. Фирма Cylink выпустила специализированную интегральную схему CY1024, реализующую алгоритм RSA и обеспечивающую скорость шифрования 1000 бит/с.
2.3 Системы потокового шифрования.
При шифрования высокоскоростных магистральных линий, как правило, используют системы потокового шифрования. Устройство SEC-17 обеспечивает скорость шифрования от 256 Кбит/с до 2304 Кбит/с, его ключ состоит из 72 шестнадцатиричных цифр; устройство SEC-15 позволяет иметь более 1034 статистически независимых ключей. Принципы потокового шифрования используются в устройствах fggfhfnehs ibahjdfybz MSDS MARCRYP. В устройстве потокового шифрования CSD 807 в генераторе ключевой последовательности применен 31-разрядный регистр сдвига, в генераторе устройства потокового шифрования SDE 100 используются 2 регистра сдвига.
2.4 ГОСТ 28147-89 - отечественный стандарт шифрования данных.
В нашей стране установлен единый алгоритм криптографического преобразования данных для систем обработки информации в сетях ЭВМ, отделительных комплексах и ЭВМ, который определяется ГОСТ 28147-89.
криптографического преобразования данных предназначен для аппаратной или программной реализации, удовлетворяет криптографическим требованиям и не накладывает ограничений на степень секретности защищаемой информации.
Чтобы получить подробные спецификации алгоритма криптографического преобразования, следует обратиться к ГОСТ 28147-89. Безусловно, приведенный ниже материал не должен ни при каких условиях использоваться для программной или аппаратной реализации алгоритма криптографического преобразования.
При описании алгоритма используются следующие обозначения.
Если L и R - это последовательности бит, то LR будет обозначать конкатенацию последовательностей L и R. Под конкатенацией последовательностей L и R понимается последовательность бит, размерность которой равна сумме размерностей L и R. В этой последовательности биты последовательности R следуют за битами последовательности L. Конкатенация битовых строк является ассоциативной, т.е. запись ABCDE обозначает, что за битами последовательности А следуют биты последовательности В, затем С и т.д.
Символом (+) будет обозначаться операция побитового сложения по модулю 2, символом [+] - операция сложения по модулю ( 2 в 32 степени) двух 32-разрядных чисел. Числа суммируются по следующему правилу:
A [+] B = A + B ,если A + B (2 в 32 степени),
A [+] B = A + B -( 2 в 32 степени),если A + B =2 в 32
Символом + обозначается операция сложения по модулю
((2 в 32) -1) двух 32 разрядных чисел. Правила суммирования чисел
следующие:
A + B = A + B,если A+B((2 в 32)-1)
A + B = A + B-((2 в 32)-1),если A + B = (2 в 32)-1
Алгоритм криптографического преобразования предусматривает несколько режимов работы. Но в любом случае для шифрования данных используется ключ, который имеет размерность 256 бит и представляется в виде восьми 32-разрядных чисел Х(i). Если обозначить ключ через W, то
W =X(7)X(6)X(5)X(4)X(3)X(2)X(1)X(0) Расшифрование выполняется по тому же ключу, что и зашифрова-
ние, но этот процесс является инверсией процесса зашифрования
данных.
Первый и самый простой режим - замена. Открытые данные, подлежащие зашифрованию, разбивают на блоки по 64 бит в каждом, которые можно обозначить Т(j).
Очередная последовательность бит Т(j) разделяется на две последовательности В(О) (левые или старшие биты) и А(О) (правые или младшие биты), каждая из которых содержит 32 бита. Затем выполняется итеративный процесс шифрования, который описывается следующими формулами:
1. A(i)=f(A(i-1) [+] X(j) (+) B(i-1)), и B(i)=A(i-1),
если i=1,2,...,24,j=(i-1) mod 8;
2. A(i)=f(A(i-1) [+] X(j) (+) B(i-1)), и B(i)=A(i-1),
если i=25,26,...,31,j=32-i;
3. A(32)=A(31),
и B(32)=f(A(31) [+] X(0)) (+) B(31),
если i=32.
Здесь i обозначается номер итерации (i=1,2,...,32). Функция f называется функцией шифрования. Ее аргументом является сумма по модулю 2 в 32 числа А(i), полученного на предыдущем шаге итерации,
и числа Х(j) ключа (размерность каждого из этих чисел равна 32
знакам).
Функция шифрования включает две операции над полученной 32-разрядной суммой. Первая операция называется подстановкой К. Блок подстановки К состоит из восьми узлов замены К(1) ... К(8) с памятью 64 бит каждый. Поступающий на блок подстановки 32-разрядный вектор разбивается на восемь последовательно идущих 4-разрядный вектор соответствующим узлом замены, представляющим собой таблицу из шестнадцати целых чисел в диапазоне 0....15.
Входной вектор определяет адрес строки в таблице, число из которой является выходным вектором. Затем 4-разрядные выходные векторы последовательно объединяются в 32-разрядный вектор. Таблицы блока подстановки К содержит ключевые элементы, общие для сети ЭВМ и редко изменяемые.
Вторая операция - циклический сдвиг влево 32-разрядного вектора, полученного в результате подстановки К. 64-разрядный блок зашифрованных данных Тш представляется в виде
Тш = А(32) В(32)
Остальные блоки открытых данных в режиме простой замены зашифровываются аналогично.
Следует иметь в виду, что режим простой замены допустимо использовать для шифрования данных только в ограниченных случаях. К этим случаям относится выработка ключа и зашифрование его с обеспечением имитозащиты для передачи по каналам связи или хранения в памяти ЭВМ.
Следующий режим шифрования называется режимом гаммирования. Открытые данные, разбитые на 64-разрядные блоки Т(i) (i=1,2,...,m, где m определяется объемом шифруемых данных), зашифровываются в режиме гаммирования путем поразрядного сложения по модулю 2 с гаммой шифра Гш, которая вырабатывается блоками по 64 бит, т.е.
Гш = ( Г(1),Г(2), ...,Г(i), ...,Г(m) ).
Число двоичных разрядов в блоке Т(m) может быть меньше 64, при этом неиспользованная для шифрования часть гаммы шифра из блока Г(m) отбрасывается.
Уравнение зашифрования данных в режиме гаммирования может быть представлено в следующем виде:
Ш(i)=A(Y(i-1) [+] C2),
Z(i-1) + C1 (+) T(i)=Г(i) (+) T(i).
В этом уравнении Ш(i) обозначает 64-разрядный блок зашифрованного текста, А - функцию шифрования в режиме простой замены (аргументами этой функции являются два 32-разрядного числа), С1 и С2 - константы, заданные в ГОСТ 28147-89. Величины Y(i) и Z(i) определяются итерационно по мере формирования гаммы, следующим образом:
(Y(0),Z(0))=A(S),
где S - 64-разрядная двоичная последовательность (синхропосылка);
(Y(i),Z(i))=(Y(i-1) [+] C2,Z(i-1) + C1),
для i=1,2,..,m
Расшифрование данных возможно только при наличии синхропосылки, которая не является секретным элементом шифра и может храниться в памяти ЭВМ или передаваться по каналам связи вместе с зашифрованными данными.
Режим гаммирования с обратной связью очень похож на режим гаммирования. Как и в режиме гаммирования, открытые данные, разбитые на 64-разрядные блоки Т(i) (i=1,2,....,m, где m определяет-
ся объемом шифруемых данных), зашифровывается путем поразрядного
сложения по модулю 2 с гаммой шифра Гш, которая вырабатывается
блоками по 64 бит:
Гш=(Г(1),Г(2),...,Г(i),...,Г(m)).
Число двоичных разрядов в блоке Т(m) может быть меньше 64, при этом неиспользованная для шифрования часть гаммы шифра из блока Г(m) отбрасывается.
Уравнение зашифрования данных в режиме гаммирования с обратной связью может быть представлено в следующем виде:
Ш(1) = A(S) (+) T(1) = Г(1) (+) T(1),
Ш(i) = A(Ш(i-1)) (+) T(i) = Г(i) (+) T(i), для i=2,3,...,m
Здесь Ш(i) обозначает 64-разрядный блок зашифрованного текста, А - функцию шифрования в режиме простой замены. Аргументом функции на первом шаге итеративного алгоритма является 64-разрядный синхропосылка, а на всех последующих - предыдущий блок зашифрованых данных Ш(i-1).
В ГОСТ 28147-89 определяется процесс выработки имитовставки, который единообразен для любого из режимов шифрования данных. Имитовставка - это блок из p бит ( имитовставка Иp), который вырабатывается любо перед шифрованием всего сообщения, либо параллельно с шифрованием по блокам. Первые блоки открытых данных, которые участвуют в выработке имитовставки, могут содержать служебную информацию (например, адресную часть, время, синхропосылку) и не зашифровываться. Значение параметра p (число двоичных разрядов в имитовставке) определяется криптографическими требованиями с учетом того, что вероятность навязывания ложных помех равна 1/2р
Для получения имитовставки открытые данные представляются в виде 64-разрядных блоков Т(i) (i=1,2,..., m где m определяется объемом шифруемых данных). Первый блок открытых данных Т(1) подвергается преобразованию, соответствующему первым 16 циклам алгоритма зашифрования в режиме простой замены. Причем в качестве ключа для выработки имитовставки используется ключ, по которому шифруются данные.
Полученное6 после 16 циклов работы 64-пазрядное число суммируется по модулю 2 со вторым блоком открытых данных Т(2). Результат суммирования снова подвергается преобразованию, соответствующему первым 16 циклам алгоритма зашифрования в режиме простой замены.
олученное 64-разрядное число суммируется по модулю 2 с третьим блоком открытых данных Т(3) и т.д. Последний блок Т(m), при необходимости дополненный до полного 64-разрядного блока нулями, суммируется по модулю 2 с результатом работы на шаге m-1, после чего зашифровывается в режиме простой замены по первым 16 циклам работы алгоритма. Из полученного 64-разрядного числа выбирается отрезок Ир длиной р бит. Имитовставка Ир передается по каналу связи или в память ЭВМ после зашифрованных данных. Поступившие зашифрованные данные расшифровываются и из полученных блоков открытых данных Т(i) вырабатывается имитовставка Ир, которая затем сравнивается с имитовставкой Ир, полученной из канала связи или из памяти ЭВМ. В случае несовпадения имитовставок все расшифрованные данные считаются ложными.
III.Сравнение криптографических методов.
Метод шифрования с использованием датчика псевдо-случайных чисел наиболее часто используется в программной реализации системы криптографической защиты данных.Это объясняется тем,что, он достаточно прост для программирования и позволяет создавать алгоритмы с очень высокой криптостойкостью.Кроме того,эффективность данного метода шифрования достаточно высока.Системы, основанные на этом методе позволяют зашиифровать в секунду от нескольких десятков до сотен Кбайт данных.
Основным преимуществом метода DES является то,что он - стандартный.Важной характеристикой этого алгоритма является его гибкость при реализации и использовании в различных прило-
жениях обработки данных.Каждый блок данных шифруется независимо
от других,поэтому можно осуществлять независимую передачу блоков данных и произвольный доступ к зашифрованным данным.Ни временная,ни позиционная синхронизация для операций шифрования не нужна.
Алгоритм вырабатывает зашифрованные данные,в которых каждый бит является функцией от всех битов открытых данных и всех битов ключей.Различие лишь в одном бите данных даёт в результате равные вероятности изменения для каждого бита зашифрованных данных.
DES может быть реаализован аппаратно и программно,но базовый алгоритм всё же рассчитан на реализацию в электронных устройствах специального назначения.
Это свойство DES выгодно отличает его от метода шифрования с использованием датчика ПСЧ,поскольку большинство алгоритмов шифрования построенных на основе датчиков ПСЧ,не характеризуются всеми преимуществами DES.Однако и DES обладает рядом недостатков.
Самым существенным недостатком DES считается малый размер ключа.Стандарт в настоящее время не считается неуязвимым,хотя и очень труден для раскрытия (до сих пор не были зарегистрированы случаи несанкционированной дешифрации.Ещё один недостаток DES заключается в том,что одинаковые данные будут одинаково выглядеть в зашифрованном тексте.
Алгоритм криптографического преобразования,являющийся
отечественным стандартом и определяемый ГОСТ 28147-89,свободен
от недостатков стандартаа DES и в то же время облаадает всеми
его преимуществами.Кроме того в него заложен метод,с помощью
которого можно зафиксировать необнаруженную случайную или
умышленную модификацию зашифрованной информации.
Однако у алгоритма есть очень существенный недостаток,который заключается в том,что его программная реализация очень сложна и практически лишена всякого смысла.
Теперь остановимся на методе RSA.Он является очень перспективным,поскольку для зашифрования информации не требу-
ется передачи ключа другим пользователям.Но в настоящее время
кэтому методу относятся с подозрительностью,поскольку не сущесствует строго доказательства,что не существует другого способа определения секретного ключа по известному,кроме как определения делителей целых чисел.
В остальном метод RSA обладает только достоинствами.К числу этих достоинств следует отнести очень высокую криптостойкость,довольно простую программную и аппаратную реализации.Следует заметить,что использование этого метода для криптографической защиты данных неразрывно связано с очень высоким уровнем развития вычислительной техники.
Cписок литературы :
1. С. Мафтик, "Механизмы защиты в сетях ЭВМ", изд. Мир, 1993 г.
2. В. Ковалевский, "Криптографические методы", Компьютер Пресс 05.93 г.
3. В. Водолазкий, "Стандарт шифрования ДЕС", Монитор 03-04 1992 г.
4. С. Воробьев, "Защита информации в персональных ЗВМ", изд. Мир, 1993 г.