Проблема аутентификации данных и блочные шифры

Задача аутентификации данных. Подходы к контролю неизменности данных. Выработка кода аутентификации сообщений и обнаружения манипуляций. Цифровая подпись на основе традиционных блочных шифров. Модификация схемы Диффи-Хеллмана для подписи битовых групп.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 16.01.2018
Размер файла 272,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

s=SnT(T)=(s0,s1)=(RT(K0), R2nT-1-T(K1)),

s'=SnT(T')=(s'0,s'1)=(RT'(K0), R2nT-1-T'(K1)),

RT(K0)=RT'(K0) & R2nT-1-T(K1)=R2nT-1-T'(K1).

Положим для определенности TT', тогда справедливо следующее:

RT'-T(K0*)=K0*,RT'-T(K1*)=K1*,где K0*=RT(K0), K1*=R2nT-1-T'(K1)

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

Таким образом рассмотренная модификация схемы Диффи-Хеллмана делает возможным подпись не одного бита, а целой битовой группы. Это позволяет в несколько раз уменьшить размер подписи и ключей подписи/проверки данной схемы. Однако надо понимать, что увеличение размера подписываемых битовых групп приводит к экспоненциальному росту объема необходимых вычислений и начиная с некоторого значения делает работу схемы недопустимо неэффективной. Граница «разумного размера» подписываемой группы находится где-то рядом с восемью битами, и блоки большего размера все равно необходимо подписывать «по частям».

Теперь найдем размеры ключей и подписи, а также объем необходимых для реализации схемы вычислений. Пусть размер хэш-блока и блока используемого шифра одинаковы и равны n, а размер подписываемых битовых групп равен nT. Предположим также, что если последняя группа содержит меньшее число битов, обрабатывается она все равно как полная nT-битовая группа. Тогда размеры ключей подписи/проверки и самой подписи совпадают и равны следующей величине:

где x обозначает округление числа x до ближайшего целого в сторону возрастания. Число операций шифрования EK(X), требуемое для реализации процедур схемы, определяются нижеследующими соотношениями:

при выработке ключевой информации оно равно:

,

при подписи и проверке подписи оно вдвое меньше:

.

В следующей ниже таблице 2 приведены рассчитанные значения размеров ключей и подписи, и числа требуемых операций шифрования в зависимости от размера подписываемых битовых групп при условии использования блочного криптоалгоритма с размером блока n=64 бита:

Таблица 2. Числовые показатели схемы подписи в зависимости от размера битовых групп

nT

Число бит.

Размер подписи и ключей, байт

Число операций шифрования

групп

|KS|=|KC|=|s|

WK

WS=WC

64

1024

128

64

32

512

192

96

22

352

308

154

16

256

480

240

13

208

806

403

11

176

1386

693

10

160

2540

1270

8

128

4080

2040

8

128

8176

4088

7

112

14322

7161

6

96

24564

12282

6

96

49140

24570

5

80

81910

40955

5

80

163830

81915

5

80

327670

163835

4

64

524280

262140

Размер ключа подписи и проверки подписи можно дополнительно уменьшить следующими приемами:

Нет необходимости хранить ключи подписи отдельных битовых групп, их можно динамически вырабатывать в нужный момент времени с помощью генератора криптостойкой гаммы. Ключом подписи в этом случае будет являться обычный ключ использованного в схеме подписи блочного шифра. Для ГОСТа 28147-89 этот размер равен 256 битам, поэтому если схема подписи будет построена на ГОСТе, размер ключа подписи будет равен тем же 256 битам.

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

Таким образом, проблема размера ключей и подписи полностью решена, однако, главный недостаток схемы - одноразовость ключей - не преодолен, поскольку это невозможно в рамках подхода Диффи-Хеллмана. Для практического использования такой схемы, рассчитанной на подпись N сообщений, отправителю необходимо хранить N ключей подписи, а получателю - N ключей проверки, что достаточно неудобно. Однако эта проблема может быть решена в точности так же, как была решена проблема ключей для множественных битовых групп - генерацией ключей подписи для всех N сообщений из одного мастер-ключа и свертывание всех проверочных комбинаций в одну контрольную комбинацию с помощью алгоритма выработки хэш-кода. Такой подход решил бы проблему размера хранимых ключей, однако привел бы к необходимости вместе подписью каждого сообщения высылать недостающие N-1 проверочных комбинаций, необходимых для вычисления хэш-кода от массива всех контрольных комбинаций отдельных сообщений. Ясно, что такой вариант не обладает преимуществами по сравнению с исходным. Однако в [7] был предложен механизм, позволяющий значительно снизить остроту проблемы. Его основная идея - вычислять контрольную комбинацию (ключ проверки подписи) не как хэш от линейного массива проверочных комбинаций всех сообщений, а попарно - с помощью бинарного дерева. На каждом уровне проверочная комбинация вычисляется как хэш от двух проверочных комбинаций младшего уровня. Чем выше уровень комбинации, тем больше отдельных ключей проверки в ней «учтено». Предположим, что наша схема рассчитана на 2L сообщений. Обозначим через Ci(l) i-тую комбинацию l-того уровня. Если нумерацию комбинаций и уровней начинать с нуля, то справедливо следующее условие: 0i<2L-l, а i-тая проверочная комбинация l-того уровня рассчитана на 2l сообщений с номерами от i2l до (i+1)2l-1 включительно. Число комбинаций нижнего, нулевого уровня равно 2L, а самого верхнего, L-того уровня - одна, она и является контрольной комбинацией всех 2L сообщений, на которые рассчитана схема. На каждом уровне, начиная с первого, проверочные комбинации рассчитываются по следующей формуле:

Ci(l+1)=H(C2(il)||C2(il)+1),

где через A||B обозначен результат конкатенации двух блоков данных - A и B, а через H(X) - процедура вычисления хэш-кода блока данных X.

При использовании указанного подхода вместе с подписью сообщения необходимо передать не N-1, как в исходном варианте, а только log2N контрольных комбинаций. Передаваться должны комбинации, соответствующие смежным ветвям дерева на пути от конечной вершины, соответствующей номеру использованной подписи, к корню.

Рис. 3. Схема попарного хеширования проверочных комбинаций при выработке общего ключа проверки подписи

Схема попарного хеширования проверочных комбинаций при выработке общего ключа проверки подписи на восемь сообщений приведена на рисунке 3. Так, в схеме на 8 сообщений при передаче сообщения №5 (контрольная комбинация выделена рамкой) вместе с его подписью должны быть переданы контрольная комбинация сообщения №4 (C4(0)), общая для сообщений №№6-7 (C3(1)) и общая для сообщений №№0-3 (C0(2)), все они выделены на рисунке другим фоном. При проверке подписи значение C5(0) будет вычислено из сообщения и его подписи, а итоговая контрольная комбинация, подлежащая сравнению с эталонной, по следующей формуле:

C=C0(3)=H(C0(2)||H(H(C4(0)||C5(0))||C3(1)))

Номера контрольных комбинаций каждого уровня, которые должны быть переданы вместе с подписью сообщения с номером i (0i<2L), вычисляются по следующей формуле: C (il/)2l1, l=0,...,L-1, где x1 означает число, получающееся в результате инвертирования младшего бита в числе x.

Необходимость отправлять вместе с подписью сообщения дополнительную информацию, нужную для проверки подписи, на самом деле не очень обременительна. Действительно, в системе на 1024=210 подписей вместе с сообщением и его подписью необходимо дополнительно передавать 10 контрольных комбинаций, а в системе на 1048576=220 подписей - всего 20 комбинаций. Однако при большом числе подписей, на которые рассчитана система, возникает другая проблема - хранение дополнительных комбинаций, если они рассчитаны предварительно, или их выработка в момент формирования подписи.

Дополнительные контрольные комбинации, которые передаются вместе с подписью и используются при ее проверке, вырабатываются при формировании ключа проверки по ключу подписи и могут храниться в системе и использоваться в момент формирования подписи, либо вычисляться заново в этот момент. Первый подход предполагает затраты дисковой памяти, так как необходимо хранить 2L+1-2 хэш-комбинаций всех уровней, а второй требует большого объема вычислений в момент формирования подписи. Можно использовать и компромиссный подход - хранить все хэш-комбинации начиная с некоторого уровня l*, а комбинации меньшего уровня вычислять при формировании подписи. В рассмотренной выше схеме подписи на 8 сообщений можно хранить все 14 контрольных комбинаций, используемых при проверки (всего их 15, но самая верхняя не используется), тогда при проверке подписи их не надо будет вычислять заново. Можно хранить 6 комбинаций начиная с уровня 1 (C0(1), C1(1), C2(1), C3(1), C0(2), C1(2)), тогда при проверке подписи сообщения №5 необходимо будет заново вычислить комбинацию C4(0), а остальные (C0(2),C3(1)) взять из «хранилища», и т.д.. Указанный подход позволяет достичь компромисса между быстродействием и требованиям к занимаемому количеству дискового пространства. Надо отметить, что отказ от хранения комбинаций одного уровня приводит к экономии памяти и росту вычислительных затрат примерно вдвое, то есть зависимость носит экспоненциальный характер.

3.4 Схема цифровой подписи на основе блочного шифра.

Ниже приведены числовые параметры и используемые вспомогательные алгоритмы рассматриваемой схемы цифровой подписи:

EK - алгоритм зашифрования с размером блока данных и ключа n и nK битов соответственно;

Гm(s,K) - алгоритм выработки m битов криптостойкой гаммы с использованием n-битового вектора начальных параметров (синхропосылки) s и nK-битового ключа K, представляет собой рекуррентный алгоритм выработки n-битовых блоков данных и их последующего зашифрования по алгоритму EK;

PmnK - набор функций расширения m-битовых блоков данных до nK-битовых для различных m (типично - для кратных n, меньших nK);

L - фактор количества подписей (система рассчитана на N=2L подписей);

nT - число битов в подписываемых битовых группах, тогда число групп равно

Ниже изложены алгоритмы схемы подписи:

Алгоритм формирования ключей подписи и проверки подписи.

Формирования ключа подписи.

Ключ подписи формируется как nK-битовый блок данных с помощью аппаратного генератора случайных кодов или криптостойкого программного генератора псевдослучайных кодов KS=GnT(...). Биты ключа должны быть независимы и с равной вероятностью принимать оба возможных значения - 0 и 1.

Формирования ключа проверки подписи. Схема алгоритма формирования ключа проверки подписи изображена на рисунке 4.

Исходные данные алгоритма - nK-битовый массив данных KS - ключ подписи.

Вычисляем nG - количество nT-битовых групп в подписываемых блоках.

Следующие шаги 2-9 выполняются столько раз, на сколько подписей рассчитана схема, т.е. для каждого номера подписи системы.

Рис. 4. Алгоритм выработки ключа проверки подписи

Выработать блок гаммы размером 2nnG бит с помощью генератора криптостойкой гаммы на ключе KS с начальным заполнением i (номером подписи) и поместить его в 2nnG-битовый массив X.

2nnG-битовый массив X интерпретируется как массив из 2nG n-битовых элементов Xj, X=(X1,X2,...,X2nG), |Xj|=n,

затем для каждого элемента этого массива вычисляется результат его «односторонней прокрутки» 2nT-1 раз.

Для массива X вычисляется и записывается в блок данных S его хэш-код, который является индивидуальной проверочной комбинацией для подписи номер i.

Следующие шаги 5,6 выполняются количество раз, равное фактору количества подписей L.

Если l младших бит номера подписи - единицы, переход к шагу 6, иначе - выполнение цикла прекращается и управление передается на шаг 7.

Текущая хэш-комбинация S объединяется c текущей хэш-комбинацией Dl уровня l, и для полученного массива вычисляется хэш-значение, которое становится новой текущей хэш-комбинацией.

Текущая хэш-комбинация S заменяет хэш-комбинацию Dl уровня l.

Последняя вычисленная при выполнении алгоритма текущая хэш-комбинация S и будет являться результатом работы алгоритма - ключом проверки подписи. Кроме того, в ходе выполнения алгоритма будут последовательно выработаны хэш-комбинации всех уровней от 0 до L , 0lL, 0i<2L-l, которые могут храниться в системе и использоваться при формировании подписи.

Алгоритм подписи хэш-блока массива данных.

Схема алгоритма подписи хэш-блока массива данных изображена на рисунке 5.

Исходные данные алгоритма:

T - подписываемый - n-битовый хэш-блок массива данных;

KS - ключ подписи - nK-битовый массив данных;

i - порядковый номер подписи.

Вычисляем nG - число nT-битовых групп в подписываемом n-битном хэш-блоке.

Выработать блок гаммы размером 2nnG бит с помощью генератора криптостойкой гаммы на ключе KS с начальным заполнением i (номером подписи) и поместить его в 2nnG-битовый массив X.

2nnG-битовый массив X интерпретируется как массив из nG пар n-битовых элементов X=((X1,X2),...,(X2nG-1,X2nG)), |Xj|=n,

затем для каждой составляющей каждого элемента этого массива, соответствующего определенной битовой группе хэш-блока, нужное число раз выполняется процедура «односторонней прокрутки».

Рис. 5. Алгоритм подписи хэш-кода сообщения

К индивидуальной проверочной комбинации последовательно добавляется попарные хэш-комбинации, по одной комбинации с каждого уровня от 0 до L-1, которые необходимы при вычислении проверочной комбинации самого верхнего уровня (L), общей для всех сообщений. Номер добавляемой комбинации каждого уровня определяется отбрасыванием количества последних бит в номере подписи, равного номеру уровня, и в инвертировании младшего бита полученного числа.

В результате получаем цифровую подпись хэш-блока сообщения S=(X,D), состоящую из массива подписей битовых групп блока X=(X1,X2,...,X2nG) и из массива дополнительных проверочных комбинаций D=(D0,D1,...,DL-1), необходимых для выполнения процедуры проверки подписи и используемых при вычислении попарных проверочных комбинаций.

Алгоритм проверки подписи хэш-блока массива данных.

Схема алгоритма проверки подписи хэш-блока массива данных изображена на рисунке 6.

Рис. 6. Алгоритм проверки подписи

Исходные данные алгоритма:

T - подписанный - n-битовый хэш-блок массива данных;

s - подпись хэш-блока, состоит из массива X, содержащего 2nG n-битовых элементов подписи битовых групп, и массива D, содержащего L n-битовых хэш-комбинаций;

i - порядковый номер подписи.

Вычисляем nG - число nT-битовых групп в подписываемом хэш-блоке, имеющем размер n бит.

В соответствии с правилами проверки подписи производится «односторонняя прокрутка» элементов подписи битовых групп, содержащихся в массиве X, по два элемента на каждую группу.

Для массива X вычисляется и записывается в S его хэш-код, который должен быть равен индивидуальной проверочной комбинацией для i-той подписи.

Следующие шаги 4-6 выполняются количество раз, равное фактору количества подписей L.

Производится выбор по значению l-того бита (нумерация с 0 со стороны младшего бита) номера подписи.

Если значение бита равно 0, то к коду справа добавляется очередная хэш-комбинация, содержащаяся в подписи, для полученного блока вычисляется хэш-функция, которая замещает предыдущее содержимое S.

Если значение бита равно 1, то выполняется то же самое, только хэш-комбинация добавляется к коду слева.

В конце выполнения алгоритма в S содержится код, который должен быть сравнен с ключом проверки подписи, если коды одинаковы, подпись считается верной, иначе - неверной.

Заключение

Стойкость предложенной схемы цифровой подписи определяется стойкостью использованного блочного шифра, а устойчивость ко вскрытию переборными методами -наименьшим из чисел n, nK. Ключевой комплект в данной схеме рассчитан на определенное число подписей, что, с одной стороны, может восприниматься как недостаток схемы, но с другой позволяет лицензировать количество подписей, облегчая тем самым ее коммерческое использование. Рассматриваемая схема подписи не соответствует стандарту России на цифровую подпись, а алгоритм вычисления MDC - стандарту на выработку хэш-кода массива данных, что делает невозможным аттестацию в соответствующих организациях устройств и программных продуктов, их реализующих. Однако изложенные схемы вполне могут быть использованы там, где спорные вопросы не могут быть вынесены на уровень арбитражных и судебных разбирательств, например, в системах автоматизации внутреннего документооборота учреждений, особенно если электронный документооборот не заменяет бумажный, а существует в дополнение к нему для ускорения прохождения документов.

В качестве приложения к настоящей статье приведены исходные тексты на языке ассемблера для процессоров клона Intel 8086 функции вычисления MDC для блоков данных и функции, реализующие алгоритмы описанной схемы цифровой подписи. Функция выработки хэш-кода (MDC) написана таким образом, что позволяет обрабатывать блоки данных по частям, то есть за несколько вызовов. Все функции используют в качестве основы алгоритм зашифрования по ГОСТ 28147-89. Также прилагаются тексты тестовых программ на языке Си для проверки неизменности файлов на основе MDC и цифровой подписи.

Литература

1. А.Ю.Винокуров. ГОСТ не прост...,а очень прост, М., Монитор.-1995.-N1.

2. А.Ю.Винокуров. Еще раз про ГОСТ., М., Монитор.-1995.-N5.

3. А.Ю.Винокуров. Алгоритм шифрования ГОСТ 28147-89, его использование и реализация для компьютеров платформы Intel x86., Рукопись, 1997.

4. А.Ю.Винокуров. Как устроен блочный шифр?, Рукопись, 1995.

5. М.Э.Смид, Д.К.Бранстед. Стандарт шифрования данных: прошлое и будущее. /пер. с англ./ М., Мир, ТИИЭР.-1988.-т.76.-N5.

6. Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования ГОСТ 28147-89, М., Госстандарт, 1989.

7. Б.В.Березин, П.В.Дорошкевич. Цифровая подпись на основе традиционной криптографии//Защита информации, вып.2.,М.: МП "Ирбис-II",1992.

8. W.Diffie,M.E.Hellman. New Directions in cryptography// IEEE Trans. Inform. Theory, IT-22, vol 6 (Nov. 1976), pp. 644-654.

9. У.Диффи. Первые десять лет криптографии с открытым ключом. /пер. с англ./ М., Мир, ТИИЭР.-1988.-т.76.-N5.

Размещено на Allbest.ru

...

Подобные документы

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

    курсовая работа [861,3 K], добавлен 23.12.2014

  • Трансляция полей формы. Метод аутентификации в Web как требование к посетителям предоставить имя пользователя и пароль. Форма для передачи данных. Использование базу данных для хранения паролей. Разработка сценарий для аутентификации посетителей.

    лекция [225,0 K], добавлен 27.04.2009

  • Обеспечение безопасности сетевого соединения. Процесс аутентификации при установке соединения и процесс передачи данных. Использование криптостойкого шифрования. Протокол аутентификации Kerberos. Основные этапы процедуры аутентификации клиента.

    презентация [162,8 K], добавлен 10.09.2013

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

    презентация [1,2 M], добавлен 03.05.2014

  • Определения криптографии как практической дисциплины, изучающей и разрабатывающей способы шифрования сообщений. История развития шифров. Хэш-функции и понятие электронной подписи. Системы идентификации, аутентификации и сертификации открытых ключей.

    реферат [77,1 K], добавлен 10.12.2011

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

    курсовая работа [347,3 K], добавлен 25.04.2014

  • Использование электронных ключей как средства аутентификации пользователей. Анализ методов идентификации и аутентификации с точки зрения применяемых в них технологий. Установка и настройка средств аутентификации "Rutoken", управление драйверами.

    курсовая работа [4,6 M], добавлен 11.01.2013

  • Разъяснения по использованию систем цифровой подписи в связи с ведением закона "Об электронной цифровой подписи". Пример практического применения механизма электронно-цифровой подписи: программа контроля подлинности документов, хранимых в базе данных.

    контрольная работа [180,1 K], добавлен 29.11.2009

  • Разработка подключаемых модулей аутентификации как средства аутентификации пользователей. Модуль Linux-PAM в составе дистрибутивов Linux. Принцип работы, администрирование, ограничение по времени и ресурсам. Обзор подключаемых модулей аутентификации.

    курсовая работа [192,0 K], добавлен 29.01.2011

  • История криптографии, шифры, их виды и свойства. Симметричные и асимметричные криптографические системы. Ключ как конкретное секретное состояние некоторых параметров алгоритма криптографического преобразования данных. Электронная цифровая подпись.

    контрольная работа [39,6 K], добавлен 25.06.2010

  • Угрозы безопасности баз данных. Политика информационной безопасности предприятия в области использования сетевых ресурсов. Разработка и введение в эксплуатацию защищенного клиент-серверного приложения. Средства аутентификации объектов базы данных.

    дипломная работа [4,6 M], добавлен 21.02.2013

  • Знакомство с возможностями перехвата пароля при аутентификации в почтовых системах. Характеристика почтовой программы "The Bat!", анализ способов настройки и проверки работоспособности. Рассмотрение распространенных методов защиты от перехвата пароля.

    контрольная работа [1,1 M], добавлен 19.05.2014

  • Методика интеграции аутентификации на web-сайте через социальные сети. Проектирование интерфейсов основных классов программ, осуществляющих взаимодействие между библиотеками OAuth социальных сетей Facebook и Twitter с использованием шифрования SSL.

    дипломная работа [3,0 M], добавлен 08.01.2014

  • Электронная цифровая подпись: понятие, составляющие, назначение и преимущества ее использования. Использование ЭЦП в мире. Правовые основы и особенности использования ЭЦП в Украине. Функция вычисления подписи на основе документа и секретного ключа.

    реферат [22,7 K], добавлен 26.12.2009

  • Аутентификация в Windows 2000. Преимущества аутентификации по протоколу Kerberos. Стандарты аутентификации по протоколу Kerberos. Расширения протокола и его обзор. Управление ключами, сеансовые билеты. Аутентификация за пределами домена, подпротоколы.

    курсовая работа [369,2 K], добавлен 17.12.2010

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

    контрольная работа [34,5 K], добавлен 30.09.2013

  • Назначение и особенности применения электронной цифровой подписи, история ее возникновения, алгоритмы, схемы. Использование хэш-функций. Подделка подписей, модели атак и их возможные результаты. Управление ключами открытого типа. Хранение закрытого ключа.

    презентация [883,5 K], добавлен 18.05.2017

  • Статистическая обработка первичной маркетинговой информации. Определение общих параметров выборки. Составление схемы кодировки анкеты. Способы формирования базы данных в формате SPSS. Ввод данных в компьютер. Кодирование переменных. Модификация данных.

    презентация [533,9 K], добавлен 24.02.2015

  • Понятие системы информационной безопасности, ее цели состав. Классификация нарушителей; угрозы, особенности и примеры их реализации. Средства защиты информации: шифрование, авторизации, идентификации и аутентификации пользователей; антивирусные программы.

    презентация [947,4 K], добавлен 19.09.2016

  • Назначение и применение электронной цифровой подписи, история ее возникновения и основные признаки. Виды электронных подписей в Российской Федерации. Перечень алгоритмов электронной подписи. Подделка подписей, управление открытыми и закрытыми ключами.

    курсовая работа [604,0 K], добавлен 13.12.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.