1
$\begingroup$

There's a program I'm using that downloads encrypted XML files to a user's computer that can be decrypted within the program with a provided password. I have the correct password for one of these encrypted XML files.

Basically my question is: Is there any way to decrypt an encrypted file without using that file's specific program if I have the password to decrypt it?

(I know it's some form of base64 encryption and that the program itself can be decompiled to an extent with a VB decompiler, but that's it for any extra, quite possibly useless info)

$\endgroup$
  • 1
    $\begingroup$ In theory, you can extract decryption routines from programs and re-implement them and get the same functionality. In practice this is usually quite hard. $\endgroup$ – SEJPM Mar 19 '17 at 10:39
1
$\begingroup$

Yes, you can, but you may have to reverse-engineer the algorithm. Crypt-analists usually consider the algorithm known. But this is more because the algorithm acts as a single secret if it isn't known.

If the algorithm is really intricate then it may be hard to reverse it from compiled code. If it is however managed, unobfuscated code then it may be pretty simple to decompile. It's quite easy to see that you have all the information present, but it may still be hard to extract it.

I once attacked an amateurish encryption scheme in Java Script (web-page encryption) and as a result I didn't just get the plaintext but also a table with names and passwords - and in that case I didn't even have a password.

So it depends on the ciphertext and application on how easy it is to decrypt. As the algorithm is deterministic and since you have all the inputs: password, code and ciphertext it's clear that it can be done.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.