cascade.reconciliation module

class cascade.reconciliation.Reconciliation(algorithm_name, classical_channel, noisy_key, estimated_bit_error_rate)

Bases: object

A single information reconciliation exchange between a client (Bob) and a server (Alice).

__init__(algorithm_name, classical_channel, noisy_key, estimated_bit_error_rate)

Create a Cascade reconciliation.

Parameters:
  • algorithm_name (str) – The name of the Cascade algorithm.

  • classical_channel (subclass of ClassicalChannel) – The classical channel over which Bob communicates with Alice.

  • noisy_key (Key) – The noisy key as Bob received it from Alice that needs to be reconciliated.

  • estimated_bit_error_rate (float) – The estimated bit error rate in the noisy key.

get_noisy_key()

Get the noisy key, as Bob received it from Alice, that needs to be reconciled.

Returns:

The noisy key.

get_reconciled_key()

Get the reconciled key, i.e. the key from which the reconciliation process attempted to remove the errors. There is still a small but non-zero chance that the reconciled key still contains errors.

Returns:

The reconciled key. None if the reconciliation process was not yet run.

reconcile()

Run the Cascade algorithm to reconciliate our (“Bob’s”) noisy key with the server’s (“Alice’s”) correct key.

Returns:

The reconciled key. There is still a small but non-zero chance that the corrected key still contains errors.