Такой вот алгоритм шифрования
От: madprogrammer® Россия  
Дата: 18.07.03 09:08
Оценка:
Необходимо написать такой алгоритм шифрования, чтобы зашифрованный им блок данных (до 100 КБ) было уже невозможно
расшифровать по прошествии заданного промежутка времени. Предполагается (не точно), что пакеты будут передаваться по
сети (я тут подумал, что в качестве дополнительной, но слабой защиты в данном случае можно использовать поле TTL IP заголовка). Предложите свои варианты решения.

P.S. Требуется достаточно высокая степень криптостойкости...
Этот блок текста добавляется к каждому сообщению, разрешены коды форматирования
Re: Такой вот алгоритм шифрования
От: Аноним  
Дата: 18.07.03 09:31
Оценка: +1
M>P.S. Требуется достаточно высокая степень криптостойкости...

Эээ...
Данные отличаются от продуктов питания тем, что они не портятся со временем ))
Надежного алгоритма криптозащиты(с данными критериями) не может быть, т.к. дату-время всегда можно подделать.
Re: Такой вот алгоритм шифрования
От: Real 3L0 Россия http://prikhodko.blogspot.com
Дата: 21.07.03 00:47
Оценка:
Здравствуйте, madprogrammer®, Вы писали:

M>P.S. Требуется достаточно высокая степень криптостойкости...


Любой криптоалгоритм со временем ослабевает. Может использовать для малых промежутков времени — малую длину ключа ...
... << RSDN@Home 1.1 beta 1 >>
Вселенная бесконечна как вширь, так и вглубь.
Re: Такой вот алгоритм шифрования
От: WeCom Беларусь  
Дата: 21.07.03 07:26
Оценка:
Здравствуйте, madprogrammer®, Вы писали:

M> Необходимо написать такой алгоритм шифрования, чтобы зашифрованный им блок данных (до 100 КБ) было уже невозможно

M>расшифровать по прошествии заданного промежутка времени. Предполагается (не точно), что пакеты будут передаваться по
M>сети (я тут подумал, что в качестве дополнительной, но слабой защиты в данном случае можно использовать поле TTL IP заголовка). Предложите свои варианты решения.

Думаю в общем случае задача решиния не имеет (выше Аноним об этом сказал). Но если пакет проходит по некоторым узлам и требуется решение для конечного узла, то можно поступить следующим образом:
Открытый текст шифруется на получателя. Высчитывается контрольная характеристика (имитовставка/MAC) для возможности проверки правильности расшифровки. Далее, каждый (некоторые) узел на пути следования пакета выполняет следующую процедуру: генерирует случайный ключ определенной криптостойкости в зависимости от того, сколько времени прошло с начала жизни пакета (больше — сильнее ключ). Генерирует случайную последовательность данных. Случайную посл. приклеивает к пакету, шифрует случайным ключом, дополнительно контрольную характеристику и передает пакет дальше (вся остальная информация уничтожается). Алгоритм шифрования — какой-нибудь хороший симметричный алгоритм.
Получателю для расшифровки требуется выполнить N "взломов" методом грубой силы. Затем он получит оригинальный пакет зашифрованый специально для него. Соответственно, чем больше времени прошло до прихода пакета, тем больше раз потребуется "взламывать" и/или тем длиннее будут случайные ключи, кот. придется ломать.
Подойдет такая идея?
Re: Offtopic но прикольно
От: rgl  
Дата: 28.07.03 11:18
Оценка:
http://www.fandom.ru/about_fan/vorobevsky_1.htm
Re: Такой вот алгоритм шифрования
От: Gaperton http://gaperton.livejournal.com
Дата: 28.07.03 13:11
Оценка: :)
Здравствуйте, madprogrammer®, Вы писали:

M> Необходимо написать такой алгоритм шифрования, чтобы зашифрованный им блок данных (до 100 КБ) было уже невозможно

M>расшифровать по прошествии заданного промежутка времени. Предполагается (не точно), что пакеты будут передаваться по
M>сети (я тут подумал, что в качестве дополнительной, но слабой защиты в данном случае можно использовать поле TTL IP заголовка). Предложите свои варианты решения.

M>P.S. Требуется достаточно высокая степень криптостойкости...


Если вас заботит криптостойкость, не пытайтесь придумать свой алгоритм шифрования.
Для передачи данных через сеть используйте SSL.
Для шифрования "вообще" используйте нормальный криптопровайдер с доказанной криптостойкостью, например RSA который входит во все винды начиная с 95 OSR 2 (читайте хелп по криптоAPI). В современных виндах их есть бесплатно много хорошо и (что важно) уже работает.

В крайнем случае воспользуйтесь известными алгоритмами, реализованные в open source. Или вот здесь на RSDN есть статья про ГОСТ-освкий алгоритм несиметричного шифрования (он похож на DES).

Спасибо моим коллегам за советы
Re[2]: Такой вот алгоритм шифрования
От: Helium  
Дата: 28.07.03 20:43
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>Здравствуйте, madprogrammer®, Вы писали:


M>> ... чтобы зашифрованный им блок данных (до 100 КБ) было уже невозможно расшифровать по прошествии заданного промежутка времени.


В такой постановке задача не решаема. В этом я более чем уверен.
Могу предложить такой вариант: Зашифрованное сообщение можно расшифровать только в конкретный день ( при желании и час).
Re: Такой вот алгоритм шифрования
От: disop Украина  
Дата: 30.07.03 12:56
Оценка:
Здравствуйте, madprogrammer®, Вы писали:

M> Необходимо написать такой алгоритм шифрования, чтобы зашифрованный им блок данных (до 100 КБ) было уже невозможно

M>расшифровать по прошествии заданного промежутка времени.
M>P.S. Требуется достаточно высокая степень криптостойкости...
Алгоритма — не представляю. Конкретная реализация — вот:
Пусть расшифровщик будет сетевой программой, которая для расшифровки блока данных коннектится к серверу, получает от него текущее время (по шифрованному каналу, конечно) и сравнивает его с тем, что зашито (опять-таки в шифрованном виде в блоке данных. Если принятое время больше хранящегося в блоке — облом-с....

WBR, DisoP
Re: Такой вот алгоритм шифрования
От: Atilla Россия  
Дата: 30.07.03 19:41
Оценка: 10 (1)
Без выделенного сервера, который бы проверял время тут никак не обойдешься (в противном случае злой хакер в любой момент сможет подкрутить часы и все расшифровать). Само сообщение лучше шифровать каким-нибудь алгоритмом с симметричным ключём (DES3 и др.), таким образом задача сводится к тому, чтобы составить такой сообщение, которое можно было бы передать проверяющему серверу и сервер мог по этому сообщению в зависимости от текущего времени подсчитать симметричный ключ, которым зашифровано само сообщение.
Итак, есть 3 действующих лица: Отправитель, Получатель и Сервер. У двоих последних есть пара ключей — закрытый и открытый.

Решение может быть таким:
1. Отправитель генерирует симметричный ключ X, затем шифрует им свое сообщение, а сам ключ шифрует открытым ключем Получателя (чтобы сообщение не смог прочитать даже админ Сервера): C=Eп(X). Затем отправитель генерирует случайное число Y, шифрует его, а также сумму Y и срока годности сообщения открытым ключем Сервера: C1=Eс(Y), C2=Eс(Y+T), и еще прибавляет это случайное число к C: C3=C+Y. Затем отсылает Получателю зашифрованное сообщение и три числа: C1, C2, C3.
2. Получатель берет числа C1, C2, C3 и отсылает их Серверу.
3. Сервер расшифровывает C1 своим закрытым ключем: Y=Dс(C1), вычисляет срок годности сообщения: T=Dс(C2)-Y и если он еще не истек, то вычисляет C=C3-Y и отправляет его Получателю.
4. Получатель вычисляет симметричный ключ: X=Dп(C).

Нетрудно проверить, что без использования метода грубой силы сообщение расшифровать может только Получатель, однако "подогнать" срок годности сообщения он не может (если только поставив ящик пива администратору проверяющего Сервера).
Кр-ть — с.т.
Re: Такой вот алгоритм шифрования
От: Lepsik Индия figvam.ca
Дата: 19.02.06 21:41
Оценка:
M>P.S. Требуется достаточно высокая степень криптостойкости...

одноразовые ключи размером по 100К.

декодированию не подлежит, если используется хороший аппаратный генератор ключей
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.