Jump to content

    
Sign in to follow this  
TriD

KeeLoq

Recommended Posts

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

 

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

 

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

 

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

DS00659c_c_Simple_Code_Hopping_Decoder.pdf

Edited by TriD

Share this post


Link to post
Share on other sites

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

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

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

Super KeeLoq II Pro, или D2.

Share this post


Link to post
Share on other sites
В том то и дело, что самое главное алгоритм кодирования а не декодирования. Он то и закрыт для всех.

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

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

Super KeeLoq II Pro, или D2.

 

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

Share this post


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

 

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

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

Share this post


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

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

Share this post


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

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

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

Share this post


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

 

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

 

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

 

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

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

 

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

 

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

 

 

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

Share this post


Link to post
Share on other sites

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

 

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
а вот с этого момента поподробнее:

т.е. вы твердо убеждены, что зная инверсную 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 аргумента легко вычислить пятый аргумент, просто пробежавшись циклом по таблице.

Share this post


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

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

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this