Aes
在使用 AES 包裝密鑰時生成替代初始值
我按照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)
在這種情況下如何生成?