IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

> Блочное шифрование данных, алгоритм ГОСТ 28147-89
18192123
сообщение 3.03.2009 20:26
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

Репутация: -  2  +


Здравствуйте!
Требуется реализовать алгоритм блочного шифрования ГОСТ 28147-89 в следующих режимах
шифрования: режим простой замены; режим гаммирования; режим гаммирования с обратной связью.
Программа должна запрашивать имя входного и выходного файлов,
ключ, вектор инициализации (синхропосылку), режим работы
(зашифрование или расшифрование), режим шифрования.

У меня прежде всего вопрос по организации данных..
В соответствии с алгоритмом

размер блока – 64 бита;
- размер ключа – 256 бит. Ключ представляется как массив из
восьми 32-битных подключей K={K0,K1,…,K7};
- количество S-блоков – 8. Каждый S-блок (в терминах стандарта –
узел замены) содержит 16 четырехбитных значений, представляющих
собой произвольную перестановку чисел от 0 до 15. Совокупность всех
S-блоков можно представить в виде матрицы (таблицы замен) размером 8 на 16.

Скажите пожалуйста, какие типы правильнее использовать для массива ключей и таблицы замен?


 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
18192123
сообщение 15.03.2009 17:44
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

Репутация: -  2  +


Итак..далее..
У меня будет функция (выступающая в качестве основного шага криптопреобразования) по преобразованию очередного 64-битного блока текста (его и будет возвращать ф-ция), в которую помимо этого блока необходимо передавать подключи в таком порядке: К0К1К2К3К4К5К6К7К0К1К2К3К4К5К6К7К0К1К2К3К4К5К6К7К7К6К5К4К3К2К1К0..
Вызов функции с такой последовательностью ключей обеспечивает шифрование блока открытого текста в режиме простой замены..
И мне не понятно, как передать определённый подключ в функцию..
Объясните пожалуйста..!

p.s. привожу статью, на которую опираюсь (пункты 1.3, 1.4, 1.5)


Прикрепленные файлы
Прикрепленный файл  28147_89.rar ( 143.15 килобайт ) Кол-во скачиваний: 137
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
18192123   Блочное шифрование данных   3.03.2009 20:26
volvo   Язык - С++, как видно? Тогда тебе нельзя привязыва...   3.03.2009 21:57
18192123   typedef bool Tsubkey[32]; typedef Tsubkey Tk...   3.03.2009 22:54
volvo   Строкой... Все вводится строкой. Если длина ключа ...   3.03.2009 23:47
18192123   Мне не очень понятно, как поступить с таблицей зам...   13.03.2009 22:46
18192123   Вот что у меня получилось при формировании таблицы...   14.03.2009 19:56
18192123   Пока не могу добиться нормального считывания из фа...   15.03.2009 12:46
volvo   Файл текстовый? Двоичный? Здесь не форум телепатов...   15.03.2009 12:59
18192123   Таблица замен в текстовом файле..Ниже его содержим...   15.03.2009 13:25
volvo   Ну, раз текстовый, то: wchar_t blokS[8][16]; void...   15.03.2009 13:58
18192123   У меня ещё вопрос по считыванию блока текста (текс...   15.03.2009 15:13
volvo   Зачем ты заталкиваешь это в __int64? Ты хочешь пол...   15.03.2009 15:33
18192123   __int64 value64; //... value64 = *(__int64*)(...   15.03.2009 15:54
volvo   Вот 2 способа: union Convertor { __int64 value6...   15.03.2009 16:57
18192123   Итак..далее.. У меня будет функция (выступающая в ...   15.03.2009 17:44
volvo   Я ж тебе в четвертом посте показывал, как работать...   15.03.2009 18:44
18192123   ...так что можно ли вообще делать то, что ты дела...   15.03.2009 23:31
18192123   //... N=emcryption(N); //N=decryption(N); ...   16.03.2009 20:01
volvo   Все-таки что-то не так в функции decryption(): есл...   17.03.2009 0:11
volvo   Так... А вот теперь я разбирался со всеми функциям...   17.03.2009 19:09


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 18.07.2025 10:18
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"