DJ Димон

Шифрование Данных

30 сообщений в этой теме

Привет всем!

Какой лучше алгоритм шифрования использовать для передачи данных по радиоканалу, который бы соответствовал требованиям изображённым на рисунке?

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

шифрование и дешифрование будет производится при наличии обоих ключей.

Думал использовать RSA, но по коду там два ключа генерируются одновременно, и оба всегда разные, а мне необходимо чтоб один из ключей был const

Немного изменю вопрос, для знающий алгоритма шифрования rsa: 

какой максимальной длинны public key и private key сможет создать 8 битный мк?

и можно ли расчитать время генерации ключей, кодирования и декодирования данных этим мк (допустим с тактовой  частотой 10мГц)? 

post-3612-0-38315000-1291455068_thumb.jpg

Изменено пользователем DJ Димон

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


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

Законодательство почитайте. Дальше 400 метров нельзя. Или используйте сертифицированную систему.

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


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

во первых тема не об этом, во вторых дальность связи я не указал.

в третьих дальность связи до 100 метров

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


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

Во первых, мысли на расстоянии читать не могу. Во вторых, не надо людей держать за идиотов, на 100 метров и проще организовать закрытый канал связи.

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


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

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

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


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

какой максимальной длинны public key и private key сможет создать 8 битный мк?

Если рассматривать компилятор языка "СИ" и допустить, что использовать будем только встроенные типы данных, то ответ на Ваш вопрос лежит в файле "limits.h" или "сlimits.h" (в разных компиляторах могут немного отличаться названия файлов) в этих файлах указаны ограничения во встроенных типах данных. Если же Вы будете писать свою библиотеку представления чисел, то длинна может быть любой, весь вопрос сколько времени займет обсчет всего этого безобразия :rolleyes:

ИМХО: Не нужная трата времени, создания такого канала связи, для устройства на восьми битном МК. На худой конец возьмите алгоритм "кайлога" и шифруйте с помощью его.

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


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

Что мешает, представлять ключ в виде массива, например по-байтно?

С ним потом и работать удобнее будет...

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


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

Мешает конкретно для RSA, время которое контролер потратит на умножение и возведения в степень такого массива.

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


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

время которое контролер потратит на умножение и возведения в степень такого массива.

Не думаю что сильно повлияет, АЛУ МК у нас, по ТЗ, все-равно 8-битное...

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


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

На мой взгляд лучше взять два пика со встроенным "Кайлогом" и синхронизировать их, а далее формируем ключ на первом устройстве накладываем XOR(ом) на сообщение и отправляем, приемник формирует ключ, повторяет операцию XOR и получает сообщение. Все без привлечение довольно громоздкого кода по возведению много битового числа в чуть менее, но тоже довольно много битовую степень. :rolleyes:

>>Не думаю что сильно повлияет, АЛУ МК у нас, по ТЗ, все-равно 8-битное

Восьми битный RSA сломают и очень быстро. Я имел в виду когда писал про своё представление чисел, что мы сами сформируем например 128 битное целое, например как Вы предложили массивом. Вот с ним и придется нам работать, не думаю, что это не напряжет МК.

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

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


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

Я имел в виду когда писал про своё представление чисел, что мы сами сформируем например 128 битное целое, например как Вы предложили массивом. Вот с ним и придется нам работать, не думаю, что это не напряжет МК.

А разница то какая? Это на языке высокого уровня, будет красиво и удобно, только и всего. На нижнем уровне, это 128 битное, будет выглядеть как 16 восьмибитных ячеек памяти, тот же массив...который, кстати, также последовательно будет прогоняться через АЛУ при действиях над ним.

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


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

>>А разница то какая?

При использовании "ПИКА" с аппаратном "Кайлогом" у нас будет:

1. Проще код.

2. Практически RealTime в передаче и приеме данных.

3. Высокая криптостойкость, по большому то делу, "кайлог" так и не сломали. Сигналки не в счет, там взлом основан не на уязвимости "кайлога".

Хотя не зная целиком задачу, трудно что либо дальше говорить.

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


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

rtfcnf, наличие аппаратного шифратора, в корне меняет дело,но речь то шла, о реализации криптоалгоритма собственными средствами МК.

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


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

Олег, если четко отвечать на поставленный вопрос в первом посте, то я это сделал в своем первом ответе. Повторюсь, нет не стоит RSA использовать на восьми битниках. Извиняюсь, если несколько сумбурно тогда ответил. И предложил свой вариант, использовать "Кайлог".

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


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

от RSA мк повесится вычислять, на него покроме шифрования ещё много чего висит, аппаратный девайс не вариант, железо уже готовое..  rtfcnf, Можно по подробнее про  >>"Кайлог" ? что это где почитать? яндекс мне один вариант предложил с видеоклипом))

необходимо такой алгоритм, чтоб нельзя было один и тот же пакет данный (даже с одинаковыми не кодированными данными)  использовать дважды, ну или как то примерно так. У меня ещё такая мысль, взять к примеру RC4 в обоих устройствах есть ключ, к примеру байт на 56, исполнитель генерирует 8 псевдослучайных байт и отправляет хосту, тот с помошью  56+8(которые сгенерировал исполнитель)  шифрует данные и отправляет обратно. но как то мне кажется не удачная идея...

Изменено пользователем DJ Димон

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


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

"Кайлог" по английски пишется так: Keeloq

По сути KeeLoq является алгоритмом создания псевдослучайной последовательности на основе начального значения, другими словами если мы в приемник и передатчик в ведем одно и тоже начальное значение, то используя этот алгоритм получим на обоих устройствах одинаковые псевдослучайные последовательности. Вот их я и предлагаю использовать в виде сеансовых ключей. Так как у Вас радио канал двух направленный мы в реализации сможем избежать моментов уменьшающих криптоустойчивость системы на которую идут создатели авто-сигнализаций. Реализовать программно Keelog не сложно, но у Микрочипа есть контроллеры в которых они генерируется аппаратно. Что выбрать решать Вам.

Теперь как я представляю Вашу систему:

Имеем два устройство с одинаковыми начальными значениями для кайлога. Перед началом сеанса связи оба устройства генерируют псевдослучайную последовательность нужной длинны. И начинают обмен. Кодировать данные можно простой операцией XOR, хорош этот способ тем, что операция XOR обратима, то есть для кодирования и декодирования можно использовать один и тот-же код. Для достоверности сообщений можно также внутри посылки передавать CRC, а что бы предполагаемому взломщику совсем жизнь медом не казалась для расчета CRC выбрать отличный от стандартного полином, и разместить CRC где нибудь в середине посылки(кстати не очень правильный путь, когда рассчитывают криптоустойчевость системы, предполагают, что атакующей стороне известен алгоритм шифрования)

И так продолжаем:

Сеанс связи начинается и заканчивается командами "start" и "stop", их тоже лучше формировать динамически, при нормальном окончании сеанса связи, устройства генерируют новые ключи и так далее.

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

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

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

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


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

Я вижу тут такое решение, исполнитель должен сам генерировать какую то часть ключа и передавать её хосту для шифрования пакета (в этом случае только исполнитель будет иметь возможность задавать переменную, от которой зависит вид пакета) в таком случае взломать такой алгоритм можно перехватом и накоплением пакетов за длительный период, к примеру если эта часть ключа будет иметь длинну 2 байта, то через 6656 комбинаций ключи будут повторятся и можно найти под него уже когдато использованный пакет. Эти проблемы решить увеличением этого ключа а также сделать таймаут устройства, между ответами установить к примеру 3 сек, тогда атака перебором займёт очень много времени.

А так как хост будет иногда связан с ПК, можно к примеру через n дней менять основной ключ.

тогда такой вопрос, какой должен быть алгоритм, который бы подходил под эти требования, а именно, имел 2 ключа A(ключ который будет генерировать исполнитель) и B(постоянный ключ прошит в обоих устройствах), причём зная A и зашифрованный пакет, нельзя было вычислить B.

Я не знаю выполнится ли это условие если использовать ключ key шифрования RC4(это примерно то же про что вы и говорили "Кодировать данные можно простой операцией XOR..."), если key = A+B (56байт постоянного ключа + 8 переменный), мне кажется зная B и имея шифр можно будет вычислить весь ключ.

+в том что генерировать будет только 1 устройство, чем мы решаем вопрос рассинхронизации, и невозможность подменить это число левым устройством.

Пока у меня такой вариант в голове висит.

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


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

Я не знаю выполнится ли это условие если использовать ключ key шифрования RC4(это примерно то же про что вы и говорили "Кодировать данные можно простой операцией XOR..."), если key = A+B (56байт постоянного ключа + 8 переменный), мне кажется зная B и имея шифр можно будет вычислить весь ключ.

В том то и дело, что используя Keeloq мы имеем возможность при каждой сессии менять ВЕСЬ ключ. Не зная начального значения, вычислить его практически не возможно, в сети встречал две работы по поводу взлома на основе накопления данных, посмотрите их, но там достаточно большое число передач берется, и к томуже они основаны, на том, что передается чисто код Keeloq(ка), у нас же по сути "хеш", минус конечно в том, что сообщения скорей всего у Вас типовые, но можно-же добавить например номер сообщения придав уникальность сообщению.

Основная проблема при использовании Keeloq(ка) как синхронизировать последовательности в условиях не гарантированного канала передачи. Вчерашнее моё предложение по передачи дополнительного значения к начальному состоянию "кайлога" уже не выглядеть совсем бредовой, при условии, что мы передаем не само значение, а аргумент к какой нибудь не линейной функции.

ИМХО:

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

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

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


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

человека пригласить - надо денег, а когда устройство ещё не готово, то это сложный вопрос, поэтому пока как бы для себя(ну и для соседа(ей))), а на будущее если девайс идея оправдается, заложить что-то, что потом можно будет и сертифицировать.

если ничего не выйдёт толкового, то пока будет без шифрования работать :unsure:

Изменено пользователем DJ Димон

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


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

оффтоп извиняюсь.

если ничего не выйдёт толкового, то пока будет без шифрования работать

И много полезного,для себя под черпнёте.

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

Вот это очень интересно,я думал,что именно он сломан.Интересно,как-же тогда у меня вскрыли машину,забрали сумку,закрыли и свалили? :D .Правда в сумке,кроме обеда ничего особого не было :lol: .Когда что-то лежит,я сумку из рук не выпускаю. B).Сейчас просто дебилы накупили аппаратуры и сами себя палют.Профессионалы,потом угреются лет на 5 за тарелочку с котлетами.

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


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

смотря какую машину  :rolleyes: есть много способов вскрыть некоторые "образцы" не трогая сигналку :ph34r:

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


Ссылка на сообщение
Поделиться на других сайтах
evgesha53    1
есть много способов вскрыть некоторые "образцы" не трогая сигналку
Конкретно,о сигналках с кейлогом.Я например ни одного такого способа не знаю.Если сигнализация работает,то вскрыть-то её можно.Я и сам многие авто могу открыть,по специфике работы своей.Но надо как-то блокировать сигналку.Я не говорю о простых приборах,где достаточно радио-звонок перепаять.У меня только одна мысль,заставить как-то заглючить сигналку,а больше ни каких мыслей нет.

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


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

ну если это чтото вазовское, то в 80% случаях концевик на какой-нибудь двери не работает, открывай не хочу, и тырь котлеты

а на волге вообще на 2х дверях концевики не предусмотрены заводом изготовителем, главно нет на передней правой и на задней левой :blink:

очень часто замечал что сигналка установлена, а концевики эти нет :huh: , ну и ещё есть некоторые моменты.... сам года 2 сигналки ставил :ph34r:

Изменено пользователем DJ Димон

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


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

Да я не про наши тазики и не примитив.Это-то понятно всё.У меня из dodge стащили,сигналка вроде Alligator s350.С концевиками и остальным всё там хорошо.Машину,открыли и закрыли.Вот,что интересно.Прибор-то

совершенствованный динамический код Keeloq ™ с защитой от сканирования и перехвата
:)

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


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

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сообщения

    • 1.Защита от высокого напряжения обязательно.Сколько приблизительно выдержит? 2.1-2-3%-нормально.Если реально заработает,будет бомба. 3.Применение rail-to-rail приветствуется. 4.К561ЛА7 нет,поставлю импорт. 5.Резисторы и конденсаторы без особых требований?  
    • @Armenn  человек ТРИ года ждал... Ещё через пару лет вспомнит и заглянет в тему. 
    • Хорошо, спасибо ,так и пробую заземлить. Я сейчас лежал и как раз думал что проблема в емкостной связи между полевиками и радиатором . Хоть емкость совсем малая но на таких частотах может наделать много хлопот. Почему я раньше об этом не догадывался. Завтра займусь. Еще надо радиатор от корпуса изолировать и прикрепить .
    • На каких человеков-то, на Вас с радио.электроником? Так меня учили, что коли излагаешь что-либо не общеизвестное, так изволь, чтоб в этом  изложении присутствовал хоть минимальный, но достаточный раздел "Термины и определения", в котором все изложено без применения спецтерминов. Под спецтерминами тут следует понимать любые термины, которые изучаются не в рамках обязательного всеобщего среднего образования, а в рамках овладения какой-либо специальностью. Не знаю как Вам, но мне для написания в Ваш адрес сего комментария потребовалось отвлечься от допаивания (очередной) установки индукционного нагрева, и на основании моего скромного опыта скажу что для нагрева воды индукционник это так себе вариант, лучше сделайте себе самый тупой электродный нагреватель (известный даже завсегдатаям мест как отдалённых, так и не столь отдаленных), поскольку  получится дешевле, быстрее и надёжнее. Вероятно, мог бы и более детально что-то подсказать, кабы Вы сообщили бы более полный набор исходных данных. Во-первых, 200 лет это срок достаточный и чтоб многое открыть и чтоб многое "закрыть". . Во-вторых известно не "всем", а лишь тем, кто хотя бы (как минимум) интересовался этим самым "всё". В-третьих, а с чего вы взяли, будто никто не борется? Простой пример, я Вам первый вопрос по АД задал именно потому, что люди часто повторяют написанное в учебниках "у статора АД возникает вращающееся МП" , хотя это и не так. Проигнорированный Вами вопрос о магните и катушке тоже вел к рассмотрению одного упущения (ну или ошибки, повторяемой в учебниках для эксплуатационщиков), но, вероятно, тема оказалась для Вас не актуальной. В-четвертых, а зачем вообще бороться-то? Большинство и так всё устраивает, в частности куча инженеров преспокойно получает деньги за вычисления "центробежной силы", хотя в природе её не существует. Упомянул пару раз об этом, так меня попытались поднять на смех и отправить "читать учебники". Этим "отправителям" и невдомёк, что у них провал в логике от того, что они сами не знают "всего-то" "пары абзацев" из справочника Детлафа и Яворского ещё 1968 года издания. Это примерно в ту же тему, что энергия (в Джоулях) есть не физическое явление, а лишь результат вычислений параметров силового процесса (взаимодействия). Да вот, над пирометром для одного техпроцесса голову ломаю. Начальное макетирование и испытание уже провел, результаты обнадёживают. Если в итоге всё удастся как задумано сейчас, то начальные затраты на организацию бесконтактного термоконтроля получатся раз этак в 8..20 ниже, чем в случае исполнения его на базе вариантов серийного оборудования, предлагаемого продавцами. Такое, вот, технико-экономическое улучшение.
    • Добавьте после операционника вот такую схему, только запитайте ее от 18в или доп стабилизатора на 15в. При желании можно добавить защиту от КЗ в нагрузке. (резистор и конденсатор)  
    • Такой же пофигизм к точности экса ( как Кеша любит говорить), как и у "Электроника".  Время на камере не выставлено, камера позволяет делать фото 2000 х 1500, а выкладывается "спичечный коробок".  ТщательнЕЕ надо как то.