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

> Внимание!

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

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

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


Профи
****

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

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


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

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

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

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


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


Гость






Цитата
мне не понятно, как передать определённый подключ в функцию..
Я ж тебе в четвертом посте показывал, как работать с под-ключами, как "выдирать" их из ключа в любом порядке...

У тебя есть документы, которые содержат все необходимые тебе преобразования. Продумай, наконец, систему типов программы. Продумай систему преобразований типов (явных или неявных, может, будет проще написать небольшой класс, может, будет проще работать с массивами bool-ов, может - со строками, может - с __int64, я не знаю, у меня информация об алгоритме только очень отрывочная), а то так и будешь плавать в ненужных наворотах от одной задачи к другой. Я не буду делать все задание за тебя. Это мне не интересно (кстати, я сомневаюсь, что программная реализация стандарта шифрования ГОСТ 28147-89 вообще законна, у меня есть документ, однозначно утверждающий: "приведенный ниже материал не должен ни при каких условиях использоваться для программной или аппаратной реализации алгоритма криптографического преобразования" (С), так что можно ли вообще делать то, что ты делаешь - еще очень большой вопрос)
 К началу страницы 
+ Ответить 

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


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

 





- Текстовая версия 17.05.2024 18:44
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name