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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.94
eks
0 / 0 / 0
Регистрация: 21.01.2012
Сообщений: 6
#1

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

22.05.2013, 02:34. Просмотров 2265. Ответов 2
Метки нет (Все метки)

Нужна помощь ребят. Я не програмист и С++ учил только самые основы, но в универе по предмету криптологии напрягли с прогой...
Нужна хоть какая то элементарная программа для шифрования гаммированием с обратной связью, что бы могла зашифровать хоть несколько букв. Может кому не сложно подкинуть что-то такое, буду очень благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2013, 02:34     Гаммирование с обратной связью
Посмотрите здесь:

Бинарные деревья с обратной связью - C++
Дан адрес P1 вершины дерева — записи типа TNode, содержащей поля Data (целого типа), Left, Right и Parent (типа PNode — указателя на...

Метод гаммирования с обратной связью - C++
имею код программы без алгоритма шифрования. если я все правильно понимаю, то сейчас эта программа просто переписывает строку текста из...

Генератор псевдослучайных чисел на основе сдвигового регистра с обратной связью - C++
Необходимо создать генератор псевдослучайных чисел на основе lfsr. Разрядов регистра 8. Ксорить: 8,4,3 и 2 биты. (f = b8 ^ b4 ^ b3 ^ ...

ГОСТ 28147 Гаммирование - C++
Нашел вот на форуме код.. мне по заданию нужно разделить входящий текст на блоки в 64 бита, зашифровать и потом вывести первые два...

Вывести сведения об абонентах, воспользовавшихся междугородней связью - C++
Phone: Фамилия, Имя, Отчество, Адрес, Номер, Время внутри-городских разговоров, Время междугородних разговоров. Создать массив...

Нахождение обратной матрицы - C++
Здравствуйте, уважаемые программисты! Прощу помощи. Для заданной матрицы A(3,3), найти обратную А в -1 степени. Буду очень...

Поиск обратной матрицы - C++
Дана ленточная разреженная матрица. Найти обратную. Знаю, что это тема есть на форуме, но ответа так и не было. Может кто-нибудь на...

Нахождение обратной матрицы - C++
Доброго времени суток! Возникла необходимость найти обратную матрицу любым из способов, так как в программировании только делаю первые...

Делители в обратной последовательности - C++
Написать программу, которая выводит все делители числа в обратной последовательности. Написал код для обычного вывода: #include...

Нахождение обратной матрицы - C++
Доброго времени суток! Помогите, пожалуйста, с нахождением обратной матрицы. Нашел такой код тут на форуме. Можете ли его максимально...

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

Метод обратной прогонки - C++
Нужно реализовать метод обратной прогонки на с++.МОЖНО ВЗЯТЬ ЛЮБОЙ ПРИМЕР.КТО МОЖЕТ ПОМОГИТЕ!!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.05.2013, 07:02     Гаммирование с обратной связью #2
Что значит "с обратной связью"?
eks
0 / 0 / 0
Регистрация: 21.01.2012
Сообщений: 6
22.05.2013, 21:46  [ТС]     Гаммирование с обратной связью #3
Цитата Сообщение от 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
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru