Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Гаммирование с обратной связью - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Расположить строки в выделенном массиве http://www.cyberforum.ru/cpp-beginners/thread873920.html
Матрица А вводится с клавиатуры, построчно. Число строк заранее неизвестно, но различных строк не более m. Расположить строки в выделенном массиве, при этом повторяющиеся строки включать единожды....
C++ По заданной квадратной матрице из нулей и единиц определите, может ли данная матрица быть матрицей смежности простого неориентированного графа помогите решить вот такую задачу пожалуйста(( По заданной квадратной матрице n*n из нулей и единиц определите, может ли данная матрица быть матрицей смежности простого неориентированного графа. ... http://www.cyberforum.ru/cpp-beginners/thread873918.html
Как сделать, чтобы switch работал как цикл? C++
Как сделать что бы switch работал как цикл ? Ну то есть: switch (n) case 1:break; {newfile1 (); } case 2:break;{newfile2 (); } Когда выбираешь например "1" - выполняется newfile1 и...
C++ Ошибка
#include <iostream> #include "class.h" #include <string> #include <time.h> using namespace std; Element::Element () { name=new char; int n=0;
C++ Запуск программы и ее компиляция http://www.cyberforum.ru/cpp-beginners/thread873898.html
Здравствуйте, мне тут друг скинул прогу, а я ее запустить не могу, вот список файлов: main.cpp string1.cpp string1.h str.1 main.o string1.o Помогите разобраться)
C++ Описать конструктор вложенного класса Привет всем! пожалуйста объясните как правильно описать конструктор вложенного класса в .cpp и доступ к переменной (чтобы присвоить переменной pm_key NULL) вложенного класса ? template<typename... подробнее

Показать сообщение отдельно
eks
0 / 0 / 0
Регистрация: 21.01.2012
Сообщений: 6
22.05.2013, 21:46  [ТС]
Цитата Сообщение от alsav22 Посмотреть сообщение
Что значит "с обратной связью"?
с обратной связью это значит для формирования гаммы каждой последующей буквы будет использоваться контрольная сумма предыдущей.

Для генерации гаммы() используется формула T(i+1)=(A*i+C) mod M.
A,C - константы(целые числа < M )
T0-начальное значение

К примеру есть заданный алфавит:
A B C D E F G H - знаки открытого текста
0 1 2 3 4 5 6 7 - номер(код)
000 001 010 011 100 101 110 111 - (двоичный код)

Нам нужно зашифровать текст ABC

Генерируем число за формулой:
A=5, C=3, T0=7, M=8 (длина алфавита)

T1=(5*7+3)mod 8 = 6 (011)

Тоесть на букву А (000) мы будем накладывать T1 (011).

T2 формируется теперь за такой же формулой и с теми же значениями, но вместо T0 должно выбираться другое значение которое формируется из предыдущей буквы (она у нас А): будем подсчитывать единицы в двоичном коде. Тоесть для буквы А код 000. Значит для генерации T2 используем значение T0=0.

T2=(5*0+3)mod 8 = 3 (010)

Для T3 берем Т0 из буквы В (001), T0=1.

T3=(5*1+3)mod 8 = 0 (000).

В итоге имеем начальный текст АВС 000001010
накладываем на него гамму T1T2T3 011010000
и делаем сложение по модулю 2
000001010
011010000
_________
011011010 = DDC
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru