Публичный ключ на бумаге
Здравствуйте.
Прошу помочь мне понять, как правильно представить публичный ключ на бумаге в шестнадцатеричной системе счисления.
Это есть: "Акт признания открытого ключа (АСП, ЭЦП, Сертификата)"
Я написал программу (аналог хеш-редактора), которая тупо берет подрят каждый символ публичного ключа и переводит его (символ) в шестнадцатеричную систему счисления. На выходе я получаю "хеш" всего ключа и логично, что могу не имея сам ключ – создать его, либо, что требуется, сверить открытый ключ с его бумажной копией и сказать, что это одно и то же.
Правильно ли будет так сделать? Может так правильно делать только для определенных криптосистем?
Еще. Я имею некоторое отношение к нескольким криптосистемам – работа идет через браузер. Создаю закрытый ключ + запрос на сертификат и получаю бумажку с копией открытого ключа. Далее этот же запрос (содержащий публичный ключ) перевожу в "хеш" – сравниваю с бумажкой – не нахожу и двух символов стоящих рядом. Но самое главное что сертификат, выданный на запрос, при просмотре через браузер идентичен бумажке.
Получается, что "хеш" рассчитывается на каком-то уровне ниже?
Дополнительная информация:
Мой ключ не заверяется сертификатом.
Пример моего ключа (символы). Система – Dekart RSA
Начало сточкой ниже
¤ RSA1 {/‘ фтp|ъ|•fqўлy№”аKєг9°UѓиеУЎ-Г!ЉСx ь[nlil,w%‹ф$—ґџИp`,оюNЅЌС}®M¤Ѓ=§сЏ”·=Ю@• Ґ™|ЪO?O›џ\ЏэНqED4„`оХoч J$¤‰лWa
6RQ1(
Конец публичного ключа
Ещё пример моего ключа (символы). Система – Open SSH
Начало сточкой ниже
AAAAB3NzaC1yc2EAAAABIwAAAQEA5e6rAY+8RqkTIs6hjvm8gId5FBmy2SwQp6lw
P8mp3HctUJ7SZUd68VrWmxIeT+MeLqV8S689AorSRTY8X6LEmbHguaa6FiaSUNlk
4b2Og+eRBgjt1gy4ogHfIqh7qrWcCqZKvaUccSuwP5pNi/CQKsIfwMd0rrvniDGa
T/y4ybQ6fyoqfXyKhN40V0p7sT9cnki+zbgXePHdVrHf6CaS+AJyZkC+8xQeZaFD
VRjpUtpAs51VxLxp0ev5Xw5tiyH5+H9mmkaJ/PCBJ21a0PRPanA6xXSvCliImwYp
A4KwNSXoUhMyL4SziFqOuoZmYEXPSmA5TE7ErlH5waU9MWj+qQ==
Конец публичного ключа
Буду благодарен за любую помощь
комментариев: 11558 документов: 1036 редакций: 4118
Надеюсь, вместо "хеш" вы имели в виду "hex"? Ибо это сильно разные вещи.
Если выше имелось в виду "hex" (то есть конвертация двоичной записи в шенстнадцатеричную), то да. Если имелось в виду именно "хэш-значение", то отчасти — Вы сможете только сверить правильность имеющегося ключа, но не восстановить его исходное значение.
В общем, разберитесь сначала с терминологией.
комментариев: 4 документов: 1 редакций: 0
"хэш-значение" – я нигде не писал, меня это не интересует в этой теме никак
комментариев: 9796 документов: 488 редакций: 5664
Так бы все и отправляли закрытые ключи на запрос по сертификации. Для запроса на подпись теоретически достаточно как раз хэша от всего сертификата. Ну или чтобы подписывающая (удостоверяющая) сторона не подписывала кота в мешке — поля должны быть указаны в явном виде (вместе с открытым ключом, но можно подписать и его хэш).
комментариев: 11558 документов: 1036 редакций: 4118
То есть мы догадаться должны о Ваших доморощенных "терминах"?
Сама схема неудачна по двум причинам. Во-первых, шестнадцатеричная последовательность чрезмерно избыточна. Если использовать кодировку base64, длина вывода сократится почти в полтора раза. Во-вторых, при ручном вводе длинных бессмысленных последовательностей букв и цифр велика вероятность допустить опечатку, и придётся начинать всё с начала. Правильнее разбить последовательность на сравнительно короткие строки, каждую из которых завершать её краткой контрольной суммой (скажем, CRC-{8,16}). Так программа хотя бы сообщит пользователю, в какой строке он ошибся, и предложит именно её повторить.
комментариев: 4 документов: 1 редакций: 0
При чем здесь base64? Меня она в данном случае так же не интересует, так же не считаю что base64 – это "кодировка". Не видел ни одного сертификата, где бы открытый ключ был в base64. Держу в руках 3 акта (BSS, Золотая корона, быстая почта) – везде 16.
комментариев: 11558 документов: 1036 редакций: 4118
Ух ты! А что же это?
комментариев: 4 документов: 1 редакций: 0
Я в своем сообщении не приводил "сертификат OpenSSH". Черным по белому написанно – ключ. Там же приведен пример ключа.
При чем тут OpenPGP? Меня он сейчас опять же в данном случае не интересует.
Все ваши сообщения не по теме, а показать что вы что-то знаете.
Кодировка – 1251, utf-8, ascii
base64 – позиционная система счисления с основанием 64
Разница надеюсь чувствуется
комментариев: 11558 документов: 1036 редакций: 4118
Учите матчасть. Надеюсь, сами разберётесь, чем отличается система счисления с заданным основанием от кодировки?
комментариев: 111 документов: 9 редакций: 22
Первая подпись
комментариев: 4 документов: 1 редакций: 0
комментариев: 111 документов: 9 редакций: 22
Just my 2 cents.