Привет! Есть файл, закодированный с помощью RC4. Файл гарантированно валидный. Я написал простенький дешифровщик на Perl с помощью враппера в libgcrypt. Вот этот скриптик: ############################################################### #!/usr/local/bin/perl use strict; use Crypt::GCrypt; my $cipher = Crypt::GCrypt->new( type => 'cipher', algorithm => 'arcfour', mode => 'stream' ); $cipher->start('decrypting'); $cipher->setkey('dima'); binmode STDOUT; binmode STDIN; my $size = $ENV{'DECRYPT_SIZE'}; my $buf; my $rc; while($rc = sysread(STDIN, $buf, $size)) { my $plaintext = $cipher->decrypt($buf); } print STDERR "RC = '$rc' ($!)\n" unless defined $rc; ############################################################### Как видно, размер буфера для чтения задается с помощью переменной окружения DECRYPT_SIZE. Далее прочитанный кусок закодированного файла передается в библиотечный вызов. Вот что я получаю при изменении размера буфера чтения от 1 до 9: krivenok@develop ~/work/misc/crypt $ for ((i=1;i<10;i++)) do export DECRYPT_SIZE=$i && echo "*** $i ***" && cat file.rc4 | ./decoder_test.pl ; done *** 1 *** *** 2 *** panic: sv_setpvn called with negative strlen at ./decoder_test.pl line 25. *** 3 *** *** 4 *** panic: sv_setpvn called with negative strlen at ./decoder_test.pl line 25. *** 5 *** *** 6 *** *** 7 *** panic: sv_setpvn called with negative strlen at ./decoder_test.pl line 25. *** 8 *** *** 9 *** krivenok@develop ~/work/misc/crypt $ Для буфера размером 1,3,5,6,8 и 9 байт всё ОК. А для 2,4 и 7 байт вылезает какая-то ошибка (внутри библиотеки). Основной вопрос следующий: Могу ли я подсовывать дешифровщику шифрованный текст кусками любого размера? Имеется ввиду с точки зрения алгоритма RC4. Или я должен на вход дешифровщика подавать куски того же размера, что и на выходе шифровщика (это работает - проверено опытным путем)? Размер при этом естественно может быть переменным.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Gentoo, Stage2 и MC. Что делаю не правильно? (2008)
- Форум Пример дешифровки прошивки (2016)
- Форум Задача на дешифровку. (2014)
- Форум Gentoo переезд с 13 на 17 профиль (2018)
- Форум Failed to emerge dev-java/oracle-jre-bin-1.7.0.71 (2014)
- Форум WineGame 0.1-rc4 & Winestuff 0.1-rc4 (2010)
- Форум XTBL дешифровка на суперкомпьютере (2015)
- Форум [Шифр Цезаря] Способы дешифровки (2011)
- Форум VirtualBox 4.2.0 RC4 (2012)
- Новости PostgreSQL 7.1 RC4 (2001)