Средства защиты информации в Windows и MSDN

Назначение, схема и правила построения протоколов аутентификации. Алгоритмы облегченной криптографии и их предназначение. Криптографические средства защиты информации в Windows и MSDN. Реализация преобразования SubBytes и MixColums в стандарте AES.

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

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

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

Размещено на http://www.allbest.ru/

Протоколы установления подлинности

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

Очень часто путают проверку прав на выполнение тех или иных операций с аутентификацией. (В первом случае имеем авторизацию.) Аутентификация отвечает на вопрос: как убедиться, что вы взаимодействуете именно с определенным процессом. Если, например, к серверу процесс обратился с запросом удалить файл x.old и объявил себя процессом Вася, то сервер должен убедиться, что перед ним действительно Вася и что Вася имеет право делать то , что просит. Ключевым конечно является первый вопрос, ответ на второй вопрос - это дело просмотра таблицы.

Общая схема всех протоколов аутентификации такова: Сторона А и сторона В начинают обмениваться сообщениями между собой и с Центром раздачи ключей (ЦРК). ЦРК всегда надежный партнер. Протокол аутентификации устроен так, что даже если интрудер перехватит сообщения между А и В, ни А ни В не спутают друг друга с интрудером. Обмен данными между А и В будет происходить по алгоритму с закрытым ключом, а вот устанавливаться соединение по алгоритму с открытым ключем.

Есть несколько общих правил построения протоколов аутентификации (протокол проверки подлинности или просто подлинности):

1. Инициатор должен доказать кто он есть прежде, чем вы пошлете ему какую-то важную информацию.

2. Инициатор и отвечающий должны использовать разные ключи.

3. Инициатор и отвечающий должны использовать начальные вызовы из разных множеств, не пересекающиеся.

Алгоритмы облегченной криптографии и их предназначение

К облегченной криптографии относятся алгоритмы, разрабатываемые специально для устройств с ограниченными или крайне ограниченными вычислительными ресурсами. В принципе критерии, по которым тот или иной криптографический алгоритм можно отнести к облегченной криптографии, достаточно размыты. Тем не менее общие свойства таких алгоритмов - сверхнизкие требования к ресурсам того устройства, на котором предполагается их использовать, а именно:

* к требуемой площади кристалла, на котором алгоритм может быть аппаратно реализован (радиометки должны быть максимально дешевыми, а площадь кристалла должна напрямую влиять на их стоимость);

* к вычислительной мощности микропроцессора или микроконтроллера, на котором выполняются вычисления;

* к оперативной памяти устройства;

* к энергонезависимой памяти устройства и т. п.

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

Описание криптографических средств защиты информации в ОС Windows

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

С помощью функций, предоставляемых криптопровайдером, в частности, можно:

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

· Выполнять выработку и проверку электронной подписи под документами;

· Выполнять зашифрование и расшифрование документов.

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

Криптопровайдеров, использующих алгоритмы, соответствующие российским ГОСТам, в составе дистрибутива ОС Windows в настоящий момент нет. Но такие криптопровайдеры существуют и могут быть установлены в системе. Таким криптопровайдером, например, является криптопровайдер МагПро CSP.

Описание криптографических средств защиты информации в MSDN

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

Классы в пространстве имен System.Security.Cryptography платформы .NET Framework управляют многими деталями шифрования. Некоторые из них являются оболочками для неуправляемого интерфейса Microsoft Cryptography API (CryptoAPI), в то время как другие реализованы полностью в виде управляемого кода. При использовании этих классов вам вовсе не обязательно быть экспертом в криптографии. При создании нового экземпляра одного из классов, реализующих алгоритмы шифрования, ключи создаются автоматически с целью удобства использования, а принятые по умолчанию значения свойств призваны обеспечить максимальную защищенность.

Реализация преобразования SubBytes в стандарте AES

SubBytes заменяет каждый элемент матрицы состояния соответвующим элементом таблицы SBox: sij = SBox[sij]. Преобразование SubBytes обратимо. Обратное к нему находится с помощью таблицы InvSBox.

Для дешифрования текста AES использует таблицу обратную к SBox. Таблица InvSBox обладает одним свойством: InvSBox[SBox[i]] = i. InvSBox выглядит так:

52 09 6a d5 30 36 a5 38 bf 40 a3 9e 81 f3 d7 fb 7c e3 39 82 9b 2f ff 87 34 8e 43 44 c4 de e9 cb 54 7b 94 32 a6 c2 23 3d ee 4c 95 0b 42 fa c3 4e 08 2e a1 66 28 d9 24 b2 76 5b a2 49 6d 8b d1 25 72 f8 f6 64 86 68 98 16 d4 a4 5c cc 5d 65 b6 92 6c 70 48 50 fd ed b9 da 5e 15 46 57 a7 8d 9d 84 90 d8 ab 00 8c bc d3 0a f7 e4 58 05 b8 b3 45 06 d0 2c 1e 8f ca 3f 0f 02 c1 af bd 03 01 13 8a 6b 3a 91 11 41 4f 67 dc ea 97 f2 cf ce f0 b4 e6 73 96 ac 74 22 e7 ad 35 85 e2 f9 37 e8 1c 75 df 6e 47 f1 1a 71 1d 29 c5 89 6f b7 62 0e aa 18 be 1b fc 56 3e 4b c6 d2 79 20 9a db c0 fe 78 cd 5a f4 1f dd a8 33 88 07 c7 31 b1 12 10 59 27 80 ec 5f 60 51 7f a9 19 b5 4a 0d 2d e5 7a 9f 93 c9 9c ef a0 e0 3b 4d ae 2a f5 b0 c8 eb bb 3c 83 53 99 61 17 2b 04 7e ba 77 d6 26 e1 69 14 63 55 21 0c 7d

Реализация преобразования MixColums в стандарте AES

MixColumns умножает каждый столбец матрицы s слева на особую матрицу размера 4Ч4:

защита информация windows msdn

<img src="" alt="MixColumnsTransform">

Для шифрования используют [a b c d] = [{02} {03} {01} {01}]. Можно проверить, что преобразование обратное к MixColumns[{02} {03} {01} {01}] это MixColumns[{0e} {0b} {0d} {09}].

Схематично шифрование можно изобразить так:

AddRoundKey(0)

for (var i = 1; i <= Nr - 1; i++)

{

SubBytes()

ShiftRows()

MixColumns([0x02, 003, 0x01, 0x01])

AddRoundKey(i)

}

SubBytes()

ShiftRows()

AddRoundKey(Nr)

Расшифровка

Как видно, для шифрования блока данных AES последовательно применяет к нему много обратимых преобразований. Для расшифровки нужно применить обратные преобразования в обратном порядке.

Реализация операций над байтами в стандарте AES

SubBytes()

трансформации при шифровании, которые обрабатывают State используя нелинейную таблицу замещения байтов(S-box), применяя её независимо к каждому байту State

SubBytes()[править | править вики-текст]

В процедуре SubBytes, каждый байт в state заменяется соответствующим элементом в фиксированной 8-битной таблице поиска, S; bij = S(aij).

Процедура SubBytes() обрабатывает каждый байт состояния, независимо производя нелинейную замену байтов используя таблицу замен (S-box). Такая операция обеспечивает нелинейность алгоритма шифрования. Построение S-box состоит из двух шагов. Во-первых, производится взятие обратного числа в поле Галуа . Во-вторых, к каждому байту b из которых состоит S-box применяется следующая операция:

где , и где есть i-ый бит b, а -- i-ый бит константы . Таким образом, обеспечивается защита от атак, основанных на простых алгебраических свойствах.

Реализация нелинейного узла замены в стандарте DES

S-box

нелинейная таблица замен, использующаяся в нескольких трансформациях замены байт и в процедуре Key Expansion для взаимнооднозначной замены значения байта. Предварительно рассчитанный S-box можно увидеть ниже.

S-box

Sbox = array{

0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76,

0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0,

0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15,

0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75,

0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84,

0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf,

0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8,

0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2,

0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73,

0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb,

0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79,

0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08,

0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a,

0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e,

0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf,

0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16

};

Обратный S-box для процедуры InvSubBytes

InvSbox = array{

0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb,

0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb,

0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e,

0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25,

0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92,

0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84,

0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06,

0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b,

0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73,

0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e,

0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b,

0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4,

0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f,

0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef,

0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61,

0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d

};

Реализация нелинейных преобразований в ГОСТ 28147-89

В этом режиме открытый текст делится на блоки по 64 бита и складывается по модулю 2 с ключом (гаммой шифра), который вырабатывается блоками по 64 бита. Другими словами, операция шифрования может быть представлена в виде Е(i) = T i)( ? Г i)( , где T i)( - 64-битный блок открытого текста, Г(i) - 64-битный блок гаммы, i = 2,1 ,...,m , m - число блоков открытого текста. 64-битный блок гаммы вычисляется по формуле Г i)( = E (Y (i ? ),1 V (i ? ))1 Z , где )( EZ обозначает операцию шифрования на ключе Z в режиме простой замены , Y i)( , V i)( - 32-битные последовательности формируемые итеративно Y i)( = (Y (i ? )[1 +]C2 , V i)( = (V (i ? ){1 +}C )1 , где {+} обозначает сложение по модулю 2 1 32 ? , i = 2,1 ,...,m , C1, C2 - константы, заданные в стандарте. Шифртекст t бит Исходный текст t бит Вх. блок 64 ? t t Шифратор t 64 ? t Вначале формируются Y )0( , V )0( по формуле (Y ),0( V ))0( E (S) = Z , где S - 64- разрядная синхропоследовательность. Синхропоследовательность не является секретным элементом, но должна быть известна на передающей и приемной стороне.

Формирование открытой и секретной частей ключа в системе RSA, пример

Это алгоритм основан на использовании односторонней функции с лазейкой (trapdoor one-way function). Зная 2 простых P,Q числа, умножить их и получить N=P*Q очень легко, разложение же числа N на простые множители и есть «лазейка». Разложение N на P и Q вычислительно неосуществимо при условии, что длины P и Q составляют не менее 100 десятичных знаков. В 1994 г. было факторизировано число со 129 десятичными цифрами (математиком А.Мистра, М.Манасси) на 1600 компьютерах в сети в течениии 8 месяцев.

Таким образом, выбираем большое натуральное число

N=P*Q,

где P,Q простые числа.

Рассмотрим генерацию ключей. В алгоритме RSA используются два ключа:

- e - открытый ключ;

- d - закрытый/секретный ключ.

Открытый ключ e выбирается из следующего условия:

где - функция Эйлера.

Секретный ключ d вычисляется из сравнения по следующей формуле:

Криптографическую систему формирует получатель секретной информации, т.е. осуществляет генерацию ключей и публикует (e,N).

Таким образом, (e,N) - открытая информация, (d,P,Q) - секретная информация.

Шифрование и расшифрование реализуется по следующей схеме:

- Оцифровка исходного текста pt;

- Шифрование производится по следующей формуле:

Действие производится отправителем.

- Расшифрование производится по следующей формуле:

Действие производится получателем информации.

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

...

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

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

    курсовая работа [55,7 K], добавлен 08.03.2008

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

    реферат [1,2 M], добавлен 29.01.2013

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

    курсовая работа [37,5 K], добавлен 15.02.2011

  • Виды умышленных угроз безопасности информации. Методы и средства защиты информации. Методы и средства обеспечения безопасности информации. Криптографические методы защиты информации. Комплексные средства защиты.

    реферат [21,2 K], добавлен 17.01.2004

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

    дипломная работа [802,2 K], добавлен 08.06.2013

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

    курсовая работа [72,1 K], добавлен 22.05.2015

  • Комплексный подход в обеспечении информационной безопасности. Анализ процессов разработки, производства, реализации, эксплуатации средств защиты. Криптографические средства защиты информации. Основные принципы инженерно-технической защиты информации.

    курсовая работа [725,1 K], добавлен 11.04.2016

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

    презентация [3,8 M], добавлен 18.11.2014

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

    курсовая работа [350,4 K], добавлен 10.06.2014

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

    курсовая работа [25,9 K], добавлен 17.03.2004

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

    реферат [30,8 K], добавлен 23.10.2011

  • Проблемы защиты информации в информационных и телекоммуникационных сетях. Изучение угроз информации и способов их воздействия на объекты защиты информации. Концепции информационной безопасности предприятия. Криптографические методы защиты информации.

    дипломная работа [255,5 K], добавлен 08.03.2013

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

    контрольная работа [80,2 K], добавлен 02.01.2018

  • Правовые основы защиты информации на предприятии. Анализ среды пользователей. Автоматизированная система предприятия. Краткие сведения об операционной системе Windows XP. Классификация троянских программ. Способы защиты операционной системы Windows XP.

    дипломная работа [187,3 K], добавлен 14.07.2013

  • Понятие защиты информации, сущность информационной безопасности. Программные средства, обеспечивающие защиту. Обзор программных брандмауэров (на примере Firewall). Особенности реализации политики безопасности. Криптографические преобразования данных.

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

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

    контрольная работа [420,7 K], добавлен 28.06.2011

  • Необходимость и потребность в защите информации. Виды угроз безопасности информационных технологий и информации. Каналы утечки и несанкционированного доступа к информации. Принципы проектирования системы защиты. Внутренние и внешние нарушители АИТУ.

    контрольная работа [107,3 K], добавлен 09.04.2011

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

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

  • Программно-аппаратные средства защиты компьютера от несанкционированного доступа. Электронный замок "Соболь". Система защиты информации SecretNet. Дактилоскопические устройства защиты информации. Управление открытыми ключами, удостоверяющие центры.

    курсовая работа [3,1 M], добавлен 23.08.2016

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

    курсовая работа [107,6 K], добавлен 09.04.2014

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