Отпечаток открытого ключа
В криптографических системах с открытым ключом, отпечаток открытого ключа — это последовательность байтов, используемая для идентификации более длинного, по сравнению с самим отпечатком открытого ключа.
Отпечатки открытого ключа создаются путём применения криптографической хеш-функции к открытому ключу. Поскольку отпечатки короче, чем сами эти ключи, они могут использоваться, чтобы упростить управление открытыми ключами.
Создание отпечатка открытого ключа
Отпечаток открытого ключа, как правило, создается с помощью следующих шагов:
- Открытый ключ (и, возможно, некоторые дополнительные данные) представлены последовательностью байтов. Чтобы быть уверенным, что отпечаток одного и того же ключа будет всегда одинаков, метод его получения должен быть строго согласован, а также если кроме самого ключа имеются какие-либо дополнительные данные, то они должны также передаваться и храниться вместе с открытым ключом.
- Данные, полученные на предыдущем шаге хешируется с помощью криптографической хеш-функции, например, такой как SHA-2 или RIPEMD-160.
- При желании, данные, полученные на выходе хеш-функции могут быть усечены, чтобы обеспечить более короткий, более удобный вид отпечатков, но это также должно быть учтено всеми сторонами, использующими эти отпечатки.
Например, в то время как типичный открытый ключ RSA будет иметь длину 2048 бит, длина отпечатков, полученных с помощью функции MD5 или SHA-1 будут всего-лишь 128 или 160 бит в длину соответственно.
Для удобочитаемости, отпечатки, как правило, кодируются в шестнадцатеричную систему счисления и разбиваются на группы символов. Например, 128-битная хеш-сумма, полученная с помощью MD5 для SSH будет отображаться следующим образом:
43:51:43:a1:b5:fc:8b:b7:0a:3a:a9:b1:0f:66:73:a8