Des
用什麼填充 DES 密鑰?
作為一些練習,我正在通過
DES
在 python 中實現來重新發明輪子。在我超越第一個功能之前,我遇到了一個問題……使用 keylegorooj
,它恰好是“64
”位,它應該作為一個DES
鍵工作。但是,當我使用 python 內置的二進制轉換函式時,我得到 56 位。我應該怎麼辦?我應該填充輸入位嗎?
‘0b’ 表示刪除了前導 0。
l
(小寫字母 L)作為二進制 8 位字節的實際值(作為字節)是01101100
,對於其他字節也是如此(它們是較低的 ASCII,因此最高位為 0)。請注意,有效的 DES 密鑰實際上是 56 位有效的;最低有效位是“奇偶校驗位”,在官方標準中,應該設置或取消設置,以便字節的總奇偶校驗為奇數:因此
011011010
與“m”相同(作為有效密鑰字節)是01101101
。無論如何,這些最終位都不會在算法中使用。