Здравствуйте, у меня есть реализация rc5, на c++(утащил с гита). Взял, чтобы понять, что вообще происходит в этом блочном шифре.
На гитхабе посмотрел разные реализации и rc5, и rc6. Так и не понимаю, как вообще должен быть введен текст?
Знаю, что ключ, например, нужно вводить пользователю, а в виде текста? В виде hex'а? Или этот текст нужно будет ещё и переводить в hex в программе?
Просто в с++ нет надстройки в своих библиотеках, чтобы сразу переводить текст в 16-ый вид.
Криптографические алгоритмы работают с бинарными данными.
как вообще должен быть введен текст
Как угодно. В виде строки, hex string, base64 encoded binary string, 32-bit word array и т.д.
Это все потом преобразовать в бинарный формат. В случае строки, не забыв учесть кодировку, с которой закодирован текст.
Под работай с бинарными даннымим я имел в виду работу с массивом байт, uint8 (например), или массивом интов – uint32, не забыв учесть в этом случае endian (big или little).
Поскольку результат – тоже бинарные данные, можно их потом преобразовать в hex-string или закодировать в base64, либо же так и оставить – в зависимости от ситуации.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.