BKcrack and BK94 states that a minimum of 12 bytes plaintext is required to perform the attack but that was more than 20 years ago, even Michael Stay's improvement is not utilizing modern resources like RAM and so many threads or a proper tradeoff. I do not know exactly where to pin this but the algorithm store something in memory maybe find keys in a 2 seconds using 12 bytes plaintext.


Also Zip Crypto deflate is predictable if file size, type and layout are known.

for Example:

we can verify compressed data by checking layout of first byte according to deflate specification is:

HLIT       5 bits
HDIST      5 bits
HCLEN      4 bits

in which mostly the first 3 bits are always 100.

  • $\begingroup$ Give links, what is BK? Your question should be clear. $\endgroup$
    – kodlu
    Commented Mar 24 at 5:11
  • 1
    $\begingroup$ I tried editing your answer to make it more clear, but ran into the following issues that I did not know the answer for. You mention Michael Stay's attack, but this appears to be on the cipher in InfoZIP, On page 2 of Stay's paper, it is implied InfoZIP is a different cipher than that attacked by Biham and Kocher (BK94). Finally, Stay describes a GPU implementation of an attack on the InfoZIP cipher, so I am confused what you mean by "not utilizing modern resources like RAM and so many threads or a proper tradeoff", unless you are only aware of Stay's .. $\endgroup$
    – Mark Schultz-Wu
    Commented Mar 26 at 1:09
  • $\begingroup$ 2001 paper. If you want a modern take on attacking InfoZIP's cipher (which as mentioned, does not appear to be the target of BK94), then the 2020 paper of Stay linked above is probably your best bet. $\endgroup$
    – Mark Schultz-Wu
    Commented Mar 26 at 1:10

1 Answer 1


Yes, the algorithm is improvable in terms of modern computers but i only found one possible point of improvement which removing Z reduction which will then reduce the amount of required plaintext bytes to 8 contiguous and leaves you with about:



And i also that the algorithm is not so accurate when working with deflate compressed and encrypted stream, It doesn't find keys sometimes if correct plaintext byte are given so another improvement would be to borrow some functions from infigen and use them to filter correct keys


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.