реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> KeeLoq, нужен алгоритм кодирования
TriD
сообщение Jan 20 2006, 15:11
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 252
Регистрация: 29-12-04
Пользователь №: 1 728



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

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

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

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

Сообщение отредактировал TriD - Jan 20 2006, 15:12
Прикрепленные файлы
Прикрепленный файл  DS00659c_c_Simple_Code_Hopping_Decoder.pdf ( 245.48 килобайт ) Кол-во скачиваний: 4315
 
Go to the top of the page
 
+Quote Post
dvm11111111
сообщение Apr 3 2006, 23:58
Сообщение #2


Участник
*

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



В том то и дело, что самое главное алгоритм кодирования а не декодирования. Он то и закрыт для всех.
И открыт судя по всему будет не скоро.
А вот гдебы нарыть алгоритм декодирования
Super KeeLoq II Pro, или D2.
Go to the top of the page
 
+Quote Post
SDFF
сообщение Jan 31 2007, 08:48
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 139
Регистрация: 13-06-05
Из: Санкт-Петербург
Пользователь №: 5 972



Цитата(dvm11111111 @ Apr 3 2006, 23:58) *
В том то и дело, что самое главное алгоритм кодирования а не декодирования. Он то и закрыт для всех.
И открыт судя по всему будет не скоро.
А вот гдебы нарыть алгоритм декодирования
Super KeeLoq II Pro, или D2.


Строго между нами и ни кому не говорите: алгоритм кодирования и декодирования в keeloq’е – это одно и тоже, ибо есмь он симметричный. Ну а всякие II Pro – это признак того, что народ прошел первый ряд граблей и наконец-таки добрался к рекомендациям майкрочипа по затыканию дыр в минимальной реализации keeloq’а. Впрочем, мало успешным.
Go to the top of the page
 
+Quote Post
TriD
сообщение Jan 31 2007, 10:51
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 252
Регистрация: 29-12-04
Пользователь №: 1 728



Цитата(SDFF @ Jan 31 2007, 08:48) *
Строго между нами и ни кому не говорите: алгоритм кодирования и декодирования в keeloq’е – это одно и тоже, ибо есмь он симметричный.


Возможно, алгоритм и я вляется симметричным, однако, располагая алгоритмом декодирования, я так и не понял как закодировать данные, что бы эти данные понял потом декодер приемника.
Если ва располагаете какими-то реальными материалами - поделитесь.
Go to the top of the page
 
+Quote Post
rvk
сообщение Jan 31 2007, 11:46
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 165
Регистрация: 13-05-06
Из: Камышин
Пользователь №: 17 067



''

Сообщение отредактировал rvk - Jan 31 2007, 11:50
Go to the top of the page
 
+Quote Post
Doka
сообщение Jan 31 2007, 13:12
Сообщение #6


Electrical Engineer
******

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



Цитата(SDFF @ Jan 31 2007, 08:48) *
Строго между нами и ни кому не говорите: алгоритм кодирования и декодирования в keeloq’е – это одно и тоже, ибо есмь он симметричный.

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


--------------------
Блог iDoka.ru
CV linkedin.com/in/iDoka
Sources github.com/iDoka


Never stop thinking...........................
Go to the top of the page
 
+Quote Post
xemul
сообщение Jan 31 2007, 13:31
Сообщение #7



*****

Группа: Свой
Сообщений: 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 не поленится вывернуть декодер наизнанку (ну совершенно тупо выполнить все операции декодера в обратном порядке), то всенепременнейше получит энкодер.
Go to the top of the page
 
+Quote Post
Doka
сообщение Jan 31 2007, 13:37
Сообщение #8


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 ???????


--------------------
Блог iDoka.ru
CV linkedin.com/in/iDoka
Sources github.com/iDoka


Never stop thinking...........................
Go to the top of the page
 
+Quote Post
xemul
сообщение Jan 31 2007, 14:38
Сообщение #9



*****

Группа: Свой
Сообщений: 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х - не нашел ни в бумажном, ни в электронном виде. Беда с верхней конечностью.
Go to the top of the page
 
+Quote Post
Flus
сообщение Jan 31 2007, 16:55
Сообщение #10





Группа: Новичок
Сообщений: 2
Регистрация: 30-01-07
Пользователь №: 24 881



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

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

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

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

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


SDFF дайте свое icq у меня к Вам есть разговор.
Go to the top of the page
 
+Quote Post
Link
сообщение Feb 15 2007, 00:51
Сообщение #11


Участник
*

Группа: Свой
Сообщений: 28
Регистрация: 1-12-05
Пользователь №: 11 671



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

А это форум хакеров (много полезного): http://phreak.ru/index.php
и в частности по keeloq: http://phreak.ru/showthread.php?t=94
Go to the top of the page
 
+Quote Post
TriD
сообщение Feb 15 2007, 18:00
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 252
Регистрация: 29-12-04
Пользователь №: 1 728



Как было отмечено выше, алгоритм действительно симметричный и поворачивать его стоит используюя схему алгоритма декодирования из мануала DS00659c.
Go to the top of the page
 
+Quote Post
Demeny
сообщение Feb 16 2007, 13:49
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 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 smile.gif
Вычисление нового бита на каждом цикле декодирования есть XOR от четырех бит, один из которых NLF(x0,x1,x2,x3,x4). В процессе кодирования новый бит есть тоже XOR от четырех бит, один из которых по-прежнему NLF(x0,x1,x2,x3,x4) без всякой инверсии, только сдвиговые регистры крутятся в другую сторону.
ПС Кстати, хоть это здесь и ни к чему, инвертировать NLF в заданном Вами смысле тоже нет ничего невозможного. Зная результат и 4 аргумента легко вычислить пятый аргумент, просто пробежавшись циклом по таблице.


--------------------
Сделано в Китае. Упаковано в России.
Go to the top of the page
 
+Quote Post
wim
сообщение Feb 18 2007, 10:38
Сообщение #14


рядовой
******

Группа: Участник
Сообщений: 2 811
Регистрация: 21-08-06
Пользователь №: 19 713



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

Можно поступить ещё проще - записать все 64K посылок в ПЗУ и назвать это "енкодером".
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 17:54
Рейтинг@Mail.ru


Страница сгенерированна за 0.01485 секунд с 7
ELECTRONIX ©2004-2016