Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.08;
Скачать: CL | DM;

Вниз

Скремблеры   Найти похожие ветки 

 
Анна_А   (2007-03-15 16:24) [0]

Уважаемые мастера.
Есть ли у кого исходник простого скремблера (шифрование по ключу).
Заранее спасибо.


 
Сергей М. ©   (2007-03-15 16:28) [1]

Вообще-то, скремблер - это "перемешивальщик", а не "шифровальщик" ..


 
Сергей М. ©   (2007-03-15 16:32) [2]

Вот пример реально существующего и используемого Алладинами скремблера/дескремблера:

procedure Descramble(Buffer: PHlApi);
var
 i: Integer;
 Seed: Word;
 p: PByteArray;
begin
 p := PByteArray(Buffer);
 Seed := Buffer.ScrambleKey;
 for i := $FE downto $BE do begin
   Dec(Seed, PWord(@p[i])^ xor i);
   Seed := (Seed shl 15) or (Seed shr 1);
   Inc(PWord(@p[i])^, Seed);
 end;
 for i := $B8 downto $00 do begin
   Inc(Seed, PWord(@p[i])^ xor i);
   Seed := (Seed shl 15) or (Seed shr 1);
   Dec(PWord(@p[i])^, Seed);
 end;
 Buffer.ScrambleKey := Seed;
end;

procedure Scramble(Buffer: PHlApi);
var
 i: Integer;
 Seed: Word;
 p: PByteArray;
begin
 p := PByteArray(Buffer);
 Seed := Buffer.ScrambleKey;
 for i := $00 to $B8 do begin
   Inc(PWord(@p[i])^, Seed);
   Seed := (Seed shr 15) or (Seed shl 1);
   Dec(Seed, PWord(@p[i])^ xor i);
 end;
 for i := $BE to $FE do begin
   Dec(PWord(@p[i])^, Seed);
   Seed := (Seed shr 15) or (Seed shl 1);
   Inc(Seed, PWord(@p[i])^ xor i);
 end;
 Buffer.ScrambleKey := Seed;
end;


 
Анна_А   (2007-03-15 16:46) [3]

Я извиняюсь,а как дальше связать
с текстом и ключом?


 
Сергей М. ©   (2007-03-15 17:02) [4]

Скрембл-ключ - в поле Scramblekey, это же очевидно из названия поля.
Все остальные поля - все что угодно, в т.ч. текст.
ПРимер дан для изучения скрембл-концепции, а не для слепого передирания.


 
Ketmar ©   (2007-03-15 19:10) [5]

студенты дошли до изучения раздела "криптография"?


 
NeyroSpace ©   (2007-03-15 21:59) [6]

>Вообще-то, скремблер - это "перемешивальщик", а не "шифровальщик" ..
Именно! В некоторых видах кодирования сигналов используется предварительное скремблирование цифровых данных, чтобы уменьшить полосу пропускания сигнала. При этом увеличивается избыточность данных, но зато сигнал помещается в нужную полосу частот.



Страницы: 1 вся ветка

Текущий архив: 2007.04.08;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.041 c
1-1171423401
GuV
2007-02-14 06:23
2007.04.08
Создание ComboBox с нуля


2-1173950929
Нуб
2007-03-15 12:28
2007.04.08
а что это за знак такой - ?


1-1171298579
Vid0g
2007-02-12 19:42
2007.04.08
Добавление/Извлечение ресурсов в программе


2-1173899922
Василиус
2007-03-14 22:18
2007.04.08
Добрый ночер


2-1173949006
Нуб
2007-03-15 11:56
2007.04.08
копирование данных с excel в стрингрид