Порождающая матрица двоичного линейного кода Хемминга

Тема в разделе "WASM.CRYPTO", создана пользователем coshmarik, 3 май 2010.

  1. coshmarik

    coshmarik New Member

    Публикаций:
    0
    Регистрация:
    30 апр 2010
    Сообщения:
    7
    Добрый день!
    Подскажите, пожалуйста, "чайнику" что значит порождающая матрица двоичного линейного кода Хемминга в криптосистеме Мак-Элиса.
    Заранее большое спасибо!
     
  2. OLS

    OLS New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2005
    Сообщения:
    322
    Адрес:
    Russia
    Вот значит в которую сторону ты плывешь ...

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

    Код Хемминга, в т.ч. рассмотренный в предыдущем топике - линейный,
    т.к. исходное сообщение P в виде вектор-строки (p1,p2,p3,...,p11) можно умножить на следующую матрицу :

    Код (Text):
    1. p1  | 1 1 [b]1[/b] 0 0 0 0 0 0 0 0 0 0 0 0
    2. p2  | 1 0 0 1 [b]1[/b] 0 0 0 0 0 0 0 0 0 0
    3. p3  | 0 1 0 1 0 [b]1[/b] 0 0 0 0 0 0 0 0 0
    4. p4  | 1 1 0 1 0 0 [b]1[/b] 0 0 0 0 0 0 0 0
    5. p5  | 1 0 0 0 0 0 0 1 [b]1[/b] 0 0 0 0 0 0
    6. p6  | 0 1 0 0 0 0 0 1 0 [b]1[/b] 0 0 0 0 0
    7. p7  | 1 1 0 0 0 0 0 1 0 0 [b]1[/b] 0 0 0 0
    8. p8  | 0 0 0 1 0 0 0 1 0 0 0 [b]1[/b] 0 0 0
    9. p9  | 1 1 0 1 0 0 0 1 0 0 0 0 [b]1[/b] 0 0
    10. p10 | 0 0 0 1 0 0 0 1 0 0 0 0 0 [b]1[/b] 0
    11. p11 | 1 1 0 1 0 0 0 1 0 0 0 0 0 0 [b]1[/b]
    (в соответствии с формулами из прошлой темы :
    c1 <- p1+p2+p4+p5+p7+p9+ p11
    c2 <- p1+p3+p4+p6+p7+p10+p11
    c4 <- p2+p3+p4+p8+p9+p10+p11
    c8 <- p5+p6+p7+p8+p9+p10+p11 ,

    c3<-p1, c5<-p2, c6<-p3, c7<-p4, c9<-p5, ... - эти присвоения выделены жирным)

    и получить кодированное сообщение C в виде вектор-строки (с1,с2,с3,...,с15).

    Эта матрица размерностью в данном случае 11х15 и называется порождающей для линейного кода.

    Про Мак-Элиса давай конкретные вопросы, а не в целом ... ?
     
  3. OLS

    OLS New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2005
    Сообщения:
    322
    Адрес:
    Russia
    Ну раз в теге code другие не работают, повторяю матрицу без выделения :

    Код (Text):
    1. p1  | 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
    2. p2  | 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0
    3. p3  | 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0
    4. p4  | 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0
    5. p5  | 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0
    6. p6  | 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0
    7. p7  | 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0
    8. p8  | 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
    9. p9  | 1 1 0 1 0 0 0 1 0 0 0 0 1 0 0
    10. p10 | 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0
    11. p11 | 1 1 0 1 0 0 0 1 0 0 0 0 0 0 1
     
  4. OLS

    OLS New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2005
    Сообщения:
    322
    Адрес:
    Russia
    Те столбцы, в которых ровно одна единица - порождают информационные биты, те в которых 7 - порождают контрольные биты сообщения.
     
  5. coshmarik

    coshmarik New Member

    Публикаций:
    0
    Регистрация:
    30 апр 2010
    Сообщения:
    7
    Спасибо большое!
    Я в Мак-Элисе разобралась вроде, только с порождающей матрицей полный швах.
    Еще раз очень-очень большое спасибо!