Форум: "Потрепаться";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.28;
Скачать: [xml.tar.bz2];




Вниз

Кодирование информации 


Brand   (2001-11-30 23:35) [0]

Подскажите самый классный алгоритм кодирования, к примеру, паролей. Чтобы никто не мог расшифровать.



msa   (2001-12-01 09:39) [1]

В цикле добавляешь к каждому символу кодируемой строки случайное число от 0 до 255 и берешь остаток от деления на 256...



iZEN   (2001-12-01 14:00) [2]

Этот (см. msa(01.12.01 09:39)) алгоритм называется "Алгоритм Цезаря" -- самый простой для взламывания.

Есть ещё: DES, 3DES, PGP, BlowFish, куча ещё других и их модификации.

Что можно посоветовать: если нужно для серьёзной работы -- читайте соответствующую литературу (сейчас её много), если просто -- используйте "Алгоритм Цезаря".



vuk   (2001-12-01 14:24) [3]

Если уж на то пошло, то для паролей лучше всего использовать хеширование. Оно, в отличие от шифрования, необратимо, то есть пароль можно подобрать только путем полного перебора. Один из лучших алгоритмов хеширования - MD5.



Undert   (2001-12-01 14:30) [4]

А попроще и по муднее:
For I:=1 To SizeOf(PasswordBuffer) Do
PasswordBuffer[I]:=((Not (PasswordBuffer[I] Xor I+1) Xor I-1) Xor (PasswordBuffer[I]+1));



Art   (2001-12-01 18:51) [5]

Вообще так нельзя говорить! Т.к. не и не будет алгоритма шифрования,который бы нельзя было бы взломать!!! Можно говорить только о стойкости алгоритма ко взлому.
Только стойкостью определяется хороший алгоритм или плохой.!!! Кстати а если шифровать ,то можно подобрать пароль не полным перебором????



ctapik   (2001-12-01 23:35) [6]

Не мучийся используй RSA есть компонент от TSM Software полностью рабочий, не для комерческого использования, ищи на torry.net. Кстати там уних еще много других алгоритмов шифрования.



ASTARD   (2001-12-01 23:41) [7]

Могу сказать одно чем больше математики тем лучше будет шифр....



NetBreaker666   (2001-12-01 23:51) [8]

А может просто архивирования с паролем ?



Merlin   (2001-12-01 23:51) [9]

Вообще-то, то что предложил "msa (01.12.01 09:39)" действительно самый лучший способ шифрования. Это именно то, что и просил Brand "Чтобы никто не мог расшифровать", даже тот кто зашифровал! :)
Неужели не заметили?
добавляешь к каждому символу кодируемой строки случайное число :))



vuk   (2001-12-02 00:28) [10]

to Art:
Про шифрование - вы абсолютно правы. Но хеширование - это не шифрование!
Если кто не в курсе.

Шифрование - кодирование, которое подразумевает полное восстановление исходного вида информации. Шифрование предназначено для сокрытия информации.

Хеширование предназначено несколько для другого. Обычно алгоритмы хеширования обрабатывают некий набор данных (любой длины) и выдают на выходе блок данных _фиксированной_ длины. Содержимое блока данных на выходе зависит от входных данных и может служить _идентификатором_ входного блока (то есть некоей структурой, по которой можно определить совпадют два конкретных блока данных или нет). Чем ниже возможность совпадения блоков данных на выходе алгоритма, тем лучше алгоритм.
Обратная операция для алгоритмов хешировния невозможна, поскольку, блок данных на выходе хотя и зависит от входного, но не содержит абсолютно никакой информации о нем.

Почему хеширование хорошо для хранения паролей доступа в системах, где требуется авторизация? Да потому, что при этом сами пароли хранить не надо. Вместо этого достаточно хранить результат их обработки хеш-функцией(хеш-коды). При проверке пароля нужно получить результат обработки введенной строки хеш-функцией и сравнить этот результат с хранимыми хеш-кодами. А подбор пароля превращается в перебор всех возможных вариантов (до совпадения хеш-кода), а при хорошем алгоритме этого добиться очень нелегко даже зная алгоритм и имея в руках хеш-код. Кстати, именно поэтому все программы, которые подбирают пароли к WinNT работают либо по словарю либо методом грубой силы (полного перебора).



MJH   (2001-12-02 13:09) [11]

NetBreaker666
^^^^^ о! у мя брат появился :)



Art   (2001-12-02 13:20) [12]

Да про хеширование я мало чего знал,спасибо!!!



vuk   (2001-12-02 16:21) [13]

Хочу поправить себя в одной фразе.

было:
>Чем ниже возможность совпадения блоков данных на выходе алгоритма, тем
>лучше алгоритм.

имелось в виду:
Чем ниже возможность совпадения блоков данных на выходе алгоритма при разных входных блоках, тем лучше алгоритм.



Леха   (2001-12-03 11:22) [14]

to Merlin
элементарно расшифровывается только стартовое число генератора случайных(на самом деле _псевдо_случайных) чисел запомнить и при расшифровке воспроизвести последовательность.



vuk   (2001-12-03 13:03) [15]

to Леха:
Ненадежно. А если программа многопоточная и пройдет вызов random в другом потоке?



p@s   (2001-12-03 14:48) [16]

Обычный xor при длине ключа больше длины шифруемых данных.

2 iZEN (01.12.01 14:00) Я как понял тоже написал "Алгоритм Цезаря". Не подскажите методик его взлома.




Форум: "Потрепаться";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.28;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.75 MB
Время: 0.022 c
4-90433           Alex870               2001-11-28 23:18  2002.01.28  
Привет апишники!


4-90416           Роман55               2001-11-26 09:11  2002.01.28  
Рабочий стол


1-90295           Стас                  2002-01-09 11:28  2002.01.28  
Где достать?


14-90355          limon                 2001-12-03 18:31  2002.01.28  
Пример диалога со службой технической поддержки


3-90215           Алекс С.              2001-12-22 15:00  2002.01.28  
LookupField