密碼學基礎與應用
以CBC模式使用AES(區塊長度16位元組),填充採用PKCS#7方式。PKCS#7方式中,若不足的位元組數為n,就加上n個值為n的位元組;明文長度恰為16的倍數時,也要加上16個值為16的位元組。加密96位元組的明文時,密文的長度(不含IV)為下列何者?
- A96位元組
- B112位元組
- C128位元組
查看答案與解析
正確答案:B. 112位元組
96位元組恰好是16位元組的6個區塊,但PKCS#7方式即使整除,也要加上由16個值為16的位元組組成的1個區塊。因此明文變成 96 + 16 = 112 位元組(7個區塊),密文也是112位元組。整除時也要加上填充,是為了讓解密方看最後一個位元組的值,就一定能去除填充。CTR模式或GCM這類與金鑰串流XOR的模式不需要填充,密文與明文長度相同。
- A. 這是不加填充時的值。PKCS#7方式即使恰好整除,也會加上1個區塊的填充。
- B. 正確。96 + 16 = 112 位元組。
- C. 這是在112位元組上再加上IV的16位元組所得的值。
繼續練習密碼學基礎與應用的另外9題