Прежде всего, ни SHA-1, ни что-либо связанное с SHA-2 не является алгоритмом шифрования. Они являются хэш-функциями. В SSL хеш-функции используются в основном для целостности, а не для конфиденциальности, через конструкцию HMAC. Хеш-функция принимает вход произвольной длины и производит выход с фиксированной длиной, что является своего рода «перевариванием» входных данных; операция не должна быть обратимой.
Хэш-функция является «общедоступной»: нет конфиденциальных данных, нет ключа; каждый может вычислить выход хэш-функции на любом заданном входе. «Код аутентификации сообщения» (MAC-код) является своего рода «keyed hash»: в этот процесс также вводится секретный ключ (то есть произвольная группа бит), так что знание ключа необходимо для (пересчета) вывод MAC. Это используется для проверки целостности (отправитель использует ключ для вычисления MAC-адреса, приемник использует ключ для пересчета MAC-адреса, если MAC соответствует, то данные верны, поскольку злоумышленник, не зная ключа, не может иметь изменили данные и вычислили действительный MAC на измененных данных).
HMAC - это конструкция, которая превращает хеш-функцию (например, SHA-1) в MAC. TLS (это текущее стандартное имя SSL) использует HMAC. Выход HMAC при использовании с данной хэш-функцией h, имеет тот же размер, что и выход h. Этот вывод можно условно усекать: HMAC/SHA-1 номинально производит 160-битный вывод, но в некоторых протоколах принято сохранять только первые 96 бит. Такое усечение не происходит в SSL.
В стандарте FIPS 180-3 определены пять хеш-функций SHA-1, SHA-224, SHA-256, SHA-384 и SHA-512 с выходной длиной 160, 224, 256, 384 и 512 бит соответственно. Функции SHA-224, SHA-256, SHA-384 и SHA-512 разговорно известны как «SHA-2», поэтому «SHA-2» не является одной функцией, а представляет собой семейство из четырех хеш-функций.
TLS спецификация определяет шифровальные наборы. Шифрованный набор представляет собой набор криптографических алгоритмов, согласованных клиентом и сервером на начальной стадии соединения («рукопожатие»). Среди алгоритмов используется MAC для обеспечения целостности данных. Некоторые из стандартных наборов шифров указывают, что MAC должен быть «HMAC с SHA-256», то есть что-то, что использует одну из функций SHA-2.
Таким образом, ответ на ваш вопрос: «просто настройте клиент и сервер для использования одного из наборов шифров с HMAC/SHA-256». Если ваша реализация SSL не поддерживает такие комплекты шифров, вам придется ее модифицировать, что повлечет за собой полное понимание того, как работает SSL; чтение и понимание полного RFC 5246 будет необходимо.
Какой алгоритм SHA-2 Вас интересуют? –
Это на самом деле не имеет значения, если это алгоритм SHA-2 :) С уважением – Hellnar
Что это связано с SSL? –