![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
18192123 |
![]()
Сообщение
#1
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 920 Пол: Женский Реальное имя: Марина Репутация: ![]() ![]() ![]() |
Здравствуйте!
Требуется реализовать алгоритм блочного шифрования ГОСТ 28147-89 в следующих режимах шифрования: режим простой замены; режим гаммирования; режим гаммирования с обратной связью. Программа должна запрашивать имя входного и выходного файлов, ключ, вектор инициализации (синхропосылку), режим работы (зашифрование или расшифрование), режим шифрования. У меня прежде всего вопрос по организации данных.. В соответствии с алгоритмом размер блока – 64 бита; - размер ключа – 256 бит. Ключ представляется как массив из восьми 32-битных подключей K={K0,K1,…,K7}; - количество S-блоков – 8. Каждый S-блок (в терминах стандарта – узел замены) содержит 16 четырехбитных значений, представляющих собой произвольную перестановку чисел от 0 до 15. Совокупность всех S-блоков можно представить в виде матрицы (таблицы замен) размером 8 на 16. Скажите пожалуйста, какие типы правильнее использовать для массива ключей и таблицы замен? |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Все-таки что-то не так в функции decryption(): если сделать точку останова и посмотреть, какое значение получилось после прочтения исходного текста в N (еще до encryption), а потом сравнить его со значением N после decryption, то выясняется, что после decryption значение N = -1. Хотя в самом начале было совсем другое значения.
Это первое. Второе: ты все запутала окончательно. Смотри... Ты читаешь изначальный текст из файла 2.txt, значит, входной файл у тебя там, перед шифрованием, должен открываться как "rt", а выходной (поскольку записываешь ты в него __int64) должен открываться как "wb"... Не просто "w", а именно "wb"... ТЕперь обратный процесс: ты читаешь данные для дешифрования из бинарного файла, т.е., открываться должен как "rb", а пишешь в decrypted.txt - как в текстовый - значит, вот так: // шифрование:Понимаешь, о чем я? В самой функции decryption не разбирался... |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 10:56 |