API

Gaussian Untrusted Homodyne Asymptotic

Calulator for Gaussian Modulation with Untrusted detector and Homodyne detection using the asymptotic regime.

class qosst_skr.gaussian_untrusted_homodyne_asymptotic.GaussianUntrustedHomodyneAsymptotic

This assumes:

  • Gaussian Modulation

  • Untrusted detector

  • Homodyne Detection

  • Asymptotic key rate

References: Leverrier, A. (2009). Theoretical study of continuous-variable quantum key distribution. (Doctoral dissertation, Telécom ParisTech). Raúl García-Patrón, & Nicolas J. Cerf (2006). Unconditional Optimality of Gaussian Attacks against Continuous-Variable Quantum Key Distribution. Physical Review Letters, 97(19). Miguel Navascués, Fredéric Grosshans, & Antonio Acín (2006). Optimality of Gaussian Attacks in Continuous-Variable Quantum Cryptography. Physical Review Letters, 97(19).

static _holevo_bound(Va: float, T: float, xi: float) float

Compute the Holevo bound on the information between Bob and Eve in the case of the untrusted homodyne detector, with Gaussian modulation, in the asymptotic scenario.

Parameters:
  • Va (float) – Alice’s variance of modulation (in SNU).

  • T (float) – transmittance of the channel.

  • xi (float) – excess noise of the channel (in SNU).

Returns:

Holevo’s bound on the information between Eve and Bob in bits per symbol.

Return type:

float

static _iab(Va: float, T: float, xi: float, beta: float) float

Compute the information shared by Alice and Bob in the case of the untrusted homodyne detector, with Gaussian modulation, in the asymptotic scenario.

Parameters:
  • Va (float) – Alice’s variance of modulation (in SNU).

  • T (float) – transmittance of the channel.

  • xi (float) – excess noise of the channel (in SNU).

  • beta (float) – efficiency of the reconciliation.

Returns:

information shared by Alice and Bob in bits per symbol.

Return type:

float

static _skr(Va: float, T: float, xi: float, beta: float) float

Compute the SKR as I_ab - X_be by calling the _iab and _holevo_bound method.

If the key rate is less than 0, return 0.

Parameters:
  • Va (float) – Alice’s variance of modulation (in SNU).

  • T (float) – transmittance of the channel.

  • xi (float) – excess noise of the channel (in SNU).

  • beta (float) – efficiency of the reconciliation.

Returns:

secret key rate in bits per symbol.

Return type:

float

static skr(**kwargs) float

This method computes the secret key rate in the case of the untrusted homdyne detector, with Gaussian modulation, in the asymptotic scenario.

This method actually get the arguments and pass them to the _skr method that actually computes the SKR.

Parameters:
  • Va (float) – Alice’s variance of modulation (in SNU).

  • T (float) – transmittance of the channel.

  • xi (float) – excess noise of the channel (in SNU).

  • beta (float, optional) – efficiency of the reconciliation. Default to 0.95.

Returns:

secret key rate in bits per symbol.

Return type:

float

Gaussian Trusted Homodyne Asymptotic

Calulator for Gaussian Modulation with Trusted detector and Homodyne detection using the asymptotic regime.

class qosst_skr.gaussian_trusted_homodyne_asymptotic.GaussianTrustedHomodyneAsymptotic

This assumes:

  • Gaussian Modulation

  • Trusted detector

  • Homodyne Detection

  • Asymptotic key rate

References: Jérôme Lodewyck, Matthieu Bloch, Raúl García-Patrón, Simon Fossier, Evgueni Karpov, Eleni Diamanti, Thierry Debuisschert, Nicolas J. Cerf, Rosa Tualle-Brouri, Steven W. McLaughlin, & Philippe Grangier (2007). Quantum key distribution over 25km with an all-fiber continuous-variable system. Physical Review A, 76(4).

static _holevo_bound(Va: float, T: float, xi: float, eta: float, Vel: float) float

Compute the Holevo bound on the information between Bob and Eve in the case of the trusted homodyne detector, with Gaussian modulation, in the asymptotic scenario.

Parameters:
  • Va (float) – Alice’s variance of modulation (in SNU).

  • T (float) – transmittance of the channel.

  • xi (float) – excess noise of the channel (in SNU).

  • eta (float) – efficiency of the detector.

  • Vel (float) – electronic noise of the detector (in SNU).

Returns:

Holevo’s bound on the information between Eve and Bob in bits per symbol.

Return type:

float

static _iab(Va: float, T: float, xi: float, eta: float, Vel: float, beta: float) float

Compute the information shared by Alice and Bob in the case of the trusted homodyne detector, with Gaussian modulation, in the asymptotic scenario.

Parameters:
  • Va (float) – Alice’s variance of modulation (in SNU).

  • T (float) – transmittance of the channel.

  • xi (float) – excess noise of the channel (in SNU).

  • eta (float) – efficiency of the detector.

  • Vel (float) – electronic noise of the detector (in SNU).

  • beta (float) – efficiency of the reconciliation.

Returns:

information shared by Alice and Bob in bits per symbol.

Return type:

float

static _skr(Va: float, T: float, xi: float, eta: float, Vel: float, beta: float) float

Compute the SKR as I_ab - X_be by calling the _iab and _holevo_bound method.

If the key rate is less than 0, return 0.

Parameters:
  • Va (float) – Alice’s variance of modulation (in SNU).

  • T (float) – transmittance of the channel.

  • xi (float) – excess noise of the channel (in SNU).

  • eta (float) – efficiency of the detector.

  • Vel (float) – electronic noise of the detector (in SNU).

  • beta (float) – efficiency of the reconciliation.

Returns:

secret key rate in bits per symbol.

Return type:

float

static skr(**kwargs) float

This method computes the secret key rate in the case of the trusted homdyne detector, with Gaussian modulation, in the asymptotic scenario.

This method actually get the arguments and pass them to the _skr method that actually computes the SKR.

Parameters:
  • Va (float) – Alice’s variance of modulation (in SNU).

  • T (float) – transmittance of the channel.

  • xi (float) – excess noise of the channel (in SNU).

  • eta (float) – efficiency of the detector.

  • Vel (float) – electronic noise of the detector (in SNU).

  • beta (float, optional) – efficiency of the reconciliation. Default to 0.95.

Returns:

secret key rate in bits per symbol.

Return type:

float

Gaussian Trusted Heterodyne Asymptotic

Calulator for Gaussian Modulation with Trusted detector and Heterodyne detection using the asymptotic regime.

class qosst_skr.gaussian_trusted_heterodyne_asymptotic.GaussianTrustedHeterodyneAsymptotic

This assumes:

  • Gaussian Modulation

  • Trusted detector

  • Heterodyne Detection

  • Asymptotic key rate

S Fossier, E Diamanti, T Debuisschert, R Tualle-Brouri, & P Grangier (2009). Improvement of continuous-variable quantum key distribution systems by using optical preamplifiers. Journal of Physics B: Atomic, Molecular and Optical Physics, 42(11), 114014.

static _holevo_bound(Va: float, T: float, xi: float, eta: float, Vel: float) float

Compute the Holevo bound on the information between Bob and Eve in the case of the trusted heterodyne detector, with Gaussian modulation, in the asymptotic scenario.

Parameters:
  • Va (float) – Alice’s variance of modulation (in SNU).

  • T (float) – transmittance of the channel.

  • xi (float) – excess noise of the channel (in SNU).

  • eta (float) – efficiency of the detector.

  • Vel (float) – electronic noise of the detector (in SNU).

Returns:

Holevo’s bound on the information between Eve and Bob in bits per symbol.

Return type:

float

static _iab(Va: float, T: float, xi: float, eta: float, Vel: float, beta: float) float

Compute the information shared by Alice and Bob in the case of the trusted heterodyne detector, with Gaussian modulation, in the asymptotic scenario.

Parameters:
  • Va (float) – Alice’s variance of modulation (in SNU).

  • T (float) – transmittance of the channel.

  • xi (float) – excess noise of the channel (in SNU).

  • eta (float) – efficiency of the detector.

  • Vel (float) – electronic noise of the detector (in SNU).

  • beta (float) – efficiency of the reconciliation.

Returns:

information shared by Alice and Bob in bits per symbol.

Return type:

float

static _skr(Va: float, T: float, xi: float, eta: float, Vel: float, beta: float) float

Compute the SKR as I_ab - X_be by calling the _iab and _holevo_bound method.

If the key rate is less than 0, return 0.

Parameters:
  • Va (float) – Alice’s variance of modulation (in SNU).

  • T (float) – transmittance of the channel.

  • xi (float) – excess noise of the channel (in SNU).

  • eta (float) – efficiency of the detector.

  • Vel (float) – electronic noise of the detector (in SNU).

  • beta (float) – efficiency of the reconciliation.

Returns:

secret key rate in bits per symbol.

Return type:

float

static skr(**kwargs) float

This method computes the secret key rate in the case of the trusted heterodyne detector, with Gaussian modulation, in the asymptotic scenario.

This method actually get the arguments and pass them to the _skr method that actually computes the SKR.

Parameters:
  • Va (float) – Alice’s variance of modulation (in SNU).

  • T (float) – transmittance of the channel.

  • xi (float) – excess noise of the channel (in SNU).

  • eta (float) – efficiency of the detector.

  • Vel (float) – electronic noise of the detector (in SNU).

  • beta (float, optional) – efficiency of the reconciliation. Default to 0.95.

Returns:

secret key rate in bits per symbol.

Return type:

float

Utils

Utils function for the computations of SKR.

qosst_skr.utils.g(value: float) float

Useful function to compute the SKR, which is defined to be

g(x) = (x+1)log(x+1) - xlog(x)

with g vanishing when x vanish.

Parameters:

value (float) – input.

Returns:

output.

Return type:

float