01.09.2006 14:29:18Шиврование сообщений Ответов: 9
новичок
Здравствуйте.

Необходимо чтобы получатель не смог расшифровать сообщение раньше дня Д часа Ч.
Подскажите как такое можно реализовать.
Спасибо.

 
Ответы:
01.09.2006 15:09:19kure
Не давать ему ключ до этого времени
01.09.2006 15:18:02новичок
Т.е. по шагам
Генерирую сертификат, экспортирую открытый ключ и рассылаю отправителям сообщений,в час Ч экспортирую
закрытый ключ и отправляю получателю. Так ?
Если так подскажите пожалуйста
1. Какими функциями CriptoApi это делается.
2. Как автоматизировать запрос и сохранение сертификата
Спасибо.
01.09.2006 17:29:50kure
Скорее всего не так.
Зашифровать данные на случайном ключе, например от пароля. (CryptDeriveKey).
Этот ключ в зашифрованном виде дла каждого получателя разослать.
01.09.2006 17:48:14новичок
Отправителей много, а получатель один.
И получается что для расшифровки каждого сообщения нужен свой ключ?
Для расшифровки не раньше часа Ч отправитель должен послать свой ключ в час Ч? Если да, то не подходит.

А почему не подходит такая схема третья сторона запрашивает в ЦС сертификат, экспортирует открытый ключ (CryptQueryObject) и рассылает его отправителям. В час Ч получатель запрашивает у третьей стороны закрытый ключ,
которая предоставляет его (CryptAquireCertificatePrivateKey) ?
Спасибо.
01.09.2006 17:51:03kure
Нельзя сертификат сделать без закрытого ключа.
И за все эти закрытые ключи вы будете отвечать?
А передавать вы их в открытом виде будете?
01.09.2006 17:55:41новичок
За сохранность закрытого ключа отвечает третья сторона(до часа Ч).

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

05.09.2006 13:52:26andros
Это классическая задача вручения битов(в английском варианте - 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 и хэш и получает биты.
05.09.2006 17:43:14новичок
Проблема в том что отправитель не всегда может отправить
ключ.
06.09.2006 8:46:31kure
Положите ключ в сейф.