Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > WinAPI
Перезагрузить страницу Использование CryptoAPI как реализовать
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
vvip vvip вне форума
Новичок
 
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 07.11.2003
По умолчанию Использование CryptoAPI как реализовать - 07.11.2003, 14:11

Здравствуйте!
Вопрос по CryptoAPI:

В MSDN описание функции CryptEncrypt есть примечание:
In Windows 2000 and later, the Microsoft Enhanced RSA Provider supports direct encryption with RSA public keys and decryption with RSA private keys.

Мне нужно реализовать: пользователь должен зашифровать данные своим ЗАКРЫТЫМ ключом и выложить шифрованные данные и ОТКРЫТЫЙ ключ на всеобщее обозрение. Таким образом никто кроме этого конкретного пользователя не может готовить данные, а читать могут все.

Насколько я понимаю из вышеприведенной ремарки из MSDN CryptoAPI предоставляет ТОЛЬКО обратное - шифрование в CryptEncrypt открытым ключом, а дешифрацию - закрытым.

Как средствами CryptoAPI получить то, что нужно мне?
Ответить с цитированием
  (#2 (permalink)) Старый
Ex Ex вне форума
Member
 
Сообщений: 411
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 25.07.2003
По умолчанию 10.11.2003, 10:10

Попробуй посмотреть тут http://www.rsdn.ru/article/crypto/cryptoapi.xml, а вообще тебе надо копать в сторону цифровой подписи.
Ответить с цитированием
  (#3 (permalink)) Старый
vvip vvip вне форума
Новичок
 
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 07.11.2003
По умолчанию 12.11.2003, 14:20

Ex,

мне требуется, чтобы никто кроме знающего закрытый ключ, не мог создать данную структуру (шифруемую закрытым ключом), а расшифровать могли все, знающие открытый ключ.

А подпись - ее и проигнорировать можно.
Ответить с цитированием
  (#4 (permalink)) Старый
Ex Ex вне форума
Member
 
Сообщений: 411
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 25.07.2003
По умолчанию 12.11.2003, 18:01

Цитата:
Originally posted by vvip
[b]А подпись - ее и проигнорировать можно.
Я намекал на то, что цифровая подпись действует по тому же принципу который нужен тебе, т.е. данные шифруются закрытым ключем, а расшифровываются открытым, а уж как это применить к твоей задачи подумай сам...
Ответить с цитированием
  (#5 (permalink)) Старый
Влад Влад вне форума
Специалист
 
Сообщений: 3,884
Сказал(а) спасибо: 1
Поблагодарили 25 раз(а) в 25 сообщениях
Регистрация: 27.06.2002
Адрес: Санкт-Петербург
По умолчанию 13.11.2003, 19:00

Хм, насколько я помню криптографию (эх, склероз, склероз...!), асимметричное шифрование основано как раз на том. что закрытый и открытый ключи являются "взаимно дополняющими" - все, что зашифровано открытым (public) ключом, можно расшифровать только закрытым (private) ключом, и наоборот - все, что зашифровано закрытым ключом, расшифровывается открытым. Так не все ли равно тебе, какой из пары ключей будет называться "открытым" ?
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
vvip vvip вне форума
Новичок
 
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 07.11.2003
По умолчанию 17.11.2003, 07:35

Влад,

мне - все равно. Не все равно программистам из Microsoft. Которые умудрились реализовать функцию CryptExportKey таким образом, что экспортируется либо ОТКРЫТЫЙ ключ, либо ВСЯ ПАРА - открытый и закрытый вместе. А экспортировать и выставить на всеобщее обозрение ТОЛЬКО ЗАКРЫТЫЙ - никак нельзя.

А если выставлятть всю пару - теряется всякий смысл действа как такового.

Ex,

Алгоритм подписи, которая шифрует закрытым ключом также неприменим - поскольку в этом случае шифруются хэш подписываемых данных, а не сами данные. А из хэша данных не восстановишь.

Вот и чешу вторую неделю репу - как же ж быть?
Ответить с цитированием
  (#7 (permalink)) Старый
chuvak2008 chuvak2008 вне форума
Новичок
 
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 25.05.2012
По умолчанию 25.05.2012, 15:00

Цитата:
Сообщение от vvip Посмотреть сообщение
Ex,

мне требуется, чтобы никто кроме знающего закрытый ключ, не мог создать данную структуру (шифруемую закрытым ключом), а расшифровать могли все, знающие открытый ключ.

А подпись - ее и проигнорировать можно.
Мне тоже самое надо! Подскажите кто-нибудь, как это можно сделать??
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование SSL w.hack PostgreSQL 0 28.06.2011 21:59
CryptoAPI, Delphi: Что нужно изменить в программе чтоб стал мой вариант задания Fissa WinAPI 6 09.11.2010 18:05
Использование GPU Neptun Программирование графики 0 13.09.2007 15:30
Использование dll bikart Visual Basic 2 11.09.2007 18:55
Локальное использование STL Madgeniy Visual C++ 4 29.10.2006 22:35
Использование RGB в приложении ESA C++ Builder 1 03.09.2006 14:17
Использование мат. констант imported_Krot С/С++ 7 19.06.2006 14:28
использование GD otstoy PHP 2 13.06.2006 14:00
Использование map в VC++ 6 zhekha Visual C++ 2 08.02.2006 12:35
VTK и его использование Slack Программирование графики 1 22.10.2004 18:41
Использование GetSystemMetrics etc WinAPI 1 11.05.2004 00:55
CryptoApi шифрование данных Anonymous WinAPI 0 16.04.2003 19:53



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов