cyberchef-py 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (592) hide show
  1. cyberchef_py-0.1.0.dist-info/METADATA +274 -0
  2. cyberchef_py-0.1.0.dist-info/RECORD +592 -0
  3. cyberchef_py-0.1.0.dist-info/WHEEL +4 -0
  4. cyberchef_py-0.1.0.dist-info/licenses/LICENSE +201 -0
  5. cyberchef_py-0.1.0.dist-info/licenses/NOTICE +11 -0
  6. cyberchef_py-0.1.0.dist-info/licenses/THIRD_PARTY_LICENSES.md +64 -0
  7. pychef/__init__.py +165 -0
  8. pychef/compatibility.py +551 -0
  9. pychef/ctf.py +615 -0
  10. pychef/errors.py +22 -0
  11. pychef/operations/__init__.py +5 -0
  12. pychef/operations/_utils.py +72 -0
  13. pychef/operations/aes.py +411 -0
  14. pychef/operations/analysis_extra.py +90 -0
  15. pychef/operations/ascon.py +236 -0
  16. pychef/operations/bcrypt_parse.py +22 -0
  17. pychef/operations/bifid.py +75 -0
  18. pychef/operations/binary_formats.py +467 -0
  19. pychef/operations/blake3.py +204 -0
  20. pychef/operations/blowfish.py +288 -0
  21. pychef/operations/by_operation/__init__.py +515 -0
  22. pychef/operations/by_operation/a1z26_cipher_decode.py +19 -0
  23. pychef/operations/by_operation/a1z26_cipher_encode.py +19 -0
  24. pychef/operations/by_operation/add.py +19 -0
  25. pychef/operations/by_operation/add_line_numbers.py +19 -0
  26. pychef/operations/by_operation/add_text_to_image.py +19 -0
  27. pychef/operations/by_operation/adler_32_checksum.py +19 -0
  28. pychef/operations/by_operation/aes_decrypt.py +19 -0
  29. pychef/operations/by_operation/aes_encrypt.py +19 -0
  30. pychef/operations/by_operation/aes_key_unwrap.py +19 -0
  31. pychef/operations/by_operation/aes_key_wrap.py +19 -0
  32. pychef/operations/by_operation/affine_cipher_decode.py +19 -0
  33. pychef/operations/by_operation/affine_cipher_encode.py +19 -0
  34. pychef/operations/by_operation/alternating_caps.py +19 -0
  35. pychef/operations/by_operation/amf_decode.py +19 -0
  36. pychef/operations/by_operation/amf_encode.py +19 -0
  37. pychef/operations/by_operation/analyse_hash.py +19 -0
  38. pychef/operations/by_operation/analyse_uuid.py +19 -0
  39. pychef/operations/by_operation/and_operation.py +19 -0
  40. pychef/operations/by_operation/argon2.py +19 -0
  41. pychef/operations/by_operation/argon2_compare.py +19 -0
  42. pychef/operations/by_operation/ascon_decrypt.py +19 -0
  43. pychef/operations/by_operation/ascon_encrypt.py +19 -0
  44. pychef/operations/by_operation/ascon_hash.py +19 -0
  45. pychef/operations/by_operation/ascon_mac.py +19 -0
  46. pychef/operations/by_operation/atbash_cipher.py +19 -0
  47. pychef/operations/by_operation/automated_validation_test_op.py +19 -0
  48. pychef/operations/by_operation/avro_to_json.py +19 -0
  49. pychef/operations/by_operation/bacon_cipher_decode.py +19 -0
  50. pychef/operations/by_operation/bacon_cipher_encode.py +19 -0
  51. pychef/operations/by_operation/bcrypt.py +19 -0
  52. pychef/operations/by_operation/bcrypt_compare.py +19 -0
  53. pychef/operations/by_operation/bcrypt_parse.py +19 -0
  54. pychef/operations/by_operation/bifid_cipher_decode.py +19 -0
  55. pychef/operations/by_operation/bifid_cipher_encode.py +19 -0
  56. pychef/operations/by_operation/bit_shift_left.py +19 -0
  57. pychef/operations/by_operation/bit_shift_right.py +19 -0
  58. pychef/operations/by_operation/blake2b.py +19 -0
  59. pychef/operations/by_operation/blake2s.py +19 -0
  60. pychef/operations/by_operation/blake3.py +19 -0
  61. pychef/operations/by_operation/blowfish_decrypt.py +19 -0
  62. pychef/operations/by_operation/blowfish_encrypt.py +19 -0
  63. pychef/operations/by_operation/blur_image.py +19 -0
  64. pychef/operations/by_operation/bombe.py +19 -0
  65. pychef/operations/by_operation/bson_deserialise.py +19 -0
  66. pychef/operations/by_operation/bson_serialise.py +19 -0
  67. pychef/operations/by_operation/bzip2_compress.py +19 -0
  68. pychef/operations/by_operation/bzip2_decompress.py +19 -0
  69. pychef/operations/by_operation/caesar_box_cipher.py +19 -0
  70. pychef/operations/by_operation/caret_m_decode.py +19 -0
  71. pychef/operations/by_operation/cartesian_product.py +19 -0
  72. pychef/operations/by_operation/cbor_decode.py +19 -0
  73. pychef/operations/by_operation/cbor_encode.py +19 -0
  74. pychef/operations/by_operation/cetacean_cipher_decode.py +19 -0
  75. pychef/operations/by_operation/cetacean_cipher_encode.py +19 -0
  76. pychef/operations/by_operation/chacha.py +19 -0
  77. pychef/operations/by_operation/change_ip_format.py +19 -0
  78. pychef/operations/by_operation/chi_square.py +19 -0
  79. pychef/operations/by_operation/ciphersaber2_decrypt.py +19 -0
  80. pychef/operations/by_operation/ciphersaber2_encrypt.py +19 -0
  81. pychef/operations/by_operation/citrix_ctx1_decode.py +19 -0
  82. pychef/operations/by_operation/citrix_ctx1_encode.py +19 -0
  83. pychef/operations/by_operation/cmac.py +19 -0
  84. pychef/operations/by_operation/colossus.py +19 -0
  85. pychef/operations/by_operation/comment.py +19 -0
  86. pychef/operations/by_operation/compare_ctph_hashes.py +19 -0
  87. pychef/operations/by_operation/compare_ssdeep_hashes.py +19 -0
  88. pychef/operations/by_operation/conditional_jump.py +19 -0
  89. pychef/operations/by_operation/contain_image.py +19 -0
  90. pychef/operations/by_operation/convert_area.py +19 -0
  91. pychef/operations/by_operation/convert_co_ordinate_format.py +19 -0
  92. pychef/operations/by_operation/convert_data_units.py +19 -0
  93. pychef/operations/by_operation/convert_distance.py +19 -0
  94. pychef/operations/by_operation/convert_image_format.py +19 -0
  95. pychef/operations/by_operation/convert_leet_speak.py +19 -0
  96. pychef/operations/by_operation/convert_mass.py +19 -0
  97. pychef/operations/by_operation/convert_speed.py +19 -0
  98. pychef/operations/by_operation/convert_to_nato_alphabet.py +19 -0
  99. pychef/operations/by_operation/count_occurrences.py +19 -0
  100. pychef/operations/by_operation/cover_image.py +19 -0
  101. pychef/operations/by_operation/crc_checksum.py +19 -0
  102. pychef/operations/by_operation/crop_image.py +19 -0
  103. pychef/operations/by_operation/css_beautify.py +19 -0
  104. pychef/operations/by_operation/css_minify.py +19 -0
  105. pychef/operations/by_operation/css_selector.py +19 -0
  106. pychef/operations/by_operation/csv_to_json.py +19 -0
  107. pychef/operations/by_operation/ctph.py +19 -0
  108. pychef/operations/by_operation/datetime_delta.py +19 -0
  109. pychef/operations/by_operation/dechunk_http_response.py +19 -0
  110. pychef/operations/by_operation/decode_netbios_name.py +19 -0
  111. pychef/operations/by_operation/decode_text.py +19 -0
  112. pychef/operations/by_operation/defang_ip_addresses.py +19 -0
  113. pychef/operations/by_operation/defang_url.py +19 -0
  114. pychef/operations/by_operation/derive_evp_key.py +19 -0
  115. pychef/operations/by_operation/derive_hkdf_key.py +19 -0
  116. pychef/operations/by_operation/derive_pbkdf2_key.py +19 -0
  117. pychef/operations/by_operation/des_decrypt.py +19 -0
  118. pychef/operations/by_operation/des_encrypt.py +19 -0
  119. pychef/operations/by_operation/detect_file_type.py +19 -0
  120. pychef/operations/by_operation/diff.py +19 -0
  121. pychef/operations/by_operation/disassemble_arm.py +19 -0
  122. pychef/operations/by_operation/disassemble_x86.py +19 -0
  123. pychef/operations/by_operation/dither_image.py +19 -0
  124. pychef/operations/by_operation/divide.py +19 -0
  125. pychef/operations/by_operation/dns_over_https.py +19 -0
  126. pychef/operations/by_operation/drop_bytes.py +19 -0
  127. pychef/operations/by_operation/drop_nth_bytes.py +19 -0
  128. pychef/operations/by_operation/ecdsa_sign.py +19 -0
  129. pychef/operations/by_operation/ecdsa_signature_conversion.py +19 -0
  130. pychef/operations/by_operation/ecdsa_verify.py +19 -0
  131. pychef/operations/by_operation/elf_info.py +19 -0
  132. pychef/operations/by_operation/encode_netbios_name.py +19 -0
  133. pychef/operations/by_operation/encode_text.py +19 -0
  134. pychef/operations/by_operation/enigma.py +19 -0
  135. pychef/operations/by_operation/entropy.py +19 -0
  136. pychef/operations/by_operation/escape_smart_characters.py +19 -0
  137. pychef/operations/by_operation/escape_string.py +19 -0
  138. pychef/operations/by_operation/escape_unicode_characters.py +19 -0
  139. pychef/operations/by_operation/expand_alphabet_range.py +19 -0
  140. pychef/operations/by_operation/extended_gcd.py +19 -0
  141. pychef/operations/by_operation/extract_audio_metadata.py +19 -0
  142. pychef/operations/by_operation/extract_dates.py +19 -0
  143. pychef/operations/by_operation/extract_domains.py +19 -0
  144. pychef/operations/by_operation/extract_email_addresses.py +19 -0
  145. pychef/operations/by_operation/extract_exif.py +19 -0
  146. pychef/operations/by_operation/extract_file_paths.py +19 -0
  147. pychef/operations/by_operation/extract_files.py +19 -0
  148. pychef/operations/by_operation/extract_hashes.py +19 -0
  149. pychef/operations/by_operation/extract_id3.py +19 -0
  150. pychef/operations/by_operation/extract_ip_addresses.py +19 -0
  151. pychef/operations/by_operation/extract_lsb.py +19 -0
  152. pychef/operations/by_operation/extract_mac_addresses.py +19 -0
  153. pychef/operations/by_operation/extract_rgba.py +19 -0
  154. pychef/operations/by_operation/extract_urls.py +19 -0
  155. pychef/operations/by_operation/fang_url.py +19 -0
  156. pychef/operations/by_operation/fernet_decrypt.py +19 -0
  157. pychef/operations/by_operation/fernet_encrypt.py +19 -0
  158. pychef/operations/by_operation/file_tree.py +19 -0
  159. pychef/operations/by_operation/filter.py +19 -0
  160. pychef/operations/by_operation/find_replace.py +19 -0
  161. pychef/operations/by_operation/flask_session_decode.py +19 -0
  162. pychef/operations/by_operation/flask_session_sign.py +19 -0
  163. pychef/operations/by_operation/flask_session_verify.py +19 -0
  164. pychef/operations/by_operation/fletcher_16_checksum.py +19 -0
  165. pychef/operations/by_operation/fletcher_32_checksum.py +19 -0
  166. pychef/operations/by_operation/fletcher_64_checksum.py +19 -0
  167. pychef/operations/by_operation/fletcher_8_checksum.py +19 -0
  168. pychef/operations/by_operation/flip_image.py +19 -0
  169. pychef/operations/by_operation/fork.py +19 -0
  170. pychef/operations/by_operation/format_mac_addresses.py +19 -0
  171. pychef/operations/by_operation/frequency_distribution.py +19 -0
  172. pychef/operations/by_operation/from_base.py +19 -0
  173. pychef/operations/by_operation/from_base32.py +19 -0
  174. pychef/operations/by_operation/from_base45.py +19 -0
  175. pychef/operations/by_operation/from_base58.py +19 -0
  176. pychef/operations/by_operation/from_base62.py +19 -0
  177. pychef/operations/by_operation/from_base64.py +19 -0
  178. pychef/operations/by_operation/from_base85.py +19 -0
  179. pychef/operations/by_operation/from_base92.py +19 -0
  180. pychef/operations/by_operation/from_bcd.py +19 -0
  181. pychef/operations/by_operation/from_bech32.py +19 -0
  182. pychef/operations/by_operation/from_binary.py +19 -0
  183. pychef/operations/by_operation/from_braille.py +19 -0
  184. pychef/operations/by_operation/from_case_insensitive_regex.py +19 -0
  185. pychef/operations/by_operation/from_charcode.py +19 -0
  186. pychef/operations/by_operation/from_cobs.py +19 -0
  187. pychef/operations/by_operation/from_decimal.py +19 -0
  188. pychef/operations/by_operation/from_float.py +19 -0
  189. pychef/operations/by_operation/from_hex.py +19 -0
  190. pychef/operations/by_operation/from_hex_content.py +19 -0
  191. pychef/operations/by_operation/from_hexdump.py +19 -0
  192. pychef/operations/by_operation/from_html_entity.py +19 -0
  193. pychef/operations/by_operation/from_messagepack.py +19 -0
  194. pychef/operations/by_operation/from_modhex.py +19 -0
  195. pychef/operations/by_operation/from_morse_code.py +19 -0
  196. pychef/operations/by_operation/from_octal.py +19 -0
  197. pychef/operations/by_operation/from_punycode.py +19 -0
  198. pychef/operations/by_operation/from_quoted_printable.py +19 -0
  199. pychef/operations/by_operation/from_unix_timestamp.py +19 -0
  200. pychef/operations/by_operation/fuzzy_match.py +19 -0
  201. pychef/operations/by_operation/generate_all_checksums.py +19 -0
  202. pychef/operations/by_operation/generate_all_hashes.py +19 -0
  203. pychef/operations/by_operation/generate_de_bruijn_sequence.py +19 -0
  204. pychef/operations/by_operation/generate_ecdsa_key_pair.py +19 -0
  205. pychef/operations/by_operation/generate_hotp.py +19 -0
  206. pychef/operations/by_operation/generate_image.py +19 -0
  207. pychef/operations/by_operation/generate_lorem_ipsum.py +19 -0
  208. pychef/operations/by_operation/generate_pgp_key_pair.py +19 -0
  209. pychef/operations/by_operation/generate_qr_code.py +19 -0
  210. pychef/operations/by_operation/generate_rsa_key_pair.py +19 -0
  211. pychef/operations/by_operation/generate_totp.py +19 -0
  212. pychef/operations/by_operation/generate_uuid.py +19 -0
  213. pychef/operations/by_operation/generic_code_beautify.py +19 -0
  214. pychef/operations/by_operation/get_all_casings.py +19 -0
  215. pychef/operations/by_operation/get_time.py +19 -0
  216. pychef/operations/by_operation/gost_decrypt.py +19 -0
  217. pychef/operations/by_operation/gost_encrypt.py +19 -0
  218. pychef/operations/by_operation/gost_hash.py +19 -0
  219. pychef/operations/by_operation/gost_key_unwrap.py +19 -0
  220. pychef/operations/by_operation/gost_key_wrap.py +19 -0
  221. pychef/operations/by_operation/gost_sign.py +19 -0
  222. pychef/operations/by_operation/gost_verify.py +19 -0
  223. pychef/operations/by_operation/group_ip_addresses.py +19 -0
  224. pychef/operations/by_operation/gunzip.py +19 -0
  225. pychef/operations/by_operation/gzip.py +19 -0
  226. pychef/operations/by_operation/hamming_distance.py +19 -0
  227. pychef/operations/by_operation/has_160.py +19 -0
  228. pychef/operations/by_operation/hassh_client_fingerprint.py +19 -0
  229. pychef/operations/by_operation/hassh_server_fingerprint.py +19 -0
  230. pychef/operations/by_operation/haversine_distance.py +19 -0
  231. pychef/operations/by_operation/head.py +19 -0
  232. pychef/operations/by_operation/heatmap_chart.py +19 -0
  233. pychef/operations/by_operation/hex_density_chart.py +19 -0
  234. pychef/operations/by_operation/hex_to_object_identifier.py +19 -0
  235. pychef/operations/by_operation/hex_to_pem.py +19 -0
  236. pychef/operations/by_operation/hmac.py +19 -0
  237. pychef/operations/by_operation/html_to_text.py +19 -0
  238. pychef/operations/by_operation/http_request.py +19 -0
  239. pychef/operations/by_operation/image_brightness_contrast.py +19 -0
  240. pychef/operations/by_operation/image_filter.py +19 -0
  241. pychef/operations/by_operation/image_hue_saturation_lightness.py +19 -0
  242. pychef/operations/by_operation/image_opacity.py +19 -0
  243. pychef/operations/by_operation/index_of_coincidence.py +19 -0
  244. pychef/operations/by_operation/invert_image.py +19 -0
  245. pychef/operations/by_operation/ipv6_transition_addresses.py +19 -0
  246. pychef/operations/by_operation/ja3_fingerprint.py +19 -0
  247. pychef/operations/by_operation/ja3s_fingerprint.py +19 -0
  248. pychef/operations/by_operation/ja4_fingerprint.py +19 -0
  249. pychef/operations/by_operation/ja4server_fingerprint.py +19 -0
  250. pychef/operations/by_operation/javascript_beautify.py +19 -0
  251. pychef/operations/by_operation/javascript_minify.py +19 -0
  252. pychef/operations/by_operation/javascript_parser.py +19 -0
  253. pychef/operations/by_operation/jpath_expression.py +19 -0
  254. pychef/operations/by_operation/jq.py +19 -0
  255. pychef/operations/by_operation/json_beautify.py +19 -0
  256. pychef/operations/by_operation/json_minify.py +19 -0
  257. pychef/operations/by_operation/json_to_csv.py +19 -0
  258. pychef/operations/by_operation/json_to_yaml.py +19 -0
  259. pychef/operations/by_operation/jsonata_query.py +19 -0
  260. pychef/operations/by_operation/jump.py +19 -0
  261. pychef/operations/by_operation/jwk_to_pem.py +19 -0
  262. pychef/operations/by_operation/jwt_decode.py +19 -0
  263. pychef/operations/by_operation/jwt_sign.py +19 -0
  264. pychef/operations/by_operation/jwt_verify.py +19 -0
  265. pychef/operations/by_operation/keccak.py +19 -0
  266. pychef/operations/by_operation/label.py +19 -0
  267. pychef/operations/by_operation/levenshtein_distance.py +19 -0
  268. pychef/operations/by_operation/lm_hash.py +19 -0
  269. pychef/operations/by_operation/lorenz.py +19 -0
  270. pychef/operations/by_operation/ls47_decrypt.py +19 -0
  271. pychef/operations/by_operation/ls47_encrypt.py +19 -0
  272. pychef/operations/by_operation/luhn_checksum.py +19 -0
  273. pychef/operations/by_operation/lz4_compress.py +19 -0
  274. pychef/operations/by_operation/lz4_decompress.py +19 -0
  275. pychef/operations/by_operation/lzma_compress.py +19 -0
  276. pychef/operations/by_operation/lzma_decompress.py +19 -0
  277. pychef/operations/by_operation/lznt1_decompress.py +19 -0
  278. pychef/operations/by_operation/lzstring_compress.py +19 -0
  279. pychef/operations/by_operation/lzstring_decompress.py +19 -0
  280. pychef/operations/by_operation/magic.py +19 -0
  281. pychef/operations/by_operation/md2.py +19 -0
  282. pychef/operations/by_operation/md4.py +19 -0
  283. pychef/operations/by_operation/md5.py +19 -0
  284. pychef/operations/by_operation/md6.py +19 -0
  285. pychef/operations/by_operation/mean.py +19 -0
  286. pychef/operations/by_operation/median.py +19 -0
  287. pychef/operations/by_operation/merge.py +19 -0
  288. pychef/operations/by_operation/microsoft_script_decoder.py +19 -0
  289. pychef/operations/by_operation/mime_decoding.py +19 -0
  290. pychef/operations/by_operation/mod.py +19 -0
  291. pychef/operations/by_operation/modular_exponentiation.py +19 -0
  292. pychef/operations/by_operation/modular_inverse.py +19 -0
  293. pychef/operations/by_operation/multiple_bombe.py +19 -0
  294. pychef/operations/by_operation/multiply.py +19 -0
  295. pychef/operations/by_operation/murmurhash3.py +19 -0
  296. pychef/operations/by_operation/normalise_image.py +19 -0
  297. pychef/operations/by_operation/normalise_unicode.py +19 -0
  298. pychef/operations/by_operation/not_operation.py +19 -0
  299. pychef/operations/by_operation/nt_hash.py +19 -0
  300. pychef/operations/by_operation/numberwang.py +19 -0
  301. pychef/operations/by_operation/object_identifier_to_hex.py +19 -0
  302. pychef/operations/by_operation/offset_checker.py +19 -0
  303. pychef/operations/by_operation/optical_character_recognition.py +19 -0
  304. pychef/operations/by_operation/or_operation.py +19 -0
  305. pychef/operations/by_operation/p_list_viewer.py +19 -0
  306. pychef/operations/by_operation/pad_lines.py +19 -0
  307. pychef/operations/by_operation/parity_bit.py +19 -0
  308. pychef/operations/by_operation/parse_asn_1_hex_string.py +19 -0
  309. pychef/operations/by_operation/parse_colour_code.py +19 -0
  310. pychef/operations/by_operation/parse_csr.py +19 -0
  311. pychef/operations/by_operation/parse_datetime.py +19 -0
  312. pychef/operations/by_operation/parse_ethernet_frame.py +19 -0
  313. pychef/operations/by_operation/parse_ip_range.py +19 -0
  314. pychef/operations/by_operation/parse_ipv4_header.py +19 -0
  315. pychef/operations/by_operation/parse_ipv6_address.py +19 -0
  316. pychef/operations/by_operation/parse_objectid_timestamp.py +19 -0
  317. pychef/operations/by_operation/parse_qr_code.py +19 -0
  318. pychef/operations/by_operation/parse_ssh_host_key.py +19 -0
  319. pychef/operations/by_operation/parse_tcp.py +19 -0
  320. pychef/operations/by_operation/parse_tls_record.py +19 -0
  321. pychef/operations/by_operation/parse_tlv.py +19 -0
  322. pychef/operations/by_operation/parse_udp.py +19 -0
  323. pychef/operations/by_operation/parse_unix_file_permissions.py +19 -0
  324. pychef/operations/by_operation/parse_uri.py +19 -0
  325. pychef/operations/by_operation/parse_user_agent.py +19 -0
  326. pychef/operations/by_operation/parse_x_509_certificate.py +19 -0
  327. pychef/operations/by_operation/parse_x_509_crl.py +19 -0
  328. pychef/operations/by_operation/pem_to_hex.py +19 -0
  329. pychef/operations/by_operation/pem_to_jwk.py +19 -0
  330. pychef/operations/by_operation/pgp_decrypt.py +19 -0
  331. pychef/operations/by_operation/pgp_decrypt_and_verify.py +19 -0
  332. pychef/operations/by_operation/pgp_encrypt.py +19 -0
  333. pychef/operations/by_operation/pgp_encrypt_and_sign.py +19 -0
  334. pychef/operations/by_operation/pgp_sign.py +19 -0
  335. pychef/operations/by_operation/pgp_verify.py +19 -0
  336. pychef/operations/by_operation/php_deserialize.py +19 -0
  337. pychef/operations/by_operation/php_serialize.py +19 -0
  338. pychef/operations/by_operation/play_media.py +19 -0
  339. pychef/operations/by_operation/power_set.py +19 -0
  340. pychef/operations/by_operation/present_decrypt.py +19 -0
  341. pychef/operations/by_operation/present_encrypt.py +19 -0
  342. pychef/operations/by_operation/protobuf_decode.py +19 -0
  343. pychef/operations/by_operation/protobuf_encode.py +19 -0
  344. pychef/operations/by_operation/pseudo_random_integer_generator.py +19 -0
  345. pychef/operations/by_operation/pseudo_random_number_generator.py +19 -0
  346. pychef/operations/by_operation/pseudo_random_prime_generator.py +19 -0
  347. pychef/operations/by_operation/public_key_from_certificate.py +19 -0
  348. pychef/operations/by_operation/public_key_from_private_key.py +19 -0
  349. pychef/operations/by_operation/rabbit.py +19 -0
  350. pychef/operations/by_operation/rail_fence_cipher_decode.py +19 -0
  351. pychef/operations/by_operation/rail_fence_cipher_encode.py +19 -0
  352. pychef/operations/by_operation/rake.py +19 -0
  353. pychef/operations/by_operation/randomize_colour_palette.py +19 -0
  354. pychef/operations/by_operation/raw_deflate.py +19 -0
  355. pychef/operations/by_operation/raw_inflate.py +19 -0
  356. pychef/operations/by_operation/rc2_decrypt.py +19 -0
  357. pychef/operations/by_operation/rc2_encrypt.py +19 -0
  358. pychef/operations/by_operation/rc4.py +19 -0
  359. pychef/operations/by_operation/rc4_drop.py +19 -0
  360. pychef/operations/by_operation/rc6_decrypt.py +19 -0
  361. pychef/operations/by_operation/rc6_encrypt.py +19 -0
  362. pychef/operations/by_operation/register.py +19 -0
  363. pychef/operations/by_operation/regular_expression.py +19 -0
  364. pychef/operations/by_operation/remove_ansi_escape_codes.py +19 -0
  365. pychef/operations/by_operation/remove_diacritics.py +19 -0
  366. pychef/operations/by_operation/remove_exif.py +19 -0
  367. pychef/operations/by_operation/remove_line_numbers.py +19 -0
  368. pychef/operations/by_operation/remove_null_bytes.py +19 -0
  369. pychef/operations/by_operation/remove_whitespace.py +19 -0
  370. pychef/operations/by_operation/render_image.py +19 -0
  371. pychef/operations/by_operation/render_markdown.py +19 -0
  372. pychef/operations/by_operation/render_pdf.py +19 -0
  373. pychef/operations/by_operation/resize_image.py +19 -0
  374. pychef/operations/by_operation/return_operation.py +19 -0
  375. pychef/operations/by_operation/reverse.py +19 -0
  376. pychef/operations/by_operation/ripemd.py +19 -0
  377. pychef/operations/by_operation/rison_decode.py +19 -0
  378. pychef/operations/by_operation/rison_encode.py +19 -0
  379. pychef/operations/by_operation/ror13.py +19 -0
  380. pychef/operations/by_operation/rot13.py +19 -0
  381. pychef/operations/by_operation/rot13_brute_force.py +19 -0
  382. pychef/operations/by_operation/rot47.py +19 -0
  383. pychef/operations/by_operation/rot47_brute_force.py +19 -0
  384. pychef/operations/by_operation/rot8000.py +19 -0
  385. pychef/operations/by_operation/rotate_image.py +19 -0
  386. pychef/operations/by_operation/rotate_left.py +19 -0
  387. pychef/operations/by_operation/rotate_right.py +19 -0
  388. pychef/operations/by_operation/rsa_decrypt.py +19 -0
  389. pychef/operations/by_operation/rsa_encrypt.py +19 -0
  390. pychef/operations/by_operation/rsa_sign.py +19 -0
  391. pychef/operations/by_operation/rsa_verify.py +19 -0
  392. pychef/operations/by_operation/salsa20.py +19 -0
  393. pychef/operations/by_operation/scan_for_embedded_files.py +19 -0
  394. pychef/operations/by_operation/scatter_chart.py +19 -0
  395. pychef/operations/by_operation/scrypt.py +19 -0
  396. pychef/operations/by_operation/series_chart.py +19 -0
  397. pychef/operations/by_operation/set_difference.py +19 -0
  398. pychef/operations/by_operation/set_intersection.py +19 -0
  399. pychef/operations/by_operation/set_union.py +19 -0
  400. pychef/operations/by_operation/sha0.py +19 -0
  401. pychef/operations/by_operation/sha1.py +19 -0
  402. pychef/operations/by_operation/sha2.py +19 -0
  403. pychef/operations/by_operation/sha3.py +19 -0
  404. pychef/operations/by_operation/shake.py +19 -0
  405. pychef/operations/by_operation/sharpen_image.py +19 -0
  406. pychef/operations/by_operation/show_base64_offsets.py +19 -0
  407. pychef/operations/by_operation/show_on_map.py +19 -0
  408. pychef/operations/by_operation/shuffle.py +19 -0
  409. pychef/operations/by_operation/sigaba.py +19 -0
  410. pychef/operations/by_operation/sleep.py +19 -0
  411. pychef/operations/by_operation/sm2_decrypt.py +19 -0
  412. pychef/operations/by_operation/sm2_encrypt.py +19 -0
  413. pychef/operations/by_operation/sm3.py +19 -0
  414. pychef/operations/by_operation/sm4_decrypt.py +19 -0
  415. pychef/operations/by_operation/sm4_encrypt.py +19 -0
  416. pychef/operations/by_operation/snefru.py +19 -0
  417. pychef/operations/by_operation/sort.py +19 -0
  418. pychef/operations/by_operation/split.py +19 -0
  419. pychef/operations/by_operation/split_colour_channels.py +19 -0
  420. pychef/operations/by_operation/sql_beautify.py +19 -0
  421. pychef/operations/by_operation/sql_minify.py +19 -0
  422. pychef/operations/by_operation/ssdeep.py +19 -0
  423. pychef/operations/by_operation/standard_deviation.py +19 -0
  424. pychef/operations/by_operation/streebog.py +19 -0
  425. pychef/operations/by_operation/strings.py +19 -0
  426. pychef/operations/by_operation/strip_html_tags.py +19 -0
  427. pychef/operations/by_operation/strip_http_headers.py +19 -0
  428. pychef/operations/by_operation/strip_ipv4_header.py +19 -0
  429. pychef/operations/by_operation/strip_tcp_header.py +19 -0
  430. pychef/operations/by_operation/strip_udp_header.py +19 -0
  431. pychef/operations/by_operation/sub.py +19 -0
  432. pychef/operations/by_operation/subsection.py +19 -0
  433. pychef/operations/by_operation/substitute.py +19 -0
  434. pychef/operations/by_operation/subtract.py +19 -0
  435. pychef/operations/by_operation/sum.py +19 -0
  436. pychef/operations/by_operation/swap_case.py +19 -0
  437. pychef/operations/by_operation/swap_endianness.py +19 -0
  438. pychef/operations/by_operation/symmetric_difference.py +19 -0
  439. pychef/operations/by_operation/syntax_highlighter.py +19 -0
  440. pychef/operations/by_operation/tail.py +19 -0
  441. pychef/operations/by_operation/take_bytes.py +19 -0
  442. pychef/operations/by_operation/take_nth_bytes.py +19 -0
  443. pychef/operations/by_operation/tar.py +19 -0
  444. pychef/operations/by_operation/tcp_ip_checksum.py +19 -0
  445. pychef/operations/by_operation/tea_decrypt.py +19 -0
  446. pychef/operations/by_operation/tea_encrypt.py +19 -0
  447. pychef/operations/by_operation/template.py +19 -0
  448. pychef/operations/by_operation/text_encoding_brute_force.py +19 -0
  449. pychef/operations/by_operation/text_integer_conversion.py +19 -0
  450. pychef/operations/by_operation/to_base.py +19 -0
  451. pychef/operations/by_operation/to_base32.py +19 -0
  452. pychef/operations/by_operation/to_base45.py +19 -0
  453. pychef/operations/by_operation/to_base58.py +19 -0
  454. pychef/operations/by_operation/to_base62.py +19 -0
  455. pychef/operations/by_operation/to_base64.py +19 -0
  456. pychef/operations/by_operation/to_base85.py +19 -0
  457. pychef/operations/by_operation/to_base92.py +19 -0
  458. pychef/operations/by_operation/to_bcd.py +19 -0
  459. pychef/operations/by_operation/to_bech32.py +19 -0
  460. pychef/operations/by_operation/to_binary.py +19 -0
  461. pychef/operations/by_operation/to_braille.py +19 -0
  462. pychef/operations/by_operation/to_camel_case.py +19 -0
  463. pychef/operations/by_operation/to_case_insensitive_regex.py +19 -0
  464. pychef/operations/by_operation/to_charcode.py +19 -0
  465. pychef/operations/by_operation/to_cobs.py +19 -0
  466. pychef/operations/by_operation/to_decimal.py +19 -0
  467. pychef/operations/by_operation/to_float.py +19 -0
  468. pychef/operations/by_operation/to_hex.py +19 -0
  469. pychef/operations/by_operation/to_hex_content.py +19 -0
  470. pychef/operations/by_operation/to_hexdump.py +19 -0
  471. pychef/operations/by_operation/to_html_entity.py +19 -0
  472. pychef/operations/by_operation/to_kebab_case.py +19 -0
  473. pychef/operations/by_operation/to_lower_case.py +19 -0
  474. pychef/operations/by_operation/to_messagepack.py +19 -0
  475. pychef/operations/by_operation/to_modhex.py +19 -0
  476. pychef/operations/by_operation/to_morse_code.py +19 -0
  477. pychef/operations/by_operation/to_octal.py +19 -0
  478. pychef/operations/by_operation/to_punycode.py +19 -0
  479. pychef/operations/by_operation/to_quoted_printable.py +19 -0
  480. pychef/operations/by_operation/to_snake_case.py +19 -0
  481. pychef/operations/by_operation/to_table.py +19 -0
  482. pychef/operations/by_operation/to_unix_timestamp.py +19 -0
  483. pychef/operations/by_operation/to_upper_case.py +19 -0
  484. pychef/operations/by_operation/translate_datetime_format.py +19 -0
  485. pychef/operations/by_operation/triple_des_decrypt.py +19 -0
  486. pychef/operations/by_operation/triple_des_encrypt.py +19 -0
  487. pychef/operations/by_operation/twofish_decrypt.py +19 -0
  488. pychef/operations/by_operation/twofish_encrypt.py +19 -0
  489. pychef/operations/by_operation/typex.py +19 -0
  490. pychef/operations/by_operation/unescape_string.py +19 -0
  491. pychef/operations/by_operation/unescape_unicode_characters.py +19 -0
  492. pychef/operations/by_operation/unicode_text_format.py +19 -0
  493. pychef/operations/by_operation/unique.py +19 -0
  494. pychef/operations/by_operation/unix_timestamp_to_windows_filetime.py +19 -0
  495. pychef/operations/by_operation/untar.py +19 -0
  496. pychef/operations/by_operation/unzip.py +19 -0
  497. pychef/operations/by_operation/url_decode.py +19 -0
  498. pychef/operations/by_operation/url_encode.py +19 -0
  499. pychef/operations/by_operation/varint_decode.py +19 -0
  500. pychef/operations/by_operation/varint_encode.py +19 -0
  501. pychef/operations/by_operation/view_bit_plane.py +19 -0
  502. pychef/operations/by_operation/vigen_re_decode.py +19 -0
  503. pychef/operations/by_operation/vigen_re_encode.py +19 -0
  504. pychef/operations/by_operation/whirlpool.py +19 -0
  505. pychef/operations/by_operation/windows_filetime_to_unix_timestamp.py +19 -0
  506. pychef/operations/by_operation/wrap.py +19 -0
  507. pychef/operations/by_operation/xkcd_random_number.py +19 -0
  508. pychef/operations/by_operation/xml_beautify.py +19 -0
  509. pychef/operations/by_operation/xml_minify.py +19 -0
  510. pychef/operations/by_operation/xor.py +19 -0
  511. pychef/operations/by_operation/xor_brute_force.py +19 -0
  512. pychef/operations/by_operation/xor_checksum.py +19 -0
  513. pychef/operations/by_operation/xpath_expression.py +19 -0
  514. pychef/operations/by_operation/xsalsa20.py +19 -0
  515. pychef/operations/by_operation/xtea_decrypt.py +19 -0
  516. pychef/operations/by_operation/xtea_encrypt.py +19 -0
  517. pychef/operations/by_operation/xxtea_decrypt.py +19 -0
  518. pychef/operations/by_operation/xxtea_encrypt.py +19 -0
  519. pychef/operations/by_operation/yaml_to_json.py +19 -0
  520. pychef/operations/by_operation/yara_rules.py +19 -0
  521. pychef/operations/by_operation/zip.py +19 -0
  522. pychef/operations/by_operation/zlib_deflate.py +19 -0
  523. pychef/operations/by_operation/zlib_inflate.py +19 -0
  524. pychef/operations/ciphers.py +501 -0
  525. pychef/operations/cmac.py +74 -0
  526. pychef/operations/code_queries.py +855 -0
  527. pychef/operations/compression.py +167 -0
  528. pychef/operations/crc_models.py +179 -0
  529. pychef/operations/crypto_extra.py +599 -0
  530. pychef/operations/datetime_ops.py +313 -0
  531. pychef/operations/des.py +1063 -0
  532. pychef/operations/disassembly.py +453 -0
  533. pychef/operations/ecdsa_conversion.py +157 -0
  534. pychef/operations/elf_info.py +377 -0
  535. pychef/operations/encoding.py +440 -0
  536. pychef/operations/encoding_extra.py +255 -0
  537. pychef/operations/fernet.py +77 -0
  538. pychef/operations/fingerprints.py +363 -0
  539. pychef/operations/flow_more.py +92 -0
  540. pychef/operations/formats.py +188 -0
  541. pychef/operations/formats_extra.py +310 -0
  542. pychef/operations/gost_core.py +866 -0
  543. pychef/operations/has160.py +85 -0
  544. pychef/operations/hashing.py +350 -0
  545. pychef/operations/image_ops.py +1104 -0
  546. pychef/operations/jpeg_decoder.py +315 -0
  547. pychef/operations/jpeg_encoder.py +373 -0
  548. pychef/operations/keccak.py +101 -0
  549. pychef/operations/legacy_crypto.py +618 -0
  550. pychef/operations/ls47.py +105 -0
  551. pychef/operations/lz_codecs.py +343 -0
  552. pychef/operations/maths.py +355 -0
  553. pychef/operations/md6_core.py +212 -0
  554. pychef/operations/microsoft_script.py +116 -0
  555. pychef/operations/misc.py +379 -0
  556. pychef/operations/modern_ciphers.py +541 -0
  557. pychef/operations/network.py +436 -0
  558. pychef/operations/ocr.py +202 -0
  559. pychef/operations/password_hashes.py +408 -0
  560. pychef/operations/pgp.py +524 -0
  561. pychef/operations/presentation.py +413 -0
  562. pychef/operations/protocols.py +528 -0
  563. pychef/operations/public_key.py +848 -0
  564. pychef/operations/rabbit.py +143 -0
  565. pychef/operations/radix_extra.py +220 -0
  566. pychef/operations/rake.py +66 -0
  567. pychef/operations/random_prime.py +58 -0
  568. pychef/operations/rc2.py +143 -0
  569. pychef/operations/rc6.py +293 -0
  570. pychef/operations/remaining_formats.py +802 -0
  571. pychef/operations/ripemd_core.py +486 -0
  572. pychef/operations/rotor_machines.py +368 -0
  573. pychef/operations/sha_custom.py +367 -0
  574. pychef/operations/sm2.py +179 -0
  575. pychef/operations/sm4.py +186 -0
  576. pychef/operations/snefru_core.py +314 -0
  577. pychef/operations/stream_ciphers.py +192 -0
  578. pychef/operations/streebog_core.py +358 -0
  579. pychef/operations/text.py +562 -0
  580. pychef/operations/text_encoding.py +102 -0
  581. pychef/operations/text_encoding_brute_force.py +234 -0
  582. pychef/operations/twofish_core.py +225 -0
  583. pychef/operations/utility_extra.py +426 -0
  584. pychef/operations/web_tokens.py +159 -0
  585. pychef/operations/whirlpool_core.py +137 -0
  586. pychef/operations/yara.py +393 -0
  587. pychef/packets.py +974 -0
  588. pychef/pipeline.py +380 -0
  589. pychef/py.typed +1 -0
  590. pychef/recipe.py +291 -0
  591. pychef/registry.py +92 -0
  592. pychef/types.py +46 -0
@@ -0,0 +1,274 @@
1
+ Metadata-Version: 2.4
2
+ Name: cyberchef-py
3
+ Version: 0.1.0
4
+ Summary: Unofficial pure-Python CyberChef-compatible recipes, pipelines, and CTF tools
5
+ Project-URL: Homepage, https://github.com/MichaelWeissDEV/pychef
6
+ Project-URL: Source, https://github.com/MichaelWeissDEV/pychef
7
+ Project-URL: Issues, https://github.com/MichaelWeissDEV/pychef/issues
8
+ Project-URL: Changelog, https://github.com/MichaelWeissDEV/pychef/blob/main/CHANGELOG.md
9
+ Project-URL: Upstream, https://github.com/gchq/CyberChef
10
+ Author: Michael Weiss
11
+ License-Expression: Apache-2.0
12
+ License-File: LICENSE
13
+ License-File: NOTICE
14
+ License-File: THIRD_PARTY_LICENSES.md
15
+ Keywords: cryptography,ctf,cyberchef,data-transformation,encoding,pcap
16
+ Classifier: Development Status :: 3 - Alpha
17
+ Classifier: Intended Audience :: Developers
18
+ Classifier: Intended Audience :: Information Technology
19
+ Classifier: Operating System :: OS Independent
20
+ Classifier: Programming Language :: Python :: 3
21
+ Classifier: Programming Language :: Python :: 3.10
22
+ Classifier: Programming Language :: Python :: 3.11
23
+ Classifier: Programming Language :: Python :: 3.12
24
+ Classifier: Programming Language :: Python :: 3.13
25
+ Classifier: Programming Language :: Python :: 3.14
26
+ Classifier: Programming Language :: Python :: Implementation :: CPython
27
+ Classifier: Programming Language :: Python :: Implementation :: PyPy
28
+ Classifier: Topic :: Security :: Cryptography
29
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
30
+ Classifier: Typing :: Typed
31
+ Requires-Python: >=3.10
32
+ Description-Content-Type: text/markdown
33
+
34
+ # PyChef
35
+
36
+ PyChef is an unofficial, dependency-free, pure-Python implementation of CyberChef's recipe
37
+ model and data-transformation operations. It is intended for scripts, tests,
38
+ services, and offline tooling that must not require Node.js or JavaScript at
39
+ runtime.
40
+
41
+ ## Installation
42
+
43
+ The PyPI distribution is named `cyberchef-py`; the Python import is `pychef`.
44
+
45
+ ```console
46
+ python -m pip install cyberchef-py
47
+ ```
48
+
49
+ With uv:
50
+
51
+ ```console
52
+ uv add cyberchef-py
53
+ ```
54
+
55
+ Python 3.10 or newer is required. The published package has no runtime
56
+ dependencies.
57
+
58
+ Run the complete local example from a repository checkout:
59
+
60
+ ```console
61
+ uv sync --locked
62
+ uv run python examples/quickstart.py
63
+ ```
64
+
65
+ ## Quick start
66
+
67
+ ```python
68
+ from pychef import bake
69
+
70
+ result = bake(
71
+ "Hello, World!",
72
+ [
73
+ {"op": "To Base64", "args": ["A-Za-z0-9+/="]},
74
+ {"op": "Reverse", "args": ["Character"]},
75
+ ],
76
+ )
77
+ assert result == b"==QIkxmcvdFIs8GbsVGS"
78
+ ```
79
+
80
+ Binary operations preserve `bytes`; text operations return `str`. Set
81
+ `return_type="bytes"` or `return_type="str"` to request a final conversion.
82
+ Recipes accept the same `{"op": ..., "args": [...]}` shape used by CyberChef,
83
+ as well as operation-name strings for argument-free steps.
84
+
85
+ ```python
86
+ from pychef import Chef, Recipe
87
+
88
+ recipe = Recipe(["Gunzip", {"op": "Decode text", "args": ["UTF-8 (65001)"]}])
89
+ result = Chef().bake(compressed_data, recipe)
90
+ ```
91
+
92
+ ## Fluent pipelines
93
+
94
+ `Pipeline` builds immutable, reusable transformations. Use `.then()` for any
95
+ registered CyberChef operation or the typed convenience methods for common CTF
96
+ workflows. Pipelines compose with `|`; a value can also be piped into one.
97
+
98
+ ```python
99
+ from pychef import Pipeline
100
+
101
+ decode = Pipeline().from_hex().xor(b"\x42").decode()
102
+ assert decode("0a272e2e2d") == "Hello"
103
+ assert "0a272e2e2d" | decode == "Hello"
104
+
105
+ base64_decode = Pipeline().from_base64()
106
+ combined = decode | Pipeline().to_base64()
107
+ results = combined.transform_many(["0a272e2e2d", "152d302e26"])
108
+ ```
109
+
110
+ Branches receive the same current value. Their outputs can be concatenated as
111
+ long as all branches return the same type as the separator:
112
+
113
+ ```python
114
+ hash_line = Pipeline().concat(
115
+ Pipeline().digest("md5"),
116
+ Pipeline().digest("sha256"),
117
+ separator=":",
118
+ )
119
+ print(hash_line(b"flag"))
120
+
121
+ trace = decode.trace("0a272e2e2d")
122
+ print([(step.name, step.output) for step in trace])
123
+ ```
124
+
125
+ Python callables and structured data are valid stages too. `.select()` walks
126
+ nested dictionary keys and sequence indexes. A pipeline that only contains
127
+ CyberChef operations can be recovered as `.recipe`.
128
+
129
+ ## CTF and binary helpers
130
+
131
+ The top-level API includes pwntools-style integer packing, explicit endian
132
+ variants, byte XOR, de Bruijn patterns, dumps, hashing, and flattening:
133
+
134
+ ```python
135
+ from pychef import cyclic, cyclic_find, flat, p32, p32be, sha256, u64
136
+
137
+ payload = flat(b"A" * 40, p32(0xDEADBEEF), p32be(0x1337))
138
+ address = u64(leaked_bytes)
139
+ offset = cyclic_find(crashed_value)
140
+ fingerprint = sha256(payload)
141
+ ```
142
+
143
+ `p8`, `p16`, `p32`, and `p64` use little endian by default; `p16le`/`p16be`,
144
+ `p32le`/`p32be`, `p64le`/`p64be`, and matching `u*` functions are explicit.
145
+ `pack()` and `unpack()` support arbitrary byte-aligned widths and signed
146
+ integers. `swap_endian()` reverses each fixed-width word.
147
+
148
+ AES helpers accept CBC, ECB, CFB, OFB, CTR, and authenticated GCM. Non-ECB
149
+ modes require an explicit IV/nonce. GCM appends its 16-byte tag by default;
150
+ detached tags are available through `aes_gcm_encrypt()`:
151
+
152
+ ```python
153
+ from pychef import Pipeline, aes_decrypt, aes_encrypt, aes_gcm_encrypt
154
+
155
+ ciphertext = aes_encrypt(data, key, mode="CBC", iv=iv, padding="pkcs7")
156
+ assert aes_decrypt(ciphertext, key, mode="CBC", iv=iv) == data
157
+
158
+ ciphertext, tag = aes_gcm_encrypt(data, key, iv=nonce, aad=b"header")
159
+ round_trip = (
160
+ Pipeline()
161
+ .aes_encrypt(key, mode="GCM", iv=nonce, aad=b"header")
162
+ .aes_decrypt(key, mode="GCM", iv=nonce, aad=b"header")
163
+ )
164
+ assert round_trip(data) == data
165
+ ```
166
+
167
+ Keys, IVs, and tags are raw bytes by default. Pass `key_format="hex"`,
168
+ `iv_format="hex"`, or `tag_format="hex"` for textual hexadecimal material.
169
+
170
+ ## Packets and capture files
171
+
172
+ `parse_capture()` auto-detects classic PCAP and PCAPNG and returns ordinary
173
+ Python dictionaries. Ethernet/VLAN, Linux cooked captures, loopback/raw IP,
174
+ ARP, IPv4, IPv6 extension headers, ICMP, TCP options, UDP, DNS, and recognizable
175
+ HTTP/TLS records are decoded recursively. Unsupported link or application data
176
+ remains available as bytes.
177
+
178
+ ```python
179
+ from pychef import Pipeline, parse_capture, read_capture
180
+
181
+ capture = read_capture("challenge.pcap")
182
+ first_packet = capture["packets"][0]["decoded"]
183
+
184
+ source = (Pipeline().parse_capture().select("packets", 0, "decoded", "network", "source"))(
185
+ pcap_bytes
186
+ )
187
+ ```
188
+
189
+ Parsers enforce packet-count, packet-size, and file-size limits. `json_safe()`
190
+ or `packet_json()` converts retained byte strings to `{hex, length}` objects for
191
+ JSON output without losing their sizes.
192
+
193
+ ## Compatibility status
194
+
195
+ The pinned reference is CyberChef 11.3.0 at commit
196
+ `c56dd23358e948aff9f3f98913818e544227da13`.
197
+
198
+ This alpha release registers all 502 upstream operation names (100% name
199
+ coverage). Every registered operation has its own public Python module below
200
+ `pychef.operations.by_operation`; a structural test prevents operations from
201
+ being registered through a shared catch-all module. Shared algorithm cores are
202
+ kept separate where several operations use the same primitive. The exhaustive
203
+ name-by-name matrix is in [COMPATIBILITY.md](COMPATIBILITY.md).
204
+
205
+ Compatibility can also be inspected in Python:
206
+
207
+ ```python
208
+ from pychef import compatibility_report
209
+
210
+ report = compatibility_report()
211
+ print(len(report.implemented), len(report.missing), report.complete)
212
+ ```
213
+
214
+ “Implemented” in the inventory means that an operation is callable. Exact
215
+ option-level parity is established incrementally through official CyberChef
216
+ vectors ported to pytest. The current suite covers deterministic encodings,
217
+ compression, hashes, classical and modern ciphers, binary serialization,
218
+ recipe flow control, public-key operations, raster images, media metadata,
219
+ charts, coordinates, network requests, Argon2/Bcrypt, SM2, PGP workflows,
220
+ machine-code inspection, JSON query languages, OCR, and YARA rules.
221
+
222
+ Name coverage is deliberately separate from reference parity. Some callable
223
+ operations are dependency-free compatibility fallbacks or support a documented
224
+ format subset. Remaining broad parity boundaries include decoding arbitrary QR
225
+ symbols; palette/interlaced PNG, progressive/CMYK JPEG, and compressed TIFF;
226
+ complete Typex/SIGABA/Lorenz machine presets; full JavaScript/Jq/Jsonata and
227
+ YARA grammars; general-purpose OCR; complete instruction decoding; AMF3
228
+ externalizable values; and interoperable OpenPGP packets. The MD6, Snefru,
229
+ Streebog, Whirlpool, RIPEMD, Twofish, GOST, CTPH, SSDEEP, CRC, JPEG baseline,
230
+ GIF first-frame, and uncompressed TIFF paths now have real Python
231
+ implementations and official vectors rather than compatibility placeholders.
232
+
233
+ ## Security and performance
234
+
235
+ - There are no runtime dependencies and no subprocess or JavaScript bridge.
236
+ - The package does not perform network access on import. Only explicit
237
+ `HTTP request` and `DNS over HTTPS` operations access the network; they reject
238
+ credentials in URLs and local/private/reserved destinations.
239
+ - JWT verification only accepts supported HMAC algorithms and rejects unsigned
240
+ or asymmetric-algorithm confusion.
241
+ - Random generators use Python's `secrets` module.
242
+ - Parsers validate lengths and fail through `OperationError` instead of silently
243
+ returning corrupt data.
244
+ - PCAP/PCAPNG readers cap file, packet, and packet-count sizes and retain a
245
+ per-packet decode error instead of discarding the captured bytes.
246
+ - A `Recipe` can be constructed once and reused to avoid repeat parsing.
247
+ - A `Pipeline` is immutable and can likewise be constructed once and reused.
248
+
249
+ Pure-Python cryptographic implementations are provided for compatibility and
250
+ testing; use a professionally audited cryptographic package for production key
251
+ protection or protocol security.
252
+
253
+ ## Development
254
+
255
+ Python 3.10 or newer and [uv](https://docs.astral.sh/uv/) are required for
256
+ development only:
257
+
258
+ ```console
259
+ uv sync --dev
260
+ uv run pytest
261
+ uv run ruff check .
262
+ uv run ruff format --check .
263
+ uv run ty check
264
+ uv build
265
+ ```
266
+
267
+ Pytest enforces branch coverage of at least 75%; the current suite contains
268
+ more than 850 tests and reports 84% branch coverage. Ruff handles
269
+ formatting and linting, and `ty` checks the typed public API. The published
270
+ wheel has no runtime dependencies.
271
+
272
+ PyChef is an independent Python port. CyberChef is Crown copyright 2016, GCHQ,
273
+ and is licensed under Apache License 2.0. See [NOTICE](NOTICE),
274
+ [THIRD_PARTY_LICENSES.md](THIRD_PARTY_LICENSES.md), and [LICENSE](LICENSE).