Specification Requirement Estimator

The Specification Requirement Estimator (SpecReqEstimator) module estimates the minimum device specifications (e.g., gate error rate) required to break a given cryptographic protocol using a specified number of physical qubits.

Class for estimating quantum computer specification requirements.

class SpecReqEstimator(crypt_params: CryptParams)[source]

Bases: object

Class for estimmating quantum computer specification requirements.

estimate_specs(estimator_params: EstimatorParams | dict, quantum_algorithm: type[QuantumAlgorithm] | None = None) float[source]

Estimate the gate error rate needed for a given number of qubits.

Parameters:
  • estimator_params (EstimatorParams | dict) – Parameters for Azure’s quantum resource estimator. The ‘max_physical_qubits’ parameter should be defined.

  • quantum_algorithm (QuantumAlgorithm, optional) – Quantum algorithm to use for the analysis, by default None.

Returns:

Required gate error rate.

Return type:

float

Raises:
  • TypeError – If the estimator parameters are of the wrong type.

  • RuntimeError – If the function fails to find a sufficiently low gate error rate.

update_estimator_params(estimator_params: dict, gate_error_rate: float) dict[source]

Update the estimator parameters with a new gate error rate.

Parameters:
  • estimator_params (dict) – Estimator parameters.

  • gate_error_rate (float) – New gate error rate.

Returns:

Estimator parameters with updated gate error rate.

Return type:

dict