Module containing the implementation of QKD protocol participants (Alice, Bob, and Eve).
Provides structs and builders for creating and configuring participants with their
respective quantum bases and behaviors.
Module implementing the core Quantum Key Distribution protocols.
Contains the main QKD struct, protocol execution logic, and result types
including QKDResult and PublicDiscussionResult.
Module defining fundamental quantum types and structures.
Includes the Qubit struct and related quantum state representations
used throughout the QKD simulations.
Module providing utility functions and common quantum operations.
Contains mathematical utilities, basis matrices (I, H, H_Y), and
helper functions like shuffle_and_split for protocol execution.