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