Крипто-форум crprogram.16mb.com

Програмування, Delphi, криптографія, криптоаналіз, шифри, вихідні коди, вирішення задач, приклади програм

Часовий пояс: UTC десь + 2 години




Розпочати нову тему Відповісти  [ 5 повідомлень ] 
Автор Повідомлення
 Заголовок повідомлення: RC4
СообщениеДодано: 09 гру 2014, 20:48 
Не в мережі

Повідомлень: 502
RC4 - потоковий шифр, який розробив Рон Рівест (анг. Ron Rivest) у 1987 році
(у американській фірмі RSA Security.)


Повернутися наверх
  
 
 Заголовок повідомлення: Re: RC4
СообщениеДодано: 09 гру 2014, 20:48 
Не в мережі

Повідомлень: 362
RC4 - торгова марка компанії RSA Security, тому алгоритм RC4 використовують під назвою ARC4 (alleged RC4).


Повернутися наверх
  
 
 Заголовок повідомлення: Re: RC4
СообщениеДодано: 09 гру 2014, 20:48 
Не в мережі

Повідомлень: 282
Загальні змінні:
Код:
var
  Form1: TForm1;
  C,P:array[0..16000] of byte;
  Key:array[0..64] of byte;
  N,L:integer;

Де
N - довжина тексту.
L - довжина ключа.

Реалізація ARC4:
Код:
procedure RC4;
var
S:array[0..255] of byte;
i,j,m:integer;
t:byte;
begin

for i:= 0 to 255 do
begin
  S[i]:= i;
end;

j:= 0;
for i:= 0 to 255 do
begin
  j:= (j + S[i] + Key[i mod L]) mod 256;
  t:=S[i];
  S[i]:=S[j];
  S[j]:=t;
end;

j:= 0;
i:=0;
for m:=1 to N do
begin
  i:= (i + 1) mod 256;
  j:= (j + S[i]) mod 256;

  t:=S[i];
  S[i]:=S[j];
  S[j]:=t;

  t:= S[(S[i] + S[j]) mod 256];

  C[m]:=P[m] xor t;
end;

end;

Для шифрування та розшифрування процедура та ж сама.


Повернутися наверх
  
 
 Заголовок повідомлення: Re: RC4
СообщениеДодано: 09 гру 2014, 20:48 
Не в мережі

Повідомлень: 282
Шифр працює в режимі гамування, тому потрібно щоб для кожного повідомлення гама була унікальна.
Цього можна досягти різними способами:
- використовувати кожного разу унікальний ключ.
- додавати до ключа вектор ініціалізації (укр. ВІ, рос. ВИ, англ. VI).

ВІ повинен бути випадковим та унікальним для кожного повідомлення, а також мати достатню довжину, як правило від 128 біт (16 байт).
У цьому і проблема.
Адже функцією
Код:
random()

генерувати ВІ не можна.

Можна звичайно використовувати у якості ВІ вихід з лічильника від 00000000000000000000000000000000(НЕХ).
Але тоді необхідно вести облік повідомлень...

RC4 вже давно не вважається стійким шифром, але від "хацкера сусіда Васі" може захистити.


Повернутися наверх
  
 
 Заголовок повідомлення: Re: RC4
СообщениеДодано: 09 гру 2014, 20:48 
Не в мережі

Повідомлень: 282
Приклад,

текст
Text_x_text

ключ
KeyKey

результат
bf fa 0f f5 e8 4c 95 06 c2 61 3e (HEX)


Повернутися наверх
  
 
Показати повідомлення за:  Сортувати по:  
Розпочати нову тему Відповісти  [ 5 повідомлень ] 

Часовий пояс: UTC десь + 2 години



cron
Роwеrеd bу рhрВB® аnd Hostinger web hosting