Задать вопрос
@Genile

Как в RC6 вводятся текст и ключ?

Здравствуйте, у меня есть реализация rc5, на c++(утащил с гита). Взял, чтобы понять, что вообще происходит в этом блочном шифре.
На гитхабе посмотрел разные реализации и rc5, и rc6. Так и не понимаю, как вообще должен быть введен текст?
Знаю, что ключ, например, нужно вводить пользователю, а в виде текста? В виде hex'а? Или этот текст нужно будет ещё и переводить в hex в программе?
Просто в с++ нет надстройки в своих библиотеках, чтобы сразу переводить текст в 16-ый вид.
  • Вопрос задан
  • 181 просмотр
Подписаться 1 Средний Комментировать
Решения вопроса 1
@GrayHorse
Криптографические алгоритмы работают с бинарными данными.

как вообще должен быть введен текст

Как угодно. В виде строки, hex string, base64 encoded binary string, 32-bit word array и т.д.
Это все потом преобразовать в бинарный формат. В случае строки, не забыв учесть кодировку, с которой закодирован текст.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
Схема при которой пользователь вводит НЕЧТО с клавиатуры и это нечто расматривается как ключ шифрования - очень слабая схема и не выдерживает атак. Пользоватль ленив и глуп. И всегда будет стараться вводить пароли и ключи по 1-2 символа. С этим ничего не поделать. Поэтому если автор заинтересован чтобы поле ключей было более сложным - надо использовать во первых SALT в совокупности с паролем. И использовать функцию хеширования наподобие SHA1 чтобы получить более-менее сложый ключ. В некоторых случаях (сеансовые ключи) можно получить энтропию из внешнего мира (часы в микросекундах и текущее положение мышки на экрасне).

Тоесть само наличие в схеме алгоритма RC5 еще не гарантирует что у тебя система надежна. Нужно чтобы ее использование было чистым и лишенным человеческого фактора.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы