🍺 BREW Explorer

← all formulae

bkcrack

brew install bkcrack v1.8.1 Zlib

Crack legacy zip encryption with Biham and Kocher's known plaintext attack

82
30-day installs · #3757
245
90-day · #3849
720
365-day · #4373
2.1k
★ GitHub stars · updated 2mo ago

Build dependencies

GitHub topics

attack ciphertext crack cracking multithread password pkzip plaintext-attack zip zipcracker zipcrypto

Links

Raw metadata
{
  "aliases": [],
  "alternatives": [],
  "build_dependencies": [
    "cmake"
  ],
  "categories": [],
  "caveats": null,
  "conflicts_with": [],
  "dependencies": [],
  "deprecated": 0,
  "deprecation_reason": null,
  "desc": "Crack legacy zip encryption with Biham and Kocher\u0027s known plaintext attack",
  "disable_reason": null,
  "disabled": 0,
  "enrichment_fetched_at": "2026-06-20T23:35:53+00:00",
  "first_seen": "2026-06-20T23:34:18+00:00",
  "full_name": "bkcrack",
  "github_default_branch": "master",
  "github_last_commit_at": "2026-06-14T12:30:01Z",
  "github_readme_excerpt": "bkcrack\n=======\n\n[![CI badge](https://github.com/kimci86/bkcrack/actions/workflows/ci.yml/badge.svg)](https://github.com/kimci86/bkcrack/actions/workflows/ci.yml)\n[![coverage badge](https://coveralls.io/repos/github/kimci86/bkcrack/badge.svg)](https://coveralls.io/github/kimci86/bkcrack)\n[![release badge](https://img.shields.io/github/v/release/kimci86/bkcrack)](https://github.com/kimci86/bkcrack/releases)\n[![license badge](https://img.shields.io/github/license/kimci86/bkcrack?color=informational)](license.txt)\n[![GitHub Sponsors badge](https://img.shields.io/github/sponsors/kimci86?color=red)](https://github.com/sponsors/kimci86)\n\nCrack legacy zip encryption with Biham and Kocher\u0027s known plaintext attack.\n\nOverview\n--------\n\nA ZIP archive may contain many entries whose content can be compressed and/or encrypted.\nIn particular, entries can be encrypted with a password-based symmetric encryption algorithm referred to as traditional PKWARE encryption, legacy encryption or ZipCrypto.\nThis algorithm generates a pseudo-random stream of bytes (keystream) which is XORed to the entry\u0027s content (plaintext) to produce encrypted data (ciphertext).\nThe generator\u0027s state, made of three 32-bits integers, is initialized using the password and then continuously updated with plaintext as encryption goes on.\nThis encryption algorithm is vulnerable to known plaintext attacks as shown by Eli Biham and Paul C. Kocher in the research paper [A known plaintext attack on the PKZIP stream cipher](https://doi.org/10.1007/3-540-60590-8_12).\nGiven ciphertext and 12 or more bytes of the corresponding plaintext, the internal state of the keystream generator can be recovered.\nThis internal state is enough to decipher ciphertext entirely as well as other entries which were encrypted with the same password.\nIt can also be used to bruteforce the password with a complexity of *n\u003csup\u003el-6\u003c/sup\u003e* where *n* is the size of the character set and *l* is the length of the password.\n\n**bkcrack** is a command-l",
  "github_repo": "kimci86/bkcrack",
  "github_stars": 2130,
  "github_topics": [
    "attack",
    "ciphertext",
    "crack",
    "cracking",
    "multithread",
    "password",
    "pkzip",
    "plaintext-attack",
    "zip",
    "zipcracker",
    "zipcrypto"
  ],
  "homepage": "https://github.com/kimci86/bkcrack",
  "homepage_og_description": null,
  "homepage_og_image": null,
  "homepage_title": null,
  "installs_30d": 82,
  "installs_365d": 720,
  "installs_90d": 245,
  "keg_only": 0,
  "keg_only_reason": null,
  "last_seen": "2026-06-20T23:34:18+00:00",
  "license": "Zlib",
  "llm_generated_at": null,
  "llm_model": null,
  "name": "bkcrack",
  "oldnames": [],
  "one_liner": null,
  "optional_dependencies": [],
  "rank_30d": 3757,
  "rank_365d": 4373,
  "rank_90d": 3849,
  "raw_hash": "bcd04b8bdf475bf7",
  "recommended_dependencies": [],
  "revision": 0,
  "ruby_source_path": "Formula/b/bkcrack.rb",
  "tap": "homebrew/core",
  "test_dependencies": [],
  "uses_from_macos": [],
  "version_head": "HEAD",
  "version_stable": "1.8.1",
  "versioned_formulae": [],
  "why_use_this": null
}