Aes

在使用 AES 包裝密鑰時生成替代初始值

  • March 24, 2022

我按照https://datatracker.ietf.org/doc/html/rfc5649#section-3(“AES Key Wrap with Padding Algorithm”)上的說明進行操作,我已經到了需要LSB(32,A)替代方案生成的地步初始值 (AIV)。我正在使用帶有緩衝區的NodeJS來實現該算法。我的理解是或者換句話說,長度為 4 的緩衝區就是文章中提到的 32 位。在將其轉換為緩衝區之後,我已經填充了密鑰,然後使用 with 的長度值作為文章中指示的值進行填充。現在我無法弄清楚的是獲得. 我怎麼得到的,我只知道它32-bits === buffer.length == 4``8 - (length % 8)``0s``32-bit MLI``MLI``Message Length Indicator但這就是我所知道的一切。

例子:

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

現在我只有MSB(32, A)但沒有LSB(32, A),我如何獲得價值,我做錯了什麼,請幫助我已經花了很多時間試圖解決這個問題。

**場景:**假設我的密鑰長度是 75,現在我必須填充剩餘的 5 個字元以使其成為 8 的倍數,那麼LSB(32, A)在這種情況下如何生成?

引用自:https://crypto.stackexchange.com/questions/99277