Однонаправленные функции

Однонаправленные функции. При наборе пароля для входа в Windows 2000, он шифруется и сравнивается с хранимым зашифрованным значением пароля. Пароль сохраняется при помощи однонаправленной функции one-way function, также называемой хэш hash, trap-door, digest или fingerprint1. Хэш-функции также могут применяться для других целей.

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

Хэш-значение также уникально для файла, который его породил практически невозможно создать другой файл, который произвел бы то же хэш-значение. Одна из особенностей хэш-функций особенно дающих короткие хэш-значения - это то, что все хэш-значения равновероятны. Следовательно, практически невозможно создать другой файл хэш-значение для которого совпадет с имеющимся. Некоторым хэш-функциям требуется ключ, другим - нет. Хэш-функция с ключом может вычисляться только кем-либо или чем-либо, имеющим этот ключ. 3.1.5. Шифрование с открытым ключомВ то время как симметричные шифры используют один ключ для зашифровки и расшифровки сообщений, шифрование с открытым ключом public key encryption, или шифр с открытым ключом public key cipher, использует для расшифровки ключ, отличный от использованного при шифровании.

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

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

При использовании шифра с открытым ключом один ключ открытый ключ, public key используется для шифрования сообщения, а другой ключ закрытый ключ, private key - это единственный ключ, который может расшифровать сообщение. Кто угодно, имея ключ, может зашифровать сообщение, расшифровать которое может только конкретный пользователь.

Самым известным программным продуктом использующим данный вид шифрования является PGP аналогично называется сам алгоритм. Безопасные шифры с открытым ключом страдают от одной проблемы - они медленны, гораздо медленнее, чем симметричные шифры. Работа хорошего шифра с открытым ключом может отнять в 1000 раз больше времени для зашифровки одного и того же количества данных, чем у хорошего симметричного шифра. Хотя системы открытого закрытого ключа гораздо медленнее симметричных систем, они четко решают проблему, от которой страдали симметричные криптосистемы.

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

Коммуникация между двумя сторонами затем может продолжаться с использованием симметричного шифра и этого секретного ключа. Система, которая использует как симметричное шифрование, так и шифрование с открытым ключом, называется гибридной криптосистемой hybrid cryptosystem . 3.2.