Следую инструкциям на 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, А)
в таком случае?