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


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Andrey Sapozhnikov                   2:5020/400     04 Dec 2002  20:27:47
 To : Artem Chuprina
 Subject : Re: ну эта
 -------------------------------------------------------------------------------- 
 
 Artem Chuprina wrote:
 
 > Здравствуй, Ivan Frolcov.
 > 
 >  IF>>> >Crypt::Twofish2
 >  IF>>> >Crypt::IDEA
 >  IF>>> Hет чистоперловой реализации.
 >  AC>> Для числодробилки? Гм...
 > 
 > IF> Hет, для левого случайного хостинга. 
 > 
 > У них в сишной-то реализации ассемблерными вставками народ развлекается, а ты
 > pure perl хочешь... Они ж с открытым ключом, они тяжелые по определению.
 
 IDEA и Twofish - это симметричные алгоритмы (т.е. с закрытым ключом).
 
 Кстати, я тут проделал небольшой сравнительный бенчмарк сайферов.
 Сайферы которые не умеют работать с Crypt::CBC - выбросил, за
 исключением GOST_PP - его поправить оказалось проще простого
 (причем не изменяя сам модуль).
 
 Benchmark: running Blowfish, Blowfish_PP, CAST5, CAST5_PP, DES, DES_EDE3, 
 DES_PP, GOST, GOST_PP, IDEA, Rijndael, Rijndael_PP, Serpent, TEA, Twofish, 
 Twofish2 for at least 5 CPU seconds...
    Blowfish:  5 wallclock secs ( 5.33 usr +  0.00 sys =  5.33 CPU) @ 1201.69/s 
 (n=6405)
 Blowfish_PP:  6 wallclock secs ( 5.08 usr +  0.00 sys =  5.08 CPU) @  6.69/s 
 (n=34)
       CAST5:  6 wallclock secs ( 5.26 usr +  0.00 sys =  5.26 CPU) @ 1459.89/s 
 (n=7679)
    CAST5_PP:  5 wallclock secs ( 5.08 usr +  0.12 sys =  5.20 CPU) @ 124.23/s 
 (n=646)
         DES:  6 wallclock secs ( 5.31 usr +  0.00 sys =  5.31 CPU) @ 1391.53/s 
 (n=7389)
    DES_EDE3:  5 wallclock secs ( 5.30 usr +  0.01 sys =  5.31 CPU) @ 1076.84/s 
 (n=5718)
      DES_PP:  6 wallclock secs ( 5.10 usr +  0.02 sys =  5.12 CPU) @ 549.80/s 
 (n=2815)
        GOST:  5 wallclock secs ( 5.15 usr +  0.01 sys =  5.16 CPU) @ 1365.31/s 
 (n=7045)
     GOST_PP:  7 wallclock secs ( 4.57 usr +  0.70 sys =  5.27 CPU) @ 135.10/s 
 (n=712)
        IDEA:  5 wallclock secs ( 5.23 usr +  0.01 sys =  5.24 CPU) @ 1383.97/s 
 (n=7252)
    Rijndael:  6 wallclock secs ( 5.34 usr +  0.00 sys =  5.34 CPU) @ 1362.73/s 
 (n=7277)
 Rijndael_PP:  5 wallclock secs ( 5.25 usr +  0.06 sys =  5.31 CPU) @ 54.80/s 
 (n=291)
     Serpent:  5 wallclock secs ( 5.26 usr +  0.02 sys =  5.28 CPU) @ 1235.42/s 
 (n=6523)
         TEA:  6 wallclock secs ( 5.25 usr +  0.00 sys =  5.25 CPU) @ 1332.00/s 
 (n=6993)
     Twofish:  5 wallclock secs ( 5.29 usr +  0.00 sys =  5.29 CPU) @ 1258.22/s 
 (n=6656)
    Twofish2:  6 wallclock secs ( 5.30 usr +  0.00 sys =  5.30 CPU) @ 1303.21/s 
 (n=6907)
 
 Вот код замерялки:
 ---------------------------------------------------------------------
 #!/usr/bin/perl -w
 use strict;
 use Crypt::CBC;
 use Benchmark;
 
 sub Crypt::GOST_PP::keysize { 32 }
 sub Crypt::GOST_PP::blocksize {  8 }
 
 my @ciphers = qw(
      Blowfish Blowfish_PP
      GOST GOST_PP
      CAST5 CAST5_PP
      DES_EDE3
      DES DES_PP
      Rijndael Rijndael_PP
      Serpent Twofish Twofish2
      IDEA TEA
 );
 
 my %dotest;
 
 foreach (@ciphers) {
      my $cipher = "Crypt::$_";
 
      $dotest{$_} = sub {
   my $c = Crypt::CBC->new( {
       'key'             => '12341234',
       'cipher'          => "$cipher"
   } );
   $c->decrypt($c->encrypt('test line')) eq 'test line' or
   die "cipher error";
      };
 }
 
 timethese -5, \%dotest;
 ------------------------------ EOF ---------------------------
 
 Самым быстрым из pure-perl оказался DES_PP. Из сайферов с
 большим размером ключа наиболее быстрые GOST_PP и CAST5_PP.
 Blowfish_PP - в пролете, скорость черепашья. А вот Rijndael_PP
 вполне себе неплох, хотя вдвое медленнее CAST5_PP. C-шные
 реализации показали близкую скорость, очевидно решающим
 фактором тут уже становится Crypt::CBC. Отказ от регенерации
 ключа в Crypt::CBC не приводит к заметному ускорению -
 Digest::MD5 чрезвычайно быстр. Hа моей машине (P4 1.7GHz) он
 показывает 307235.08/s.
 
 Андрей
 
 --- 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/65772c56f846.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional