Главная страница
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.045 c
1-1171340684
green
2007-02-13 07:24
2007.04.08
Собственный шрифт для работы в word-е и Delphi


15-1173086418
Juice
2007-03-05 12:20
2007.04.08
Хелп файлы


3-1169093469
Ольга
2007-01-18 07:11
2007.04.08
фильтр по нулевой дате


2-1174118100
Boker
2007-03-17 10:55
2007.04.08
TImage - невозможна загрузка ...??


4-1163740315
pirate
2006-11-17 08:11
2007.04.08
использование CyptoAPI