2015-06-02 3 views
1

Предпосылка состоит в том, что человек 1 хочет отправить секретное сообщение M (без обмена ключами) через океан человеку 2. Она решает отправить частичные сообщения через 3 судна, две версии кораблей, доставленные человеком 2, могут построить полное оригинальное сообщение. Цель состоит в том, чтобы сделать каждое частичное сообщение (M1, M2, M3) само по себе неразрешимым. В случае поступления всех 3 сообщений избыточное сообщение может использоваться как ECC/четность.Эффективные три «корабля», один алгоритм сообщений

Предположим, что сообщение состоит из серии 8-битных символов (m1, m2, m3 ..., mM). В наиболее эффективной кодировке len (M1 + M2 + M3) будет 1,5X len (M).

Неэффективное кодирование: M1 каждый символ состоит из верхнего полубайта (UN) плюс нижний полубайт (LN), M2 состоит из UN минус LN, M3 - просто LN. M1 и M2 используют 5 бит на символ, M3 использует 4 бита на символ.

Примечание: назначение может быть повернуто так, что M1 получает UN + LN, UN-LN, LN, ... M2 смещается UN-LN, LN, UN + LN, .. M3 получает двунаправленный LN, ООН + LN, UN-LN с целью:

1) Произносите сообщения одинаковую длину (за 3-х символов) 2) Добавить далее запутывания

Эта схема эффективна, но не эффективно. Любые предлагаемые улучшения или альтернативные методы?

+0

Какая здесь модель безопасности? –

+0

Оба человека 1 и человек 2 знают алгоритм. Кроме того, при схеме вращения M1, M2 и M3 имеют 2-битный заголовок, указывающий, сколько вращений (при эффективности измерения верхние служебные данные заголовка не учитываются). Концептуально M1 можно отправить через сотовый телефон, M2 через электронную почту и M3 через курьерский CD-ROM). Концепция заключается в том, что частичная информация представляет собой потенциально превосходящую форму безопасности, чем, скажем, криптография с общим ключом или с закрытым ключом ... и та, которая может использоваться многократно для нескольких сообщений. – DaveB

+0

Что вы подразумеваете под наиболее эффективным способом?Если вы имеете в виду количество принятых пакетов (т. Е. Коэффициент потерь), также есть 2 из 4 и 2 из 8 схем, которые не так уж плохи, но компромисс - это более высокие потребности в пропускной способности. Если вы имеете в виду эффективное использование полосы пропускания, вы можете потерять один пакет из N + 1 пакетов с помощью простых блоков XOR. – rlb

ответ

0

Предположим, что сообщение состоит из серии 8-разрядных символов (m1, m2, m3 ..., mM). В наиболее эффективной кодировке len (M1 + M2 + M3) будет 1,5X len (M).

схема, которая отвечает этому требованию, является:

  • M1: верхний полубайт (4 бита)
  • M2: нижний полубайт (4 бита)
  • М3: исключающее верхнего полубайта и нижнего полубайт (4 бита)

т.е.:

bit of original 8 byte: 
M1: 7 6 5 4 
M2: 3 2 1 0 
M3: 7^3 6^2 5^1 4^0 

В случае приема M1 и M2 у вас есть сообщение. В случае приема M1 и M3, M2 может быть восстановлен посредством XORing M1 с M3. В случае приема M2 и M3, M1 может быть восстановлен посредством XORing M2 с M3. В каждом случае третье значение может использоваться как проверка четности.

Код может быть дополнительно запутан, перетасовывая значение каждого бита в куске. Например, бит 0 может использовать указанный выше способ, но для бита 1 (от полубайта) нижний полубайт может быть в M1, значении XOR в М2 и т.д. т.е.:

bit of original 8 byte: 
M1: 7 6^2 1 4 
M2: 3 6 5^1 0 
M3: 7^3 2 5 4^0 

Примечания это запутывание, а не безопасность.