Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.045 c
3-1159857916
Megabyte
2006-10-03 10:45
2006.12.10
Можно ли прописать алиас без перезапуска сервера?


15-1164203150
Oleg Babenko
2006-11-22 16:45
2006.12.10
Нахождения нужной суммы из массива сумм


1-1161710150
7D7
2006-10-24 21:15
2006.12.10
Как узнать объем памяти для данных?


15-1164013021
palva
2006-11-20 11:57
2006.12.10
Ода во славу пиратства


2-1164046288
~Aid~
2006-11-20 21:11
2006.12.10
TStringGrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский