| ||||
| ||||
Здравствуйте. Необходимо чтобы получатель не смог расшифровать сообщение раньше дня Д часа Ч. Подскажите как такое можно реализовать. Спасибо. | ||||
Ответы: | ||||
| ||||
Не давать ему ключ до этого времени | ||||
| ||||
Т.е. по шагам Генерирую сертификат, экспортирую открытый ключ и рассылаю отправителям сообщений,в час Ч экспортирую закрытый ключ и отправляю получателю. Так ? Если так подскажите пожалуйста 1. Какими функциями CriptoApi это делается. 2. Как автоматизировать запрос и сохранение сертификата Спасибо. | ||||
| ||||
Скорее всего не так. Зашифровать данные на случайном ключе, например от пароля. (CryptDeriveKey). Этот ключ в зашифрованном виде дла каждого получателя разослать. | ||||
| ||||
Отправителей много, а получатель один. И получается что для расшифровки каждого сообщения нужен свой ключ? Для расшифровки не раньше часа Ч отправитель должен послать свой ключ в час Ч? Если да, то не подходит. А почему не подходит такая схема третья сторона запрашивает в ЦС сертификат, экспортирует открытый ключ (CryptQueryObject) и рассылает его отправителям. В час Ч получатель запрашивает у третьей стороны закрытый ключ, которая предоставляет его (CryptAquireCertificatePrivateKey) ? Спасибо. | ||||
| ||||
Нельзя сертификат сделать без закрытого ключа. И за все эти закрытые ключи вы будете отвечать? А передавать вы их в открытом виде будете? | ||||
| ||||
За сохранность закрытого ключа отвечает третья сторона(до часа Ч). Закрытый ключ представляет ценность только до часа Ч.(сообщения не могут быть расшифрованы раньше) | ||||
| ||||
Это классическая задача вручения битов(в английском варианте - Bit Commitment). Есть 3 варианта решения(приведу только два): 1. С помощью симметричного шифрования Задача: Алиса должна передать информацию Бобу так, чтобы он смог ее узнать только в определенный момент. При этом обе стороны должны иметь возможность проверить честность партнера. Протокол решения: 1) Боб формирует случайную строку R и отправляет ее Алисе. 2) Алиса создает сообщение, состоящее из битов(b), которые она хочет вручить, и строки Боба. Затем она шифрует сообщение случайным ключом K и отправляет Бобу результат E_K(R,b). 3) Когда приходит время, Алиса отправляет Бобу ключ 4) Боб расшифровывает сообщение, проверяет свою случайную строку и получает биты. 2. С помощью хэш-функции 1) Алиса формирует две случайных строки R1,R2. 2) Алиса составляет сообщение из этих строк и вручаемых битов(R1,R2,b). 3) Алиса считает хэш и отправляет Бобу вместе с одной из случайных строк H(R1,R2,b),R1 4) Когда время пришло, Алиса отправляет Бобу исходное сообщение (R1,R2,b). 5) Боб проверяет R1 и хэш и получает биты. | ||||
| ||||
Проблема в том что отправитель не всегда может отправить ключ. | ||||
| ||||
Положите ключ в сейф. | ||||