
Лекция 9 - Продолжение лекции 8 - Шифрование
.pdfБезопасная передача данных в беспроводных сетях
шифрование
Задачи криптографии:
•Конфиденциальность — невозможность узнать содержание сообщения
•Аутентификация — подтверждение личности отправителя
•Целостность — сообщение не было изменено третьей стороной
•Отказ от ответственности — предотвращение отказа автора за создание или отправку сообщения.
Шифрование информации - это преобразование открытой информации в зашифрованную и наоборот:
С = Ek1(M),
где M (message) - открытая информация, С (cipher text) - полученный в результате зашифрования шифртекст, E (encryption) - функция зашифрования, выполняющая криптографические преобразования над M, k1 (key) - параметр функции E, называемый ключом зашифрования.
Ключ - конкретное секретное состояние некоторых параметров алгоритма криптографического преобразования, обеспечивающее выбор одного преобразования из совокупности всевозможных для данного алгоритма преобразований (ГОСТ 28147-89)
•Для получения в результате расшифрования корректного открытого текста необходимо одновременное выполнение следующих условий:
1.Функция расшифрования должна соответствовать функции зашифрования.
2.Ключ расшифрования должен соответствовать ключу зашифрования.
•При отсутствии верного ключа k2 получить исходное
сообщение M' = M с помощью правильной функции D невозможно. Под словом "невозможно" в данном случае обычно понимается невозможность вычисления за реальное время при существующих вычислительных ресурсах.
Полиморфизм - техника, которая самостоятельно модифицирует криптоалгоритм после каждого выполнения, и на каждой итерации получаются разные результаты. При шифровании одной и той же информации два раза, то алгоритм выдаст разные шифротексты.

Классификация алгоритмов шифрования
Алгоритмы шифрования
Бесключевые – не используют ключи
Одноключевые – используют |
|
Двухключевые – используют |
один параметр как |
|
два параметра как секретный |
секретный ключ |
|
и открытый ключи |
|
|
|
Хэширование |
|
Симметричное |
|
Асимметричное |
|
Электронная |
|
шифрование |
|
шифрование |
|
подпись |
|
|
|
|
|
|||
|
|
|
|
|
|
|
Блочное Поточное
•Бесключевые алгоритмы: используют хэш-функции.
•Хеш-функция — математический алгоритм, преобразовывающий произвольный массив данных в состоящую из букв и цифр строку фиксированной длины.
•Результат, производимый хеш-функцией, называется «хеш-суммой» или «хешем», а входные данные - «сообщением».
•Для хеш-функции выполняются следующие условия:
1.хеш-функция является детерминированной, то есть одно и то же сообщение приводит к одному и тому же хеш-значению
2.значение хеш-функции быстро вычисляется для любого сообщения
3.невозможно найти сообщение, которое дает заданное хешзначение
4.невозможно найти два разных сообщения с одинаковым хешзначением
5.небольшое изменение в сообщении изменяет хеш настолько сильно, что новое и старое значения кажутся некоррелирующими
Примеры бесключевых алгоритмов
•MD2 — криптографическая хеш-функция, разработанная Роном Ривестом, RFC 1319. На входе сообщение произвольный длины, размер хеша — 128 бит. Развитие – MD5. Алгоритмы MD(x)
основаны на методе вычислений в цикле с использованием простых логических операций типа OR, XOR, AND, NOT, поэтому становится возможным построение коллизий с одинаковым, заранее выбранным префиксом.
•Sha-1/2 - Алгоритм криптографического хеширования, RFC 3174. Для входного сообщения произвольной длины до 2264-1 ,генерирует 160битное хеш-значение, называемое также дайджестом сообщения.
Используется во многих криптографических приложениях и протоколах.
•SHA-3 (Keccak) – алгоритм хеширования переменной разрядности. Keccak основан на конструкции Sponge (Губка), которая используется для создания функции с произвольной длиной на входе и произвольной длиной на выходе на основе преобразований перестановки

•Симметричное шифрование – один ключ для шифрования и расшифровывания, используют длину ключа в диапазоне от 40 до 256 бит.
•При потере секретного ключа зашифрованное сообщение может быть легко взломано
•Высокая производительность, обеспечивающая быстрое шифрование данных
+ |
} |
Зашифрованное сообщение |
Зашифрованное сообщение |
} |
|
|
|
+ |
|
PSK |
|
|
|
|
|
|
|
PSK |
|
•Симметричные блочные: шифруется сразу блок текста размером 64 или 128 бит.
•Симметричные потоковые: шифрование происходит побитно или побайтно.
Скорость шифрования выше чем у блочных
Примеры алгоритмов симметричного шифрования
•Data Encryption Standard (DES): шифрует данные с использованием блоков размером 64 бита и размером ключа 54 бита.
•Triple Data Encryption Standard (3DES): версия DES, выполняет процесс шифрования трижды. Этап 1: берет данные открытого текста и выполняет шифрование для создания зашифрованного текста. Этап 2: использует зашифрованный текст в качестве входных данных и выполнит его шифрование. Этап 3: выполняет шифрование зашифрованного текст из этапа
2.3DES использует ключи размером 112 бит и 168 бит.
•Advanced Encryption Standard (AES): использует ключи размером 128, 192 и
256бит. Он выполняет шифрование данных в блоках фиксированного размера: 128, 192 и 256 бит.
•Software-Optimized Encryption Algorithm (SEAL): алгоритм потокового шифрования, который использует размер ключа 160 бит.
•Rivest Cipher (RC): это серия наборов шифров, созданных Роном Ривестом (RC2, RC3, RC4, RC5 и RC6). Наиболее распространён RC4, потоковый шифр, использующий размер ключа до 256 бит. Уязвим при повторном использовании ключа или связанных ключах

•Асимметричное шифрование: используется два ключа – один для шифрования, другой для расшифровывания. При потере одного из ключей взлом невозможен.
•Асимметричное шифрование использует размер ключа от 512 до
4096 бит.
public
+ |
} |
Зашифрованное сообщение |
|
|
|
Зашифрованное сообщение |
} |
|
|
|
|
||||
|
|
|
|
|
|||
private |
|
|
+ |
|
public
Примеры алгоритмов асимметричного шифрования
•Diffie-Hellman (DH): используется для безопасной доставки пар ключей по незащищенной сети. Использует ключи разного размера: группа 1DH - 768 бит, группа 2DH - 1024 бит, группа 5DH - 1536 бит, группа 14DH - 2048 бит, группа 15DH - 3072 бит, группа 16DH - 4096 бит.
•Digital Signature Standard (DSS): используется для цифровых подписей. Алгоритм цифровой подписи (DSA) - это алгоритм с открытым ключом, который использует схему подписи ElGamal. Размеры ключей варьируются от
512 до 1024 бит.
•Rivest-Shamir-Adleman (RSA): использует пары открытого и закрытого ключей между устройствами размером от 512 до 2048 бит.
•EIGamal: использует пару открытого и закрытого ключей для шифрования данных, основан на процессе согласования ключей DH. Увеличивает размер сообщения в 2 раза
•Elliptical Curve (EC): использует кривые вместо чисел. EC использует ключи меньшего размера в мобильных устройствах.