Jump to content

    
Джоконда

Кодирование данных

Recommended Posts

Если нужно передать из одного блока данные в другой блок по интерфейсу 485, но при этом эти данные нужно закодировать для обеспечения безопасности. То вид интерфейса может влиять на то, какую кодировку можно использовать, а какую нет?

Share this post


Link to post
Share on other sites
19 hours ago, Джоконда said:

Если нужно передать из одного блока данные в другой блок по интерфейсу 485, но при этом эти данные нужно закодировать для обеспечения безопасности. То вид интерфейса может влиять на то, какую кодировку можно использовать, а какую нет?

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

 

но хорошо бы уточнить что подразумеваете под "безопасностью":

1) чтобы сообщение не подменили (сгенерированным злоумышленником или вчерашним)

2) чтобы не поняли что передается

3) чтобы не исказилось (защита от ошибок, восстановление).

(1) и (2) обычно можно совместить, а на их результат накладывают (3).

Share this post


Link to post
Share on other sites

 

20 минут назад, Ruslan1 сказал:

но хорошо бы уточнить что подразумеваете под "безопасностью":

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

 

А если я захочу сделать кодирование манчестер 2, например, как я смогу его передать по интерфейсу 485? В RS485 дифференциальный сигнал же используется. А в манчестере одной полярности.

Edited by Джоконда

Share this post


Link to post
Share on other sites
22 минуты назад, Джоконда сказал:

манчестер 2, например, как я смогу его передать по интерфейсу 485?

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

Share this post


Link to post
Share on other sites
32 минуты назад, Джоконда сказал:

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

Вам нужно задачу разбить на две: криптография (п.1) и избыточное кодирование (п.3).

Простой пример криптографии: делаете генератор ПСП, которую накладываете на поток данных (например по "ИЛИ") и эту смесь отправляете по RS-485. В начале сообщения нужно сделать поле синхронизации, чтобы на приёмной стороне генератор ПСП "зацепился" за последовательность и правильно снял ПСП с данных. Это, конечно, нельзя вообще назвать криптографией, строго говоря. Смотрите в сторону AES, Диффи-Хеллмана.

Самый простейший пример кодирования с восстановлением: трёхкратное повторение посылки. На приёмной стороне собираете данные и по принципу мажоритарной логики определяете восстанавливаете биты. Серьёзнее - посмотрите в сторону циклических кодов Рида-Соломона.

32 минуты назад, Джоконда сказал:

В RS485 дифференциальный сигнал же используется. А в манчестере одной полярности.

Не очень понятен вопрос. С программной точки зрения negative-сигнал - это просто инверсия основного сигнала. С аппаратной - драйвер RS485 сам всё сделает.

Edited by Longiel

Share this post


Link to post
Share on other sites

Если не нужно устанавливать защищённое соединение, то это не является такой уж проблемой. Заранее согласованные стронами ключи... сертификаты... Доступ по середине, конечно, даст прослушку, но если всё правильно сделать, то защищённость будет надежной, по крайней мере пока криптографию не поломают каким-нибудь квантовым превосходством) Однако всё это к интерфейсу RS-485 отношения, по сути, не имеет - это вопросы верхнего уровня, а не физического. 485-ый должен уже зашифрованные данные передавать.

Share this post


Link to post
Share on other sites
4 hours ago, Джоконда said:

А если я захочу сделать кодирование манчестер 2, например,

Вы в курсе, что 'кодирование манчестер 2' к 'данные нужно закодировать для обеспечения безопасности' не имеет никакого отношения? Манчестер это кодирование физического уровня, а 'обеспечение безопасности' лежит выше (как минимум на транспортном). Физический уровень у RS485 свой, и с манчестером он не совместим (точнее можно физическую кодировку манчестера зафигачить в RS485 линию, но это будет нечто совсем нестандартное - и не RS485 и не манчестер)

 

Share this post


Link to post
Share on other sites
19 минут назад, xvr сказал:

Физический уровень у RS485 свой, и с манчестером он не совместим

Совместим, потому что это лишь кодирование. Автор ни буквы не сказал про стандарт 1553, физическому уровню которого тоже абсолютно без разницы, какое кодирование по нему идёт.

Share this post


Link to post
Share on other sites
19 часов назад, xvr сказал:

Физический уровень у RS485 свой, и с манчестером он не совместим

Не то, чтобы они принципиально не совместимы, а скорее их совмещать не имеет смысла, поскольку Манчестер в основном заточен под физический уровень с трансформаторной развязкой и самосинхронизацию, а RS485 классически использует NRZ-кодирование

Share this post


Link to post
Share on other sites

А мне всегда казалось, что то, что здесь называют "физический уровень RS-485" - это лишь способ передать сигналы UART-а наружу по витой паре определенным приемопередатчиком, который преобразует уровни сигналов и осуществляет преобразование single ended -> differential pair. NRZ кодирование не относится к RS-485, а вот к UART-у вполне. На приемопередатчик RS-485 можно подать что угодно (в допустимых технических пределах) - хоть NRZ, хоть манчестер, хоть 8b/10b.

Share this post


Link to post
Share on other sites
On 11/26/2021 at 10:08 AM, Arlleex said:

На приемопередатчик RS-485 можно подать что угодно (в допустимых технических пределах) - хоть NRZ, хоть манчестер, хоть 8b/10b.

Теоретически да. На практике туда подключают UART (с NRZ). Хотя у меня не такая большая практика, так что из чистого любопытства - кто нибудь знает какой нибудь пример использования RS-485 физического уровня совместно с чем либо, отличным от UART'а? Мне правда очень интересно :umnik2:

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.