Асимметричные криптоалгортмы Бийский технологический институт Лаборатория акустических процессов и аппаратов Предмет «Информационная безопасность и защита информации»
Источник Взлом хеш-функций (2004-2006 гг.): как это было и что теперь делать?  http://habrahabr.ru/blogs/infosecurity/50434/
Ophcrack  http://ophcrack.sourceforge.net/
Радужная таблица  https://secure.wikimedia.org/wikipedia/ru/wiki/Радужная_таблица
Необходимость Асимметричные криптоалгортмы призваны в первую очередь устранить основной недостаток симметричных криптосистем:  сложность управления и распространения ключей.
Асимметричные криптоалгоритмы Отправитель Получатель Открытый канал связи СШ Ключ Закрытый ключ Открытый ключ Сообщение СШ Открытый ключ Сообщение Зашифрованное сообщение Зашифрованное сообщение СШ — система шифрования
Асимметричные криптоалгоритмы Основой всех асимметричных криптоалгоритмов является большая вычислительная сложность восстановления открытого текста без знания закрытого ключа.
Примеры асимметричных криптоалгритмов Diffie-Hellmann
RSA – Rivest, Shamir, Adelman – основан на  сложности задачи разложения на множители больших чисел за короткое время
El Hamal
DSA – Digital Signature algorithm , стандарт США
ГОСТ Р 34.10 – 94, 2001, стандарты РФ
Сравнение надежности алгоритмов Длина симметричного ключа, бит Длина несимметричного ключа, бит 56 384 64 512 80 768 112 1792 128 2304
Гибридные криптосистемы Подобного рода алгоритмы  используются в протоколах SSH, TLS, SSL
Гибридные криптосистемы Подобного рода алгоритмы  используются в протоколах SSH, TLS, SSL
Протоколы безопасной передачи данных на базе симметричных и асимметричных криптоалгоритмов SSH  (Secure SHell — «безопасная оболочка») TLS  (Transport Layer Security) SSL  (Secure Sockets Layer — уровень защищённых сокетов)
Атака « Man in the Middle »
Хэширование
Хэш-функции Хэш-функцией  называется односторонняя функция, предназначенная для получения дайджеста или "отпечатков пальцев" файла, сообщения или некоторого блока данных. Хэш-код  создается функцией Н: h = H (M) Где  М  является сообщением произвольной длины и  h  является хэш-кодом фиксированной длины.
Требования Хэш-функция Н должна применяться к блоку данных любой длины.
Хэш-функция Н создает выход фиксированной длины.
Н (М) относительно легко (за полиномиальное время) вычисляется для любого значения М.
Статистическая равномерность выпадающих выходных значений.
Хорошая «разбросанность» (расхождении примерно в половине бит) выходных значений даже для незначительно (возможно только в 1 бите) отличающихся входных текстах.
Требования Для любого данного значения хэш-кода h вычислительно невозможно найти M такое, что Н (M) = h.
Для любого данного х вычислительно невозможно найти y ≠ x, что H (y) = H (x). (простая хэш-функция)
Вычислительно невозможно найти произвольную пару (х, y) такую, что H (y) = H (x). (сильная хэш-функция)
Коллизии первого рода Для заданного сообщения M должно быть практически невозможно подобрать другое сообщение N, для которого H(N) = H(M).
Коллизии второго рода Должно быть практически невозможно подобрать пару сообщений (М, М'), имеющих одинаковый хэш.
Принцип работы Входное значение (сообщение, файл и т.п.) рассматривается как последовательность n-битных блоков.
Входное значение обрабатывается последовательно блок за блоком, и создается m-битное значение хэш-кода.
Простейшая хэш-функция С i  = b i1  XOR b i2  XOR . . . XOR b ik где С i  - i-ый бит хэш-кода, 1  ≤  i  ≤  n.
k  - число n-битных блоков входа.
b ij  - i-ый бит в j-ом блоке.
В результате получается хэш-код длины  n , известный как продольный избыточный контроль. Это эффективно при случайных сбоях для проверки целостности данных.
Лидеры MD5,
SHA-1,

Асимметричные криптоалгоритмя и хэширование