engine/

directory
v0.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 14, 2026 License: Apache-2.0

Directories

Path Synopsis
Package assess is a cryptographic security-test harness for captured RF ciphertext.
Package assess is a cryptographic security-test harness for captured RF ciphertext.
Package brute is the toolkit's generic keyspace brute-force engine: pluggable Cipher, KeySpace, and Scorer interfaces driving an ordered, resumable sweep that keeps the top-scoring candidates.
Package brute is the toolkit's generic keyspace brute-force engine: pluggable Cipher, KeySpace, and Scorer interfaces driving an ordered, resumable sweep that keeps the top-scoring candidates.
Package cipherinfo is a knowledge base of the link-layer encryption algorithms used across the trunking protocols GopherTrunk decodes (P25, TETRA, DMR) and their published cryptographic weaknesses.
Package cipherinfo is a knowledge base of the link-layer encryption algorithms used across the trunking protocols GopherTrunk decodes (P25, TETRA, DMR) and their published cryptographic weaknesses.
Package crc provides parameterized CRC computation and recovery of CRC parameters from sample (data, crc) frames — the kind of task that comes up identifying the framing/FEC check on an unfamiliar RF protocol.
Package crc provides parameterized CRC computation and recovery of CRC parameters from sample (data, crc) frames — the kind of task that comes up identifying the framing/FEC check on an unfamiliar RF protocol.
Package dmrcrypto generates the keystreams DMR's link-layer privacy algorithms produce, so the assessment harness and recipe pipeline can attempt DMR decryption the same way p25crypto handles P25.
Package dmrcrypto generates the keystreams DMR's link-layer privacy algorithms produce, so the assessment harness and recipe pipeline can attempt DMR decryption the same way p25crypto handles P25.
Package extcipher bridges to an external, operator-supplied cipher program so the toolkit can decrypt and brute-force ciphers it does not (and should not) bundle itself — most importantly TETRA TEA1, whose only public implementations are licence-incompatible (AGPL) with this Apache-2.0 project and which must not be re-authored unverified inside a security-test tool.
Package extcipher bridges to an external, operator-supplied cipher program so the toolkit can decrypt and brute-force ciphers it does not (and should not) bundle itself — most importantly TETRA TEA1, whose only public implementations are licence-incompatible (AGPL) with this Apache-2.0 project and which must not be re-authored unverified inside a security-test tool.
Package fit holds closed-form byte-function fitters over Z/256: given observed (input → output) byte pairs, find the affine coefficients that best explain them and report how many observations conflict.
Package fit holds closed-form byte-function fitters over Z/256: given observed (input → output) byte pairs, find the affine coefficients that best explain them and report how many observations conflict.
Package gauge models the global affine gauge ambiguity that shows up when a byte-oriented obfuscator's state is recovered from output only: the recovered high byte and multiplier are pinned just up to an affine change of coordinates (Mg·x + Cg with Mg odd, hence invertible mod 256).
Package gauge models the global affine gauge ambiguity that shows up when a byte-oriented obfuscator's state is recovered from output only: the recovered high byte and multiplier are pinned just up to an affine change of coordinates (Mg·x + Cg with Mg odd, hence invertible mod 256).
Package keystream implements keystream-reuse / many-time-pad analysis — the real-world break against additive stream ciphers (P25 DES-OFB and ADP/RC4, TETRA AIE) when a transmitter reuses an initialisation vector.
Package keystream implements keystream-reuse / many-time-pad analysis — the real-world break against additive stream ciphers (P25 DES-OFB and ADP/RC4, TETRA AIE) when a transmitter reuses an initialisation vector.
Package lang holds a small embedded English language model used to score candidate plaintexts during cipher solving (e.g.
Package lang holds a small embedded English language model used to score candidate plaintexts during cipher solving (e.g.
Package lfsr provides stream-cipher / LFSR analysis primitives relevant to RF scramblers and keystream study: Berlekamp–Massey recovery of the shortest LFSR that produces an observed bit sequence, Fibonacci-LFSR generation, and known-plaintext keystream extraction.
Package lfsr provides stream-cipher / LFSR analysis primitives relevant to RF scramblers and keystream study: Berlekamp–Massey recovery of the shortest LFSR that produces an observed bit sequence, Fibonacci-LFSR generation, and known-plaintext keystream extraction.
Package p25crypto generates the keystreams P25's link-layer encryption algorithms produce from a key and a Message Indicator (IV).
Package p25crypto generates the keystreams P25's link-layer encryption algorithms produce from a key and a Message Indicator (IV).
Package propagate is the toolkit's fast constraint propagator for the "is the next state a table lookup of some combined index?" family of hypotheses.
Package propagate is the toolkit's fast constraint propagator for the "is the next state a table lookup of some combined index?" family of hypotheses.
Package randomness implements a battery of statistical randomness tests drawn from NIST SP 800-22 (the "STS" suite), specialised for the question an RF analyst actually asks of a captured payload or a recovered keystream: is this stream indistinguishable from random (strong keyed encryption — no weak structure to exploit), or does it carry exploitable structure (a keyless scrambler, a short LFSR, a biased generator)?
Package randomness implements a battery of statistical randomness tests drawn from NIST SP 800-22 (the "STS" suite), specialised for the question an RF analyst actually asks of a captured payload or a recovered keystream: is this stream indistinguishable from random (strong keyed encryption — no weak structure to exploit), or does it carry exploitable structure (a keyless scrambler, a short LFSR, a biased generator)?
Package recipe is a CyberChef-style operation pipeline for RF payloads.
Package recipe is a CyberChef-style operation pipeline for RF payloads.
Package stats holds the cipher-agnostic statistical primitives the toolkit uses to triage a captured payload: is it plaintext, a weak classical cipher, an obfuscation, or strong encryption? Plus the repeating-key-XOR key-length estimators (Friedman/Hamming) and a crib-dragging helper for many-time-pad / keystream-reuse analysis.
Package stats holds the cipher-agnostic statistical primitives the toolkit uses to triage a captured payload: is it plaintext, a weak classical cipher, an obfuscation, or strong encryption? Plus the repeating-key-XOR key-length estimators (Friedman/Hamming) and a crib-dragging helper for many-time-pad / keystream-reuse analysis.
Package subst solves monoalphabetic substitution ciphers by hill-climbing over the 26! key space, scored by an embedded English n-gram model.
Package subst solves monoalphabetic substitution ciphers by hill-climbing over the 26! key space, scored by an embedded English n-gram model.
Package voice provides analog voice-privacy descramblers — the keyless / weak-key spectral schemes still found on RF voice channels.
Package voice provides analog voice-privacy descramblers — the keyless / weak-key spectral schemes still found on RF voice channels.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL