Algorithms

MemDiver ships 8 detection algorithms, discovered automatically by algorithms.registry. One requires ground-truth secrets (known_key); seven do not (unknown_key).

Algorithm

Mode

Purpose

exact_match

known_key

Literal byte-search for known-secret sequences using context.secrets.

entropy_scan

unknown_key

Sliding-window Shannon entropy above a threshold.

change_point

unknown_key

CUSUM-based entropy-plateau detection.

differential

unknown_key

DPA-inspired cross-run byte variance.

constraint_validator

unknown_key

TLS KDF relationship verification for candidates.

user_regex

unknown_key

Custom regex patterns.

pattern_match

unknown_key

Structural matching from JSON pattern definitions.

structure_scan

unknown_key

Structure-library-backed overlay + best-match scoring.

Contracts

All algorithms share the same interface from algorithms.base:

class BaseAlgorithm:
    name: str
    description: str
    mode: str

    def run(self, dump_data: bytes, context: AnalysisContext) -> AlgorithmResult: ...

See algorithms/ for the registry internals and Adding an algorithm for adding a new one.