我正在使用 Java 的 Cipher 类进行解密。
几个问题:
- 使用 DES 解密和 OFB 进行多部分解密,是否可以在第一次迭代中生成密钥流,但不使用该密钥流进行异或运算,但仍将密钥流输入下一个分组密码?
我的代码(简要)如下:
desCipher = Cipher.getInstance("DES/OFB56/NoPadding");
desCipher.init(Cipher.DECRYPT_MODE, secretKey, ivParameter);
for (i=0;i<subframeCount;i++){
// perform the skip iteration here
if (firstFrame){
byte[] dummy = new byte[7];
dummy[0] = 1;dummy[1] = 12;dummy[2] = 12;dummy[3] = 15;dummy[4] = 26;dummy[5] = 12;dummy[6] = 12;
desCipher.update(dummy);
}
if (not_last_frame){
decryptedVCW = desCipher.update(vcwShift_E);
}
else{
decryptedVCW = desCipher.doFinal(vcwShift_E);
}
}
我不确定它是否确实在更新(虚拟)操作中跳过了 XORing,然后将密钥流用于下一个分组密码。
- 是否可以检索每个操作的密钥流?看看到底生成了什么会很好。
谢谢希夫