Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Andrey Sapozhnikov                   2:5020/400     03 Dec 2002  22:32:26
 To : vilfred
 Subject : Re: ну эта
 -------------------------------------------------------------------------------- 
 
 vilfred wrote:
 
  > tim пишет:
  >
  >>А я с шифрованием совсем не знаком. Подскажи
  >>ключевые слова, чтоб хоть
  >>направление знал куда копать :-)
  >
 > умножил на 3,14159
 > разделил на 2,718281828459045289
 > 
 > Короче берешь на случайное число умножаешь и в следющем действии юзера 
 > делишь. или сдвигаешь на байт влево или вправо.
 
 Криптостойкость подобного "шифра" в общем случае будет
 чрезвычайно низка. Достаточно отметить, не проводя
 дополнительного анализа стойкости, что данный "шифр"
 абсолютно не отвечает принципу Кирхгофа. А
 последовательность арифметических операций умножения
 и деления вообще бессмысленна по той причине, что
 (x * k1) / k2 = x * (k1 / k2), где константное
 значение k1/k2 и будет являться ключом данного "шифра".
 Я бы хотел отметить, что создание новых стойких
 алгоритмов шифрования исключительно сложный процесс,
 требующий большого объема математичиских доказательств
 и если только Вы не специалист в области криптографии,
 то заниматься подобным не только бесполезно, но и
 вредно в силу создания иллюзий защищенности системы.
 Лучше воспользоваться готовыми проверенными алгоритмами
 криптования, хотя для того, чтоб их грамотно применить
 вме равно нужны базовые знания в области криптографии.
 Применительно к Perl я рекомендовал бы использовать
 
 Crypt::Rijndael    (Rijndael cipher, now AES)
 Crypt::Rijndael_PP (pure-perl implementation)
 Crypt::GOST        (ГОСТ 28147-89)
 Crypt::GOST_PP     (pure-perl implementation)
 Crypt::Twofish2
 Crypt::IDEA
 
 в большинстве случаев вместе с модулем
 
 Crypt::CBC
 
 и в качестве асиммметричных алгоритмов:
 
 Crypt::DSA
 Crypt::RSA
 
 впрочем, для данной задачи они не нужны.
 
 Приблизительная схема использования шифрования в данной
 задаче (упрощенно-схематически):
 
 1. Создание криптованного сообщения самому себе.
 
 use Crypt::CBC;
 
 my $plaintext = (time() + 180) . "&$param1&$param2";
 my $cipher = Crypt::CBC->new( {
          'key'    => 't0p $eKreT |<eY',
          'cipher' => 'Rijndael'
      } );
 
 my $ciphertext = $cipher->encrypt_hex($plaintext);
 
 print "window.open('my_perl_script.cgi?p=$ciphertext', ",
      "'mywin', 'height=200, width=300');\n";
 
 2. Получение сообщения, декриптование, проверка валидности.
 
 use CGI;
 use Crypt::CBC;
 use MIME::Base64;
 
 my $ciphertext = param('p') or
    die "mandatory parameter not passed";
 
 my $cipher = Crypt::CBC->new( {
          'key'    => 't0p $eKreT |<eY',
          'cipher' => 'Rijndael'
      } );
 
 my $plaintext = $cipher->decrypt_hex($ciphertext) or
      die "decryption failed";
 
 $plaintext =~ /^(\d+)&(\w+)&(\w+)$/ or
      die "validation failed\n";
 
 time() <= $1 or die "parameter expired";
 
 my ($param1, $param2) = ($2, $3);
 В данном случае модуль Crypt::CBC решает за нас
 несколько задач - дополнение ключа и данных до
 размера блока требуемого данному алгоритму
 криптования, генерацию случайного IV (начального
 вектора), криптование и упаковку результата
 в строку.
 
 Андрей
 
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 hackers mustdie :-)   tim   02 Dec 2002 16:55:28 
 Re: hackers mustdie :-)   Andrey N. Demushkin   02 Dec 2002 18:35:16 
 hackers mustdie :-)   Ivan Frolcov   02 Dec 2002 19:21:54 
 Re: hackers mustdie :-)   tim   03 Dec 2002 16:17:31 
 ну эта   vilfred   03 Dec 2002 18:28:56 
 Re: ну эта   Andrey Sapozhnikov   03 Dec 2002 22:32:26 
 Re: ну эта   Ivan Frolcov   04 Dec 2002 01:27:21 
 Re: ну эта   Artem Chuprina   04 Dec 2002 15:00:25 
 Re: ну эта   Ivan Frolcov   04 Dec 2002 15:08:37 
 Re: ну эта   Artem Chuprina   04 Dec 2002 18:13:56 
 Re: ну эта   Ivan Frolcov   04 Dec 2002 18:42:54 
 Re: ну эта   Andrey Sapozhnikov   04 Dec 2002 20:27:47 
 Re: ну эта   Konstantin Tokar   04 Dec 2002 18:50:20 
 Re: ну эта   Andrey Sapozhnikov   04 Dec 2002 20:35:24 
 Re: hackers mustdie :-)   Ivan Frolcov   03 Dec 2002 21:45:01 
 Re: hackers mustdie :-)   Artem Chuprina   02 Dec 2002 19:32:27 
Архивное /ru.cgi.perl/6577bfab9bfa.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional