Лекция: Алгоритмы хэширования

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

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

Алгоритмы, реализующие хэш-функции: SHA, SHA1.

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

Среди асимметричных алгоритмов наиболее известным является RSA.

Криптография с открытыми ключами в чистом виде обычно не применяется, так как реализация асимметричных алгоритмов требует больших затрат процессорного времени. Тем не менее преимуществами криптографии с открытыми ключами пользуются при формировании и проверке цифровой подписи, а также для решения проблемы распределения ключей. Секретный ключ применяется для подписания данных, а открытый ключ — для их проверки. Единственно известный способ получить корректную подпись — использовать секретный ключ. Кроме того, для каждого сообщения формируется уникальная подпись. В целях повышения производительности подписывается не все сообщение, а его хэш-код. Вообще, собственно цифровая подпись сообщения – это хэш-код сообщения, зашифрованный секретным ключом, он пересылается вместе с цифровым объектом и удостоверяет целостность самого объекта и подлинность его отправителя.

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

Три основных алгоритма: RSA, DSA, EСDSA.

еще рефераты
Еще работы по информатике