id: Гость   вход   регистрация
текущее время 09:32 29/03/2024
Автор темы: Гость, тема открыта 19/12/2003 20:11 Печать
http://www.pgpru.com/Форум/РаботаСPGP/КакПроверитьОтКогоПолученФайлИСравнитЕгоПодписьС
создать
просмотр
ссылки

Как проверить от кого получен файл и сравнит его подпись с


Как проверить от кого получен файл и сравнит его подпись с имеющися у меня в с вязке ключей и все это сделать программно . Пишу на с++


 
Комментарии
— SATtva (19/12/2003 21:24)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Bas1, либо приспосабливай не скомпилированный вариант PGP или GnuPG, либо используй PGP SDK (см. раздел Ссылки). При большом желании можно и собственное приложение написать по спецификациям RFC 2440 (OpenPGP). Исходников криптографических алгоритмов и литературы по ним в Сети предостаточно.
— Гость (20/12/2003 13:55)   <#>
Почему -sba тоесть отделение подписи от сообщения не совпадают с открытым ключем?
— Гость (20/12/2003 14:48)   <#>
Другими словами как мне удостоверится что полученный мною файл подписанный моим открытым ключем подписан Петровым а не Ивановым
какими ключами это можно сделать и с чем сравнивать (у меня есть открытый ключ Петрова . Мой открытый ключ Петров передал Иванову)
— Гость (20/12/2003 15:25)   <#>
pgp 6.5.8
— SATtva (20/12/2003 15:56)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
...как мне удостоверится что полученный мною файл подписанный моим открытым ключем подписан Петровым а не Ивановым

Подписание производится закрытым ключом отправителя. Скажем, Петров отправляет тебе подписанный файл. Его PGP вычисляет хэш-значение подписываемого файла, затем зашифровывает это хэш-значение закрытым ключом Петрова. Зашифрованное хэш-значение (ЭЦП) + файл высылаются тебе.

Сверка ЭЦП производится твоей копией открытого ключа Петрова. Твой PGP повторно вычисляет хэш-значение присланного файла, расшифровывает присланное хэш-значение ЭЦП открытым ключом Петрова, обе контрольные суммы сравниваются. Если они совпадают, значит, во-первых, ЭЦП верна (т.е. информация не была модифицирована в процессе передачи) и, во-вторых, была проставлена именно Петровым, поскольку только он обладает данным закрытым ключом.

Цифровое подписание информации даёт безошибочное указание на её авторство, иными словами, каким закрытым ключом она была заверена. Проблема может возникнуть в случае, если информация ТОЛЬКО зашифрована (без подписания) асимметричным ключом — в этом случае определить отправителя криптографическими методами невозможно, поскольку зашифрование производится открытым ключом получателя (твоим в нашем примере) и сделать это может кто угодно.

Короче, учи матчасть. :)
http://www.pgpru.com/manuals/intro/
— Гость (22/12/2003 09:45)   <#>
обе контрольные суммы сравниваются.
Вот иммено я и хочу увидеть в файле что информация пришла от Петрова
когда я задаю pgp -sb ff.pgp -u мойId -o sign
у меня в sign
**Документы подписываются посредством добавления перед ними
удостоверяющей подписи, которая содержит идентификатор ключа,
использованного для подписи, подписанный секретным ключом
дайджест сообщения и метку даты и времени, когда подпись была
сгенерирована. Идентификатор ключа используется получателем
сообщения, чтобы найти открытый ключ для проверки подписи.
Программное обеспечение получателя автоматически ищет открытый
ключ отправителя и идентификатор пользователя в каталоге открытых
ключей получателя.**

Как мне выташить эту информацию в файл (экран и т.д.)
— Гость (22/12/2003 14:18)   <#>
или как настроить ver 6.5.8 чтобы после сообщения " signature not checked."
он мне не раскрывал файл а оставлял как есть.
а при "Good signature from user "вася".
Signature made 2003/12/22 08:51 GMT"
открывал файл.
в старых версиях он так и делает.
— Гость (25/03/2004 17:08)   <#>
http://www.rsdn.ru/article/crypto/easypgp.xml
— SATtva (25/03/2004 18:42)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Об использовании SDK в коммерческих разработках:
http://www.pgpru.com/forum/viewtopic.php?t=372
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3