|
|
  |
KeeLoq, нужен алгоритм кодирования |
|
|
|
Jan 20 2006, 15:11
|
Местный
  
Группа: Свой
Сообщений: 252
Регистрация: 29-12-04
Пользователь №: 1 728

|
Есть ли у кого-нибуть что-нибудь по алгоритму КОДИРОВАНИЯ keeloq? Вкраце: из ключа производителя (64 бит) и серийного номера брелока (28 бит) по известному алгоритму генерится ключ шифрования, который используется как при кодировании (алгоритм мне не известен), так и при декодировании (алгоритм известен) плавающего кода keeloq. Что есть у меня: дистрибутив с примерами программ декодеров для пиков и инстументами для генерации и проверки ключа шифрования; есть собственная реализация алгоритма декодирования для AVR (рабочий приемника-декодера, работает совместно с кодерами HCS200 или HCS300); реализация декодера на Delphi; программа для программирования брелоков и, собственно, программатор. В приложении прикреплен файл, где описан алгоритм работы декодера (от Микрочипа).
Сообщение отредактировал TriD - Jan 20 2006, 15:12
|
|
|
|
|
Apr 3 2006, 23:58
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 25-01-06
Пользователь №: 13 567

|
В том то и дело, что самое главное алгоритм кодирования а не декодирования. Он то и закрыт для всех. И открыт судя по всему будет не скоро. А вот гдебы нарыть алгоритм декодирования Super KeeLoq II Pro, или D2.
|
|
|
|
|
Jan 31 2007, 08:48
|
Частый гость
 
Группа: Свой
Сообщений: 139
Регистрация: 13-06-05
Из: Санкт-Петербург
Пользователь №: 5 972

|
Цитата(dvm11111111 @ Apr 3 2006, 23:58)  В том то и дело, что самое главное алгоритм кодирования а не декодирования. Он то и закрыт для всех. И открыт судя по всему будет не скоро. А вот гдебы нарыть алгоритм декодирования Super KeeLoq II Pro, или D2. Строго между нами и ни кому не говорите: алгоритм кодирования и декодирования в keeloq’е – это одно и тоже, ибо есмь он симметричный. Ну а всякие II Pro – это признак того, что народ прошел первый ряд граблей и наконец-таки добрался к рекомендациям майкрочипа по затыканию дыр в минимальной реализации keeloq’а. Впрочем, мало успешным.
|
|
|
|
|
Jan 31 2007, 10:51
|
Местный
  
Группа: Свой
Сообщений: 252
Регистрация: 29-12-04
Пользователь №: 1 728

|
Цитата(SDFF @ Jan 31 2007, 08:48)  Строго между нами и ни кому не говорите: алгоритм кодирования и декодирования в keeloq’е – это одно и тоже, ибо есмь он симметричный. Возможно, алгоритм и я вляется симметричным, однако, располагая алгоритмом декодирования, я так и не понял как закодировать данные, что бы эти данные понял потом декодер приемника. Если ва располагаете какими-то реальными материалами - поделитесь.
|
|
|
|
|
Jan 31 2007, 13:31
|
    
Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731

|
Цитата(Doka @ Jan 31 2007, 13:12)  Цитата(SDFF @ Jan 31 2007, 08:48)  Строго между нами и ни кому не говорите: алгоритм кодирования и декодирования в keeloq’е – это одно и тоже, ибо есмь он симметричный. и что это дает?.. надо иметь прямую NLF, а известна только инверсная. Или Вы так же "по секрету" и прямую NLF назовете? NLF в Keeloq'е одна, алгоритм совершенно симметричный, и если господин TriD не поленится вывернуть декодер наизнанку (ну совершенно тупо выполнить все операции декодера в обратном порядке), то всенепременнейше получит энкодер.
|
|
|
|
|
Jan 31 2007, 13:37
|

Electrical Engineer
     
Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778

|
Цитата(xemul @ Jan 31 2007, 13:31)  Цитата(Doka @ Jan 31 2007, 13:12)  Цитата(SDFF @ Jan 31 2007, 08:48)  Строго между нами и ни кому не говорите: алгоритм кодирования и декодирования в keeloq’е – это одно и тоже, ибо есмь он симметричный. и что это дает?.. надо иметь прямую NLF, а известна только инверсная. Или Вы так же "по секрету" и прямую NLF назовете? NLF в Keeloq'е одна, алгоритм совершенно симметричный, и если господин TriD не поленится вывернуть декодер наизнанку (ну совершенно тупо выполнить все операции декодера в обратном порядке), то всенепременнейше получит энкодер. а вот с этого момента поподробнее: т.е. вы твердо убеждены, что зная инверсную NLP, вида y = NLF(x0,x1,x2,x3,x4) вы восстановите х0, имея в распоряжении y, x1, x2, x3, x4 ???????
--------------------
|
|
|
|
|
Jan 31 2007, 14:38
|
    
Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731

|
Цитата(Doka @ Jan 31 2007, 13:37)  Цитата(xemul @ Jan 31 2007, 13:31)  Цитата(Doka @ Jan 31 2007, 13:12)  Цитата(SDFF @ Jan 31 2007, 08:48)  Строго между нами и ни кому не говорите: алгоритм кодирования и декодирования в keeloq’е – это одно и тоже, ибо есмь он симметричный. и что это дает?.. надо иметь прямую NLF, а известна только инверсная. Или Вы так же "по секрету" и прямую NLF назовете? NLF в Keeloq'е одна, алгоритм совершенно симметричный, и если господин TriD не поленится вывернуть декодер наизнанку (ну совершенно тупо выполнить все операции декодера в обратном порядке), то всенепременнейше получит энкодер. а вот с этого момента поподробнее: т.е. вы твердо убеждены, что зная инверсную NLP, вида y = NLF(x0,x1,x2,x3,x4) вы восстановите х0, имея в распоряжении y, x1, x2, x3, x4 ??????? Я этим вопросом мучился в 96 году, точно также имея алгоритм декодера, но не энкодера. Внимательно посмотрел, вывернул наизнанку, проверил вживую (сравнил расчетный результат с выходом HCS300, запрограммированной в соответствии с) - все получилось. За давностью лет не уверен, что малой кровью удастся найти подтверждения проделанной работы (хотя бы сорцы). Года полтора тому меня спрашивали о спецификации программирования HCS30х - не нашел ни в бумажном, ни в электронном виде. Беда с верхней конечностью.
|
|
|
|
|
Jan 31 2007, 16:55
|
Группа: Новичок
Сообщений: 2
Регистрация: 30-01-07
Пользователь №: 24 881

|
Здравствуйте.
Алгоритм действительно симметричный поэтому по той схеме нарисованной в документе от микрочипа про декрипт можно написать как декрипт так и енкрипт.
У меня есть написанные и проверенные функции декрипт енкрпт на си борланл и на Делфи кому надо могу выслать. Так же есть примеры открытой и зашифрованных частей посылок для тех кто хочет проверить написанные ими крипт и декрип.
ТОВАРИЩИ помогите с прогой для программирования HCSов.
моя аська 190247617 помогу чем смогу если кому что то надо.
SDFF дайте свое icq у меня к Вам есть разговор.
|
|
|
|
|
Feb 16 2007, 13:49
|

Знающий
   
Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237

|
Цитата(Doka @ Jan 31 2007, 13:37)  а вот с этого момента поподробнее: т.е. вы твердо убеждены, что зная инверсную 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 аргумента легко вычислить пятый аргумент, просто пробежавшись циклом по таблице.
--------------------
Сделано в Китае. Упаковано в России.
|
|
|
|
|
Feb 18 2007, 10:38
|
рядовой
     
Группа: Участник
Сообщений: 2 811
Регистрация: 21-08-06
Пользователь №: 19 713

|
Цитата(Demeny @ Feb 16 2007, 13:49)  Для превращения декодера в енкодер не нужно инвертировать нелинейную функцию NLF. Вглядитесь повнимательнее в алгоритм - достаточно инвертировать функцию XOR Вычисление нового бита на каждом цикле декодирования есть XOR от четырех бит, один из которых NLF(x0,x1,x2,x3,x4). В процессе кодирования новый бит есть тоже XOR от четырех бит, один из которых по-прежнему NLF(x0,x1,x2,x3,x4) без всякой инверсии, только сдвиговые регистры крутятся в другую сторону. ПС Кстати, хоть это здесь и ни к чему, инвертировать NLF в заданном Вами смысле тоже нет ничего невозможного. Зная результат и 4 аргумента легко вычислить пятый аргумент, просто пробежавшись циклом по таблице. Можно поступить ещё проще - записать все 64K посылок в ПЗУ и назвать это "енкодером".
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|