Перейти к содержанию
    

Есть ли у кого-нибуть что-нибудь по алгоритму КОДИРОВАНИЯ keeloq?

 

Вкраце: из ключа производителя (64 бит) и серийного номера брелока (28 бит) по известному алгоритму генерится ключ шифрования, который используется как при кодировании (алгоритм мне не известен), так и при декодировании (алгоритм известен) плавающего кода keeloq.

 

Что есть у меня: дистрибутив с примерами программ декодеров для пиков и инстументами для генерации и проверки ключа шифрования; есть собственная реализация алгоритма декодирования для AVR (рабочий приемника-декодера, работает совместно с кодерами HCS200 или HCS300); реализация декодера на Delphi; программа для программирования брелоков и, собственно, программатор.

 

В приложении прикреплен файл, где описан алгоритм работы декодера (от Микрочипа).

DS00659c_c_Simple_Code_Hopping_Decoder.pdf

Изменено пользователем TriD

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В том то и дело, что самое главное алгоритм кодирования а не декодирования. Он то и закрыт для всех.

И открыт судя по всему будет не скоро.

А вот гдебы нарыть алгоритм декодирования

Super KeeLoq II Pro, или D2.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В том то и дело, что самое главное алгоритм кодирования а не декодирования. Он то и закрыт для всех.

И открыт судя по всему будет не скоро.

А вот гдебы нарыть алгоритм декодирования

Super KeeLoq II Pro, или D2.

 

Строго между нами и ни кому не говорите: алгоритм кодирования и декодирования в keeloq’е – это одно и тоже, ибо есмь он симметричный. Ну а всякие II Pro – это признак того, что народ прошел первый ряд граблей и наконец-таки добрался к рекомендациям майкрочипа по затыканию дыр в минимальной реализации keeloq’а. Впрочем, мало успешным.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Строго между нами и ни кому не говорите: алгоритм кодирования и декодирования в keeloq’е – это одно и тоже, ибо есмь он симметричный.

 

Возможно, алгоритм и я вляется симметричным, однако, располагая алгоритмом декодирования, я так и не понял как закодировать данные, что бы эти данные понял потом декодер приемника.

Если ва располагаете какими-то реальными материалами - поделитесь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Строго между нами и ни кому не говорите: алгоритм кодирования и декодирования в keeloq’е – это одно и тоже, ибо есмь он симметричный.

и что это дает?.. надо иметь прямую NLF, а известна только инверсная. Или Вы так же "по секрету" и прямую NLF назовете?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Строго между нами и ни кому не говорите: алгоритм кодирования и декодирования в keeloq’е – это одно и тоже, ибо есмь он симметричный.

и что это дает?.. надо иметь прямую NLF, а известна только инверсная. Или Вы так же "по секрету" и прямую NLF назовете?

NLF в Keeloq'е одна, алгоритм совершенно симметричный, и если господин TriD не поленится вывернуть декодер наизнанку (ну совершенно тупо выполнить все операции декодера в обратном порядке), то всенепременнейше получит энкодер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Строго между нами и ни кому не говорите: алгоритм кодирования и декодирования в keeloq’е – это одно и тоже, ибо есмь он симметричный.
и что это дает?.. надо иметь прямую NLF, а известна только инверсная. Или Вы так же "по секрету" и прямую NLF назовете?
NLF в Keeloq'е одна, алгоритм совершенно симметричный, и если господин TriD не поленится вывернуть декодер наизнанку (ну совершенно тупо выполнить все операции декодера в обратном порядке), то всенепременнейше получит энкодер.

 

а вот с этого момента поподробнее:

т.е. вы твердо убеждены, что зная инверсную NLP, вида y = NLF(x0,x1,x2,x3,x4) вы восстановите х0, имея в распоряжении y, x1, x2, x3, x4 ???????

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Строго между нами и ни кому не говорите: алгоритм кодирования и декодирования в keeloq’е – это одно и тоже, ибо есмь он симметричный.
и что это дает?.. надо иметь прямую NLF, а известна только инверсная. Или Вы так же "по секрету" и прямую NLF назовете?

NLF в Keeloq'е одна, алгоритм совершенно симметричный, и если господин TriD не поленится вывернуть декодер наизнанку (ну совершенно тупо выполнить все операции декодера в обратном порядке), то всенепременнейше получит энкодер.

а вот с этого момента поподробнее:

т.е. вы твердо убеждены, что зная инверсную NLP, вида y = NLF(x0,x1,x2,x3,x4) вы восстановите х0, имея в распоряжении y, x1, x2, x3, x4 ???????

Я этим вопросом мучился в 96 году, точно также имея алгоритм декодера, но не энкодера. Внимательно посмотрел, вывернул наизнанку, проверил вживую (сравнил расчетный результат с выходом HCS300, запрограммированной в соответствии с) - все получилось.

За давностью лет не уверен, что малой кровью удастся найти подтверждения проделанной работы (хотя бы сорцы). Года полтора тому меня спрашивали о спецификации программирования HCS30х - не нашел ни в бумажном, ни в электронном виде. Беда с верхней конечностью.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте.

 

Алгоритм действительно симметричный поэтому по той схеме нарисованной в документе от микрочипа про декрипт можно написать как декрипт так и енкрипт.

 

У меня есть написанные и проверенные функции декрипт енкрпт на си борланл и на Делфи кому надо могу выслать.

Так же есть примеры открытой и зашифрованных частей посылок для тех кто хочет проверить написанные ими крипт и декрип.

 

ТОВАРИЩИ помогите с прогой для программирования HCSов.

 

моя аська 190247617 помогу чем смогу если кому что то надо.

 

 

SDFF дайте свое icq у меня к Вам есть разговор.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот ссылка про Keeloq - описание, взлом и т.д. http://www.keeloq.narod.ru/

 

А это форум хакеров (много полезного): http://phreak.ru/index.php

и в частности по keeloq: http://phreak.ru/showthread.php?t=94

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как было отмечено выше, алгоритм действительно симметричный и поворачивать его стоит используюя схему алгоритма декодирования из мануала DS00659c.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а вот с этого момента поподробнее:

т.е. вы твердо убеждены, что зная инверсную NLP, вида y = NLF(x0,x1,x2,x3,x4) вы восстановите х0, имея в распоряжении y, x1, x2, x3, x4 ???????

Для превращения декодера в енкодер не нужно инвертировать нелинейную функцию NLF. Вглядитесь повнимательнее в алгоритм - достаточно инвертировать функцию XOR :)

Вычисление нового бита на каждом цикле декодирования есть XOR от четырех бит, один из которых NLF(x0,x1,x2,x3,x4). В процессе кодирования новый бит есть тоже XOR от четырех бит, один из которых по-прежнему NLF(x0,x1,x2,x3,x4) без всякой инверсии, только сдвиговые регистры крутятся в другую сторону.

ПС Кстати, хоть это здесь и ни к чему, инвертировать NLF в заданном Вами смысле тоже нет ничего невозможного. Зная результат и 4 аргумента легко вычислить пятый аргумент, просто пробежавшись циклом по таблице.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для превращения декодера в енкодер не нужно инвертировать нелинейную функцию NLF. Вглядитесь повнимательнее в алгоритм - достаточно инвертировать функцию XOR :)

Вычисление нового бита на каждом цикле декодирования есть XOR от четырех бит, один из которых NLF(x0,x1,x2,x3,x4). В процессе кодирования новый бит есть тоже XOR от четырех бит, один из которых по-прежнему NLF(x0,x1,x2,x3,x4) без всякой инверсии, только сдвиговые регистры крутятся в другую сторону.

ПС Кстати, хоть это здесь и ни к чему, инвертировать NLF в заданном Вами смысле тоже нет ничего невозможного. Зная результат и 4 аргумента легко вычислить пятый аргумент, просто пробежавшись циклом по таблице.

Можно поступить ещё проще - записать все 64K посылок в ПЗУ и назвать это "енкодером".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...