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.