id: Гость   вход   регистрация
текущее время 12:10 28/03/2024
Автор темы: face, тема открыта 08/12/2006 18:50 Печать
http://www.pgpru.com/Форум/Криптография/ШифрованиеБлочнымСимметричнымШифромДанныхРазмерКоторыхМешьшеРазмераБлока
создать
просмотр
ссылки

Шифрование блочным симметричным шифром данных, размер которых меньше размера блока


Можно конечно просто дополнить блок данных до размера блока, но тут возникает проблема определения реальной длинны блока после расшифрования. Какие будут мысли?


 
Комментарии
— serzh (08/12/2006 19:19, исправлен 08/12/2006 19:20)   профиль/связь   <#>
комментариев: 232   документов: 17   редакций: 99
Добавлять в канец данных спец. символ, после которого дополнить блок нулями. При расшифровке откидывать всё, что идёт после символа.
— face (08/12/2006 19:27)   профиль/связь   <#>
комментариев: 5   документов: 2   редакций: 0
проблема в том, что данные могут быть произвольные и содержать любую последовательно байт.
— face (08/12/2006 19:30)   профиль/связь   <#>
комментариев: 5   документов: 2   редакций: 0
похоже без передачи размера блока блока данных не обойтись
— serzh (08/12/2006 19:43, исправлен 08/12/2006 19:45)   профиль/связь   <#>
комментариев: 232   документов: 17   редакций: 99
В конец каждого блока добавляеш спец. символ завершения блока данных и, если он не является завершающим, добавляеш нули. При расшифровке из полученой строки, удаляеш все нули С КОНЦА включая спец. символ завершения блока данных. Если дальше и будет такой же символ, как и спец. то он уже ни на что не повлияет. Через длину блока можно, но это будет занимать больше времени на обработку.
— ygrek (08/12/2006 22:29)   профиль/связь   <#>
комментариев: 98   документов: 8   редакций: 10
Сделаю ударение что, добавлять надо в конец каждого блока (который может быть коротким).
Пример.
Пусть блок имеет вид ДАННЫЕ_СПЕЦСИМВОЛ_000000 и причём равен длине блока шифрования. Добавляем к нему спецсимвол (первый символ ещё одного блока) и заполняем остаток нулями. Т.е. в общем случае имеем более одного блока шифртекста на один недоблок открытого текста.
— ygrek (08/12/2006 22:41)   профиль/связь   <#>
комментариев: 98   документов: 8   редакций: 10
Если у вас сообщение длины более одного блока то можно использовать метод похищения шифртекста. При этом гарантируется что у вас будет ровно столько же блоков шифртекста сколько было блоков открытого текста.
— face (09/12/2006 11:21)   профиль/связь   <#>
комментариев: 5   документов: 2   редакций: 0
метод похищения шифртекста

в чем заключается метод?
— SATtva (09/12/2006 11:47)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
http://en.wikipedia.org/wiki/Ciphertext_stealing
— Гость (10/12/2006 18:38)   <#>
Добавлять в канец данных спец. символ, после которого дополнить блок нулями. При расшифровке откидывать всё, что идёт после символа.


Представьте себе, что вы получили четыре блока вида СПЕЦСИМВОЛ_000000
Это два блока с двумя заверающими или три с одним? ;)
— unknown (12/12/2006 22:35, исправлен 06/02/2007 14:13)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Самый простой для понимания (но не всегда подходящий для реализации) режим дополнения:

http://en.wikipedia.org/wiki/Residual_block_termination

Похожее обсуждение у нас было здесь:
/Форум/Криптография/РежимыШифрования
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3