Автор Тема: Шифрование.  (Прочитано 9301 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
Шифрование.
« Ответ #15 : 06 Ноября 2003, 12:41:35 »
NAS

О расшифровке алгоритсма. На самом деле принцип кодирования очень прост.

первый разряд кода символа имеет ключ:
Q R O P U V S T I J G H M N K L

второй разряд кода символа имеет ключ:
K L I J O P M N C D A B G H E F

Стартовый символ: 0 -> 1С (в шеснадцатиричной системе счисления)

смещение первого разряда отностельно таблицы чисел и заглавных символов - +7

смещение первого разряда отностельно таблицы заглавных символов и строчных символов - +6

смещение второго разряда при переходе на следующий символ - -2

т.е. формула вычисления кода символа:

символ = [код символа hex] - (30 - 1C) + (4B-20)*[номер сивола в строке];
сокращенно:

символ = [код символа hex] - 20 + 2B*[номер сивола в строке];
(соответственно все считаем в шеснадцатиричной системе)
из полученного символа берем 2 последнии цифры и переводим в соответствии с ключами:

десятки:
0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
K  L  I   J  O  P  M N  C  D  A  B  G  H  E  F

единицы:
0  1   2   3  4  5   6  7   8  9   A  B  C  D  E  F
Q  R  O   P  U  V  S   T  I   J   G  H  M  N  K  L

Получаем наш код...

Теперь попробуем объяснить теорию... %-)

для кодирования берутся просто 2 последовательности заглавных символов длинной в 16, для десятков и единиц с смещением, в нашем случае последовательности такие:
десятки: ABCDEFGHIJKLMNOP
единицы: GHIJKLMNOPQRSTUV

потом эти последовательности разбиваются на пополам, потом на пары, и собираются в виде:

 Вторая половина      Первая половина
(2-я, 1-я, 4-я, 3-я) + (2-я, 1-я, 4-я, 3-я)

К сожалению я не видел кода crhbgnf поэтому не могу сказать какой функцией это делается, принцип простой: замена соседних пар, замена соседних пар пар, замена соседних пар пар пар.

соответственно собираем 2 готовые последовательности (ключи)

Потом идет смещение относительно первого символа "0" - 14(hex) или 20(dec) (может тоже как-то вычисляется относительно смещения последовательностей символов);

между последовательностями цифр, заглавных букв и строчных букв смещение +7 и +6 соответственно, прямо как в таблице кодировки, поэтому я подозреваю, что символы между этими последовательностями (например: = < > ?) тоже можно использовать в пароле (просто в приведенных выше паролях их не было, поэтому точно сказать не могу)

как только доходим до символа z - код продолжается, но от него отнимают 2 десятка и эти коды применяются для следующего символа в пароле...

Сотни, соответственно, отбрасываются...

Вроде все...
Если, что не по человечески объяснил, или может опечатался где, напишите объясню...

Оффлайн NAS

  • Неопытный юзер
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2951
  • +1/-0
  • 1
    • Просмотр профиля
    • http://nhouse.ru
Шифрование.
« Ответ #16 : 06 Ноября 2003, 19:58:46 »
Phoinix
Ух, большое спасибо. Выйду из отпуска проверю.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28