Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> итеративный код, алгоритм 
:(
    Опции темы
Vicipi
Дата 26.1.2009, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 13.2.2008

Репутация: нет
Всего: нет



может кто объяснит мне алгоритм итеративного кода, не совсем понимаю.
Цитата

Сформировать сообщение, состоящее из 16 символов, каждый символ сообщения представляется 8 битами.Представить сообщение в виде битового массива {ai}....
Осуществить кодирование зашифрованного сообщения путем разбиения его на сегменты по 16 бит и последующего кодирования элементарных сегментов итеративным кодом. 

Примечание: Кодирование сообщения Х из 4 бит итеративным кодом осуществляется путем записи его в виде квадрата: 
X0    X1    X2    X3    | A1
X4    X5    X6    X7    | A2
X8    X9    X10  X11  | A3
X12  X13  X14  X15  | A4
-  - -- - -- - - - - - - - - - -
Z1    Z2     Z3    Z4   |
 
и добавлению символов Ai, представляющих собой сумму элементов по i-ой строке по модулю 2, и символов Zj, представляющих собой сумму элементов по j-му столбцу по модулю 2.

начальное сообщение - одномерный массив, есть ли смысл его переделывать в двумерный 4*32?( хотя как это сделать незнаю.))))
правильно я понимаю, что нужно сложить все элементы А1 и Z1, а потом их между собой, в итоге из 16 бит получится 4....а декодирование  smile 
Цитата

Операция декодирования осуществляется следующим образом. Сегмент информационного массива на выходе канала связи длиной 24 бита расположить в форме массива, используемого при операции кодирования. Сформировать массивы Ai и Zj. Если Zi = 1 и Aj = 1, тогда элемент, находящийся на пересечении j-ой строки и i-го столбца инвертируется.

как че формировать черт знает...почему 24 бита, а не 32(128 всего бит/16 в таблице =8 раз кодируем, в результате получаем 4 бита: 8*4=32 )
PM MAIL   Вверх
mes
Дата 26.1.2009, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(Vicipi @  26.1.2009,  18:47 Найти цитируемый пост)
начальное сообщение - одномерный массив, есть ли смысл его переделывать в двумерный 4*32?( хотя как это сделать незнаю.))))

необязательно

Цитата(Vicipi @  26.1.2009,  18:47 Найти цитируемый пост)
как че формировать черт знает...почему 24 бита, а не 32(128 всего бит/16 в таблице =8 раз кодируем, в результате получаем 4 бита: 8*4=32 ) 

16 исходного сообщения + 4 А + 4 Z = 24 bita

Цитата(Vicipi @  26.1.2009,  18:47 Найти цитируемый пост)
правильно я понимаю, что нужно сложить все элементы А1 и Z1, а потом их между собой

А где написано, про складывание между собой ?


--------------------
PM MAIL WWW   Вверх
Vicipi
Дата 26.1.2009, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 13.2.2008

Репутация: нет
Всего: нет



поняла)) а приписывать эти 2 по 4 бита после тех 16, или как в таблице расположены?
PM MAIL   Вверх
mes
Дата 26.1.2009, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(Vicipi @  26.1.2009,  21:19 Найти цитируемый пост)
приписывать эти 2 по 4 бита после тех 16, или как в таблице расположены? 

неважно, главное сохранить симметрию в между кодером и декодером 



--------------------
PM MAIL WWW   Вверх
Vicipi
Дата 30.1.2009, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 13.2.2008

Репутация: нет
Всего: нет



как из одномерного массива взять сумму столбцов?
Код

for(i=0;i<128;i+16)
{  for(j=0;j<16;j+4)
   { for(int y=0;y<4;y++)
   a[y]^=bits2[y];
   z[y]^=bits2[???];
   }
}

PM MAIL   Вверх
mes
Дата 30.1.2009, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(Vicipi @  30.1.2009,  18:43 Найти цитируемый пост)
как из одномерного массива взять сумму столбцов?

Код

for(int k=0;k<128;k+=16)
{
 for(int i=0;i<4;++i) 
 {
     a[i]=0;
     z[i]=0;
 
     for(int j=0;j<4;++j)
     {
       a[i]^=bits2[k+i*4+j];
       z[i]^=bits2[k+j*4+i];
     }
 }
...
}



Это сообщение отредактировал(а) mes - 30.1.2009, 22:18


--------------------
PM MAIL WWW   Вверх
Vicipi
Дата 30.1.2009, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 13.2.2008

Репутация: нет
Всего: нет



как это все сложить в один массив? smile 
PM MAIL   Вверх
mes
Дата 30.1.2009, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(Vicipi @  30.1.2009,  21:13 Найти цитируемый пост)
как это все сложить в один массив?

ну a  где проблема ? 
вначале копируешь в целевой массив основные биты, потом  a[] и z[].


Это сообщение отредактировал(а) mes - 30.1.2009, 22:26


--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

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

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0474 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.