Могу ли я найти ключ в алгоритме шифрования Triple DES, если у меня есть IV, данные шифрования и полученное значение? - PullRequest
0 голосов
/ 10 октября 2011

Это не предназначено для какого-либо взлома, я просто пробую свои силы в технике шифрования Triple DES в .NET.У меня есть некоторые тестовые данные со мной.Я должен получить результат с данными данными.У меня тоже есть результат.Но значение никогда не совпадает.Я уверен, что код в порядке (даст это ниже).Поэтому я подумал, что единственная возможность может заключаться в том, что ключ неверен, и поэтому давайте найдем ключ и посмотрим, соответствует ли он.Ниже мой код:

byte[] key = StringToByteArray("5b70649d4ae0bf2af891c167514aa7515b70649d4ae0bf2a");
byte[] iv = new byte[] { 0, 0, 0, 0, 0, 0, 0, 0 };
byte[] bytes = Encoding.ASCII.GetBytes("95e4d77c6d6c6c993333303533303833");
TripleDESCryptoServiceProvider tripleDes = new TripleDESCryptoServiceProvider();
tripleDes.Mode = CipherMode.CBC;
//tripleDes.Padding = PaddingMode.None;
tripleDes.Key = key;
tripleDes.IV = iv;
MemoryStream ms = new MemoryStream();
ICryptoTransform encryptor = tripleDes.CreateEncryptor();

CryptoStream cs = new CryptoStream(ms, encryptor, CryptoStreamMode.Write);
cs.Write(bytes, 0, bytes.Length);
cs.FlushFinalBlock();
byte[] cipher = ms.ToArray();
string finalValue = ByteToString(cipher, 16); //ByteToString method will convert byte array to string.

Окончательный результат - 1B529558534F43D15556AD65C7E396D5674EE8A09E0A29A84389020EF820AC51B7D5E1B33BDA18A2.Так как мне нужно только 16 байтов, я преобразовал только первые 16 байтов в шестнадцатеричные 1B529558534F43D15556AD65C7E396D5.

Но ожидаемый результат - 76db821f5c7af12dc8d70a6a79cfcb77 Если я могу найти ключ, я могу знать, что должен быть какой-то видОбработка также требуется в ключе.

Спасибо за помощь!

1 Ответ

1 голос
/ 10 октября 2011

Хотя это, безусловно, возможно, я не думаю, что класс TripleDESCryptoServiceProvider предназначен для работы в «обратном» режиме, чтобы дать вам ключ, когда у вас есть шифр, IV и незашифрованные данные.С чего бы это?

...