Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Программная инженерия > Безопасность, Шифрование
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.09.2018, 20:14   #1
Alexey Smirnov
Пользователь
 
Регистрация: 16.11.2013
Сообщений: 33
По умолчанию Длина ключа в алгоритме шифрования

Здравствуйте.
Помогите разобраться в вопросе.
Сколько символов должен быть ключ шифрования при реализации алгоритма шифрования "Кузнечик"? Или при реализации алгоритма "AES-192"? В алгоритме сказано, что ключ должен иметь длину 256 бит - это означает, что ключ должен иметь длину 32 символа, ни больше, ни меньше? Или это зависит от выбранной кодировки? Если это зависит от выбранной кодировки, то какую мне кодировку надо выбрать, чтобы ключ состоял из букв латиницы и русского алфавита обоих регистров, цифр и тех символов, которые расположены на клавиатуре (скорее всего, ASCII 128, но там как я понимаю нет русского алфавита)?

Последний раз редактировалось Alexey Smirnov; 24.09.2018 в 20:17.
Alexey Smirnov вне форума Ответить с цитированием
Старый 24.09.2018, 20:25   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Сообщение от Alexey Smirnov Посмотреть сообщение
Сколько символов должен быть ключ шифрования при реализации алгоритма шифрования "Кузнечик"?
https://ru.wikipedia.org/wiki/%D0%9A...B8%D1%84%D1%80)
Цитата:
Блочный шифр «Кузнечик» (входит в стандарт ГОСТ Р 34.12-2015) — симметричный алгоритм блочного шифрования с размером блока 128 битов и длиной ключа 256 битов и использующий для генерации раундовых ключей сеть Фейстеля.
Цитата:
Сообщение от Alexey Smirnov Посмотреть сообщение
Или при реализации алгоритма "AES-192"?
Цитата:
Сообщение от Alexey Smirnov Посмотреть сообщение
В алгоритме сказано, что ключ должен иметь длину 256 бит - это означает, что ключ должен иметь длину 32 символа, ни больше, ни меньше?
Это именно 256 бит, это именно 32 БАЙТА по 8 бит. Символы тут не причем.

Цитата:
Сообщение от Alexey Smirnov Посмотреть сообщение
Или это зависит от выбранной кодировки? Если это зависит от выбранной кодировки, то какую мне кодировку надо выбрать, чтобы ключ состоял из букв латиницы и русского алфавита обоих регистров, цифр и тех символов, которые расположены на клавиатуре (скорее всего, ASCII 128, но там как я понимаю нет русского алфавита)?
Не зависит. Какую хотите. Дайте алгоритму нужное кол-во битов. Как вы их получите ваше дело.
p51x вне форума Ответить с цитированием
Старый 24.09.2018, 20:29   #3
Alexey Smirnov
Пользователь
 
Регистрация: 16.11.2013
Сообщений: 33
По умолчанию

1. Алгоритм шифрования "Кузнечик". Если пользователь введет один символ, то это явно не будет 256 бит. Каким образом получить требуемые 256 бит? Если пользователь введет ключ длины, превышающей 256 бит, то "обрезаем" излишек?
2. Какую кодировку и как это сделать в C# надо подать на вход генератору псевдослучайной последовательности, если я хочу использовать символы латиницы и русского алфавита обоих регистров, цифр и тех символов, которые расположены на клавиатуре?
Alexey Smirnov вне форума Ответить с цитированием
Старый 24.09.2018, 20:45   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

1. Как вам угодно. Есть рекомендации в гостах, книжках и т.д. Кстати в кузнечике длина должна быть кратна 16 и тут нужен паддинг, если не так. Можете взять один из госта.

2. Любую. ГСПЧ работает с числами, ему на ваше кодировку по барабану.
p51x вне форума Ответить с цитированием
Старый 24.09.2018, 20:50   #5
Alexey Smirnov
Пользователь
 
Регистрация: 16.11.2013
Сообщений: 33
По умолчанию

Я вас не понимаю. Как подать на вход ГПСЧ набор конкретно из тех символов, что указаны в посты выше?
Alexey Smirnov вне форума Ответить с цитированием
Старый 24.09.2018, 20:53   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Какие символы? Где они указаны? ГПСЧ вообще-то предназначен для генерации последовательностей. У вас ГПСЧ с обратной связью?
p51x вне форума Ответить с цитированием
Старый 24.09.2018, 20:55   #7
Alexey Smirnov
Пользователь
 
Регистрация: 16.11.2013
Сообщений: 33
По умолчанию

Может я неправильно излагаю свои мысли.
Что я хочу реализовать: у меня есть набор символов, который указан постами выше. Наверняка есть какой то алгоритм, который берет набор этих символов и формирует из этих символов последовательность заданной длины.
Вот это я и хочу реализовать. Каким способом - это вопрос.
Alexey Smirnov вне форума Ответить с цитированием
Старый 24.09.2018, 21:00   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Если вам надо разбить последовательность символов - разбивайте. Причем тут алгоритмы шифрования?
p51x вне форума Ответить с цитированием
Старый 24.09.2018, 21:02   #9
Alexey Smirnov
Пользователь
 
Регистрация: 16.11.2013
Сообщений: 33
По умолчанию

Про алгоритм шифрования был задан вопрос для понимания.
Вопрос постом выше уже из требуемой задачи. Хочу сформировать ключ тем способом, что описал выше, и подать как один из параметров в алгоритм шифрования.
Подскажете по посту выше?
Alexey Smirnov вне форума Ответить с цитированием
Старый 24.09.2018, 21:03   #10
Alexey Smirnov
Пользователь
 
Регистрация: 16.11.2013
Сообщений: 33
По умолчанию

Как задать всю эту последовательность символов за один раз? Или вбивать вручную каждый символ?
Alexey Smirnov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка в алгоритме с++ Tavasilyok Помощь студентам 1 29.05.2016 19:55
Помощь в алгоритме Pixelrom33 Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 11.01.2015 20:56
Длина ключа evklid Помощь студентам 0 16.01.2014 20:32
CryptoApi с++ Экспорт ключа шифрования Dianochka Помощь студентам 0 24.04.2012 09:58
Ошибка в алгоритме parkito Общие вопросы C/C++ 1 07.12.2011 04:25