Is it possible to recover key used for blowfish encryption, if I have encoded and decoded string as well as initialization vector tables (bfp and ks0-3)? I don't know the length of the key.


1 Answer 1


No, not unless the input for the key small enough to be brute forced or guessed. For any secure block cipher the key cannot be retrieved even if you have the input (block of plaintext) and output (block of ciphertext). And there are no known attacks on Blowfish that break the cipher significantly.

So it really doesn't matter how the block cipher is used. There may be attacks on the mode of operation, such as CBC/PKCS#5/7 padding oracle attacks. Those may leak information about the encrypted message, but not about the key.

The small block size of Blowfish makes it harder to use in a secure mode of operation, which is probably the main reason why Bruce Schneier doesn't recommend it anymore (besides that it is an old algorithm, and there are simply better ones available by now).

  • $\begingroup$ @unknown123 When the answer fits your needs, please feel encouraged to push the accept button (✔) left of the answer. That way, the system and other users know that your question has been answered to your satisfaction. $\endgroup$
    – e-sushi
    Feb 25, 2017 at 19:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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