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

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

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

Нахождение обратной матрицы C++
C++ Нахождение обратной матрицы
Бинарные деревья с обратной связью C++
Метод гаммирования с обратной связью C++
Метод обратной матрицы C++
метод обратной прогонки C++
Нахождение обратной матрицы C++
C++ ГОСТ 28147 Гаммирование

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 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
Yandex
Объявления
22.05.2013, 21:46     Гаммирование с обратной связью
Ответ Создать тему
Опции темы

Текущее время: 16:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru