gpt4 book ai didi

java - 寻找 DES key

转载 作者:太空宇宙 更新时间:2023-11-04 07:49:05 25 4
gpt4 key购买 nike

正在解决使用java中给出的DES进行加密和解密的问题。我已经弄清楚如何很容易地加密和解密,但现在我陷入困境。对于当前的问题,我有明文和相应的密文(其格式为 8 个十六进制对,例如:A5 33 1F ..),但我也有 key 的前 4 个十六进制位。我并不是真的要求代码,而是更多地知道我将如何解决这个问题!任何事情都会有所帮助!这是我的解密代码(只是包含它以表明我正在努力工作:))。谢谢大家!

public static void decrypt(){
Cipher cipher;
SecretKeySpec key;
byte [] keyBytes;
byte [] pt;
byte [] ct;
String plaintxt;

keyBytes = new byte [] {(byte)0xFE, (byte)0xDC, (byte)0xBA, (byte)0x98, (byte)0x76, (byte)0x54, (byte)0x32, (byte)0x10};
key = new SecretKeySpec(keyBytes, "DES");
ct = new byte [] {(byte) 0x2C, (byte) 0xE6, (byte) 0xDD, (byte) 0xA4, (byte) 0x98, (byte) 0xCA, (byte) 0xBA, (byte) 0xB9};

try{
cipher = Cipher.getInstance("DES/ECB/NoPadding");
cipher.init(Cipher.DECRYPT_MODE, key);
pt = cipher.doFinal(ct);
printByteArray(pt);
plaintxt = byteToHex(pt);
hexToAscii(plaintxt);
}
catch(Exception e){
e.printStackTrace();
}

}

最佳答案

暴力破解。

枚举可能的每个 key (给定固定字节),直到获得使明文和密文匹配的解密。不过,这需要编辑:平均 2^37 次尝试,所以不要指望它会很快发生:)

DES 的一些特性可以让你更快地破解它,但它们很难实现,我怀疑你是否会被期望学习它们。但如果你有兴趣,http://en.wikipedia.org/wiki/Data_Encryption_Standard#Security_and_cryptanalysis

关于java - 寻找 DES key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14793355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com