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


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Andrey Dashkovsky                    2:5002/46.4    29 Jan 2002  23:01:32
 To : Aleksey Nilov
 Subject : Re: шифрование с быстрой расшифровкой
 -------------------------------------------------------------------------------- 
 
 28 Янв 02 17:47, you wrote to Slava Shevtsov:
 
  SS>> День добрый, Дмитpий!
  SS>>
  DT>> возникла вот какая задача: есть база данных, в ней в BLOB-поле -
  DT>> векторные картинки (WMF). Их нужно защить от воровства. Главное
  DT>> требование - очень быстрый алгоритм расшифровки, чтобы при
  DT>> просмотре моей программой это дело не тормозило. К счастью,
  DT>> картинки маленькие,  килобайт по 20-30. Что посоветуете?
 
  AN> [...]
 
  SS>> Ваpиант номеp два: генеpишь с помощью random последывательность
  SS>> случайных чисел от 0 до 255 и шифpуешь ею с помощью xor (или
  SS>> побайтово вычитаешь - на выбоp, для дешифpовки генеpишь туже
  SS>> последывательность и побайтово пpибавляешь). Тоже очень быстpый и
  SS>> достаточно надежный способ.
 
  AN> Этот метод случаем не гаммиpованием завется?
 
  AN> P.S. Мож алл подскажет алгоpитм генеpации последовательности из N
  AN> случайных чисел по заданным паpаметpам (ключе), желательно чтоб
  AN> pаботала не медленнее чем за линейное вpемя.
 
 {-*******************************************************-}
 var buf:Array[byte] of byte; x,y:Integer;
 procedure InitKeyRC4;
 var s:String;t,c,sum:Integer; i:Byte;
 begin for i:=0 to 255 do buf[i]:=i;
  s:=Num2Str(Key^);{Сдесь по своему усмотрению, главное строку получить в
 качестве ключа}
  i:=0;Sum:=0;
  for c:=0 to 255 do
   begin
    inc(sum,Byte(s[i+1])+buf[c]);
    sum:=sum and 255;
    t:=buf[sum];buf[sum]:=buf[c];buf[c]:=t;
    inc(i);i:=i mod Length(s);
   end;
  x:=0;y:=0;
 end;
 {-*******************************************************-}
 function RandomRC4:Byte; var c:Integer;
 begin
  inc(y,buf[x]); y:=y and 255; inc(x); x:=x and 255;
  c:=buf[x]; buf[x]:=buf[y]; buf[y]:=c;
  RandomRC4:=buf[(buf[x]+buf[y]) and 255];
 end;
 {-*******************************************************-}
 
 Довольно шустро и криптостойко.
 
 Andrey
 
 ... Стары ворон не какнет мимо.
 --- GoldED+/386 1.1.4.7
  * Origin: Всёфигня кроме пчёл,хотя пчёлы,еслиподумать,тоже фигня (2:5002/46.4)
 
 

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

 Тема:    Автор:    Дата:  
 шифрование с быстрой расшифровкой   Dmitry Troitsky   26 Jan 2002 14:46:13 
 Re: шифрование с быстрой расшифровкой   Valentin Davydov   26 Jan 2002 17:16:14 
 Re: шифрование с быстрой расшифровкой   Nick Kovaliov   26 Jan 2002 17:42:42 
 шифрование с быстрой расшифровкой   Alex Astafiev   27 Jan 2002 01:09:41 
 шифрование с быстрой расшифровкой   Slava Shevtsov   27 Jan 2002 00:19:42 
 шифрование с быстрой расшифровкой   Aleksey Nilov   28 Jan 2002 18:47:30 
 шифрование с быстрой расшифровкой   Sergey Kabikov   29 Jan 2002 14:35:52 
 Re: шифрование с быстрой расшифровкой   Andrey Dashkovsky   29 Jan 2002 23:01:32 
 Re: шифрование с быстрой расшифровкой   Oleg I. Khovayko   28 Jan 2002 19:15:36 
 Re: шифрование с быстрой расшифровкой   Comoderator Of Ru Algorithms   28 Jan 2002 21:10:00 
Архивное /ru.algorithms/143013c571c48.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional