Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
beginner2
Сообщений: n/a
#1

Требуется осуществить шифрование файлов по схеме публичного ключа - C++

02.02.2008, 11:18. Просмотров 1256. Ответов 1
Метки нет (Все метки)

Господа!
Нужна помощь опытных людей в использовании CryptoAPI.
Требуется осуществить шифрование файлов по схеме публичного ключа.
Зашифровывать нужно на основе приватного ключа, расшифровывать, ессно, публичным.
Я так понял, что шифровать приватным ключом напрямую нельзя, им шифруется только сессионный, а сессионным - собсно данные.
Ну да бог с ним. Зашифровать получается, расшифровать импортированным из файла публичным тоже.
НО! На другой машине или на этой же (но с новым контейнером ключей) при расшифровке ключ сессии не хочет импортироваться с тем публичным ключом.
Неужели приватный ключ используется при импорте сессионного ключа?!
Тогда какой смысл в таком обмене ключей вообще?
Подскажите, может, что-то не так делаю. Если есть исходники, с удовольствием их изучу.
Заранее благодарен всем ответившим.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.02.2008, 11:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Требуется осуществить шифрование файлов по схеме публичного ключа (C++):

Шифрование файлов по схеме публичного ключа - Delphi
Господа! Нужна помощь опытных людей в использовании CryptoAPI. Требуется осуществить шифрование файлов по схеме публичного ключа. ...

RSA Шифрование на основе публичного ключа и экспоненты - Delphi
Сегодня обгуглился уже... Как в делфях вообще реализовывается это шифрование?

Передача публичного RSA ключа - C#
Здравствуйте уважаемые форумчане. Недавно начал изучение криптографических возможностей языка c#. Для тренировки решил написать сервер и...

Достать число из публичного ключа RSA - C#
У меня есть публичный ключ алгоритма RSA, он выглядит так: ...

Генерация публичного ключа по приватному в алгоритме DSA - C#
Добрый день, народ. Хочу подписать и проверить электронную цифровую подпись используя алгоритм DSA. MSDN генерирует ключи...

При установке wine пишет, что нет публичного ключа - Ubuntu Linux
при установке wine пишет W: Ошибка GPG: http://ppa.launchpad.net lucid Release: Следующие подписи не могут быть проверены, так как...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
03.02.2008, 12:19 #2
Тут видимо небольшое недопонимание, самого механизма PKI (Public Key Infrastructure):
Приватный ключ НИКОГДА не используется для шифрования!
Работает это следующим образом. Создается пара ключей: Public Key (PuK) и Private Key (PrK). Эта пара помещается в хранилище ключей которое храниться у владельца и дополнительно запоролено, чтобы люди со стороны не могли воспользоваться. PuK используется для создания сертификата, точнее он входит в его состав Certificate (Cer). Далее Cer становится достоянием общественности, любой может получить доступ к нему. Именно поэтому PrK никогда не используется для шифрования, так как любой может расшивровать сообщение используюя PuK из Cer. Ключи же используются обратным образом:
1. Все кто получил Cer владельца PrK могут шифровать свои сообщения используя PuK и отсылать их владельцу, и быть уверены, что только он может расшифровать и прочитать это сообщение.
2. Владелец PrK может подписать свое сообщение цифровой электронной подписью - байт код созданный на основе содержания письма и зашифрованный PrK. Получатель используя PuK из Cer отправителя пытается расшифровать подпись и сравнить с байт кодом созданным на основе содержания письма по той же схеме. Если код не совпадает с расшифрованной подписью, то либо отправитель пользовался не правильным ключом, то есть на самом деле, это другой отправитель, либо содержание письма было изменено во время передачи. То есть такому письму в любом случае доверять нельзя. В дополнение к подписи, владелец PrK может зашифровать сообщение используя PuK из Cer получателя, если таковой у него имеется, если нет, то он может его запросить.

Вот вкратце... А как использовать тот или иной CryptoAPI это уж извини, я почти уверен, что мы пользовались разными библиотеками

Удачи, Владимир
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.02.2008, 12:19
Привет! Вот еще темы с ответами:

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

Назначение элементов ключа по схеме с ОЭ - Электротехника
2. Потенциальные критерии режимов отсечки и активного режима. 3. Потенциальные критерии режимов насыщения и инверсного режима. ...

Работа биполярного транзистора в схеме ключа - Электротехника
Почему при увеличении сопротивления резистора в цепи коллектора уменьшается время рассасывания?

Шифрование ключа - Delphi
Всем доброе время суток, есть значение HDD "ST3250620AS" подскажите как его зашифровать так что бы были все цифры а не буквы и цифры? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru