Рейтинг:1

Генерация альтернативного начального значения при переносе ключей с помощью AES

флаг us

Следую инструкциям на https://datatracker.ietf.org/doc/html/rfc5649#section-3 («AES Key Wrap с алгоритмом заполнения»), и я дошел до того, что мне нужно сгенерировать Младший разряд (32, А) для Альтернативное начальное значение (AIV). Занимательный NodeJS с буферы для реализации алгоритма. мое понимание 32-битный === буфер.длина == 4 или, другими словами, длина буфера 4 — это 32 бита, упомянутые в статье. Я дополнил ключ после преобразования его в буфер, а затем дополнил значением длины 8 - (длина % 8) с 0 с стоимость указана в статье. Теперь то, что я не смог понять, это получить значение 32-битный MLI. Как мне получить МЛИ, я просто знаю его Индикатор длины сообщения но это все, что я знаю об этом.

Пример:

const key = Buffer.from('base64 key', 'base64');
const kek = Buffer.from('A65959A6', 'hex');

Теперь здесь у меня есть только Старший бит (32, А) но нет Младший разряд (32, А), как мне получить значение, и есть ли что-то, что я делаю неправильно, пожалуйста, помогите, я уже потратил много времени, пытаясь понять это.

Сценарий: Допустим, длина моего ключа составляет 75, теперь мне нужно дополнить оставшиеся 5 символов, чтобы они были кратны 8, теперь как мне сгенерировать Младший разряд (32, А) в таком случае?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.