Вниз
Скачать: CL | DM;

Простое заксоривание.   Найти похожие ветки 

 
go2lo   (2006-11-20 17:58) [0]

Решил "изобрести" совершенно глупый алгоритм шифрования маленького количества информации (строку до 10 символов).
 Входящие три параметра: шифруемые данные, ключ1, ключ2. (UId, Key1, Key2)

const
 ConstsXor: array [0..9] of Byte =
 ($a1, $2b, $3c, $e4, $15, $ef, $19, $a1, $f4, $c0);
var
 lkey1, lkey2: Byte;
 i: Byte;

 lkey := 0; lkey2 := 0;
 for i := 1 to Length(UId) do
 begin
   if lkey = Length(UId) then lkey := 1 else Inc(lkey);
   if lkey2 = Length(UId) then lkey2 := 1 else Inc(lkey2);
   if Odd(i) then
     Result[i] := Chr(Ord(UId[i]) xor ConstsXor[i] xor Ord(Key1[lkey]))
   else
     Result[i] := Chr(Ord(UId[i]) xor ConstsXor[i] xor Ord(Key2[lkey2]));
 end;

Я прекрасно понимаю, что тут просто запудривание мозгов, а не шифрование. Вопросы заключаются в следующем: Возможно упростить код, не потеряв смысла, если да то как? Возможна такая сиуация, когда данные испортятся, т.е. какой-то подводный камень?

Спасибо.


 
Leonid Troyanovsky ©   (2006-11-20 19:11) [1]


> go2lo   (20.11.06 17:58)  

> Решил "изобрести" совершенно глупый алгоритм шифрования
> маленького количества информации (строку до 10 символов).


В общем-то, такое кол-во информации вполне можно
запомнить (в голове).

Ну, а если речь идет о повторениях процесса, то
это уже не 10 символов. Т.е., со всеми вытекающими.

Я к тому, что не надо изобретать "глупых", когда
есть нормальные.

--
Regards, LVT.


 
palva ©   (2006-11-20 23:10) [2]

1. Можно взять очень простой потоковый алгоритм RC4. Он не сложнее будет вашего.
2. При очень маленькой длине сообщения очень возможно, что сообщения будут повторяться. Например "Да" или "Нет". Нужно чтобы шифровка повторяющихся сообщений выглядела каждый раз по-разному. Для этого полезно перед сообщением помещать несколько случайных символов, которые после расшифровки можно отбрасывать.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.046 c
15-1164011165
john81
2006-11-20 11:26
2006.12.10
MS SQL SERVER


15-1163765456
Elen
2006-11-17 15:10
2006.12.10
Нужна библиотека материалов


15-1164019936
Cyrax
2006-11-20 13:52
2006.12.10
Имеет ли C преимущества перед C++ в системном программировании


9-1135854478
Аццкий_рыцарь:)
2005-12-29 14:07
2006.12.10
DoCollision B DelphiX


15-1164004463
pssst
2006-11-20 09:34
2006.12.10
win 2003




   Наверх