Universal Recursive Rotation Translator

The UniversalRecursiveRotationTranslator implements universal blind quantum computation using recursive decryption of arbitrary rotations.

Overview

This translator enables efficient delegation of parametric quantum circuits using recursive rotation decryption techniques.

The implementation follows:

  • Joshi et al. (2025)

Features

  • arbitrary-angle delegation

  • recursive decryption

  • universal resource-set construction

  • optimized parametric delegation

Supported Gates

Supported gates include:

  • H

  • Rz

  • CZ

Universal Resource Set

The translator uses a universal resource set constructed from recursive rotation primitives.

This enables:

  • efficient parametric computation

  • low-depth delegation

  • practical variational circuit execution

Optimizations

The implementation contains practical optimizations for recursive decryption workflows to reduce delegation overhead.

Applications

Suitable for:

  • variational quantum algorithms

  • parametric blind computation

  • low-depth delegated circuits

  • universal blind delegation

Module Documentation

class blind_transpiler.translators.universalRecursiveRotationTranslator.UniversalRecursiveRotationTranslator[source]

Bases: BaseTranslator

Library class for full-blind quantum computation. Build on top of HomomorphicTranslation class. Inheritance of above class can be taken, but might be a bad idea. Logic is based on paper:

Joshi, Mohit, Manoj Kumar Mishra, and S. Karthikeyan. “Universal Blind Quantum Computation with Recursive Rotation Gates.” arXiv preprint arXiv:2512.15101 (2025).

Assumes constant compute space of 11 ancilla qubits. Note, s,t can be removed as rz can implement them also:

added ‘rz’ gate in resource set which was not present in the literature, this will help practical universal computation the fdqc compute space is 11, now, if any update is done here also change the ‘constant_compute_space’ in BQC.fdqc()

This uses an optimized version of algorithm given in paper ‘universal blind quantum computation using recursive rotation gates’ that uses omly M gate instead of M^2

cz(key, qargs, gate_seq)[source]

Encryption and decryption logic of ‘cz’ gate for ubqc. Needed size of encryption key = 4

Parameters:
  • key – list[int] - contains randomly generated binary keys, each element can be 0 or 1.

  • qargs – list[int] - contains the argument on which the key has to be applied.

  • gate_seq – int - used to store the information of which gate from original circuit, this translation is coming from.

Returns:

Tuple[BOP] - tuple of BOP class object sequence needed for encryption, compute and decryption of the ‘cz’ gate.

Raises:

None

Library Dependency:

qiksit.circuit.library - SwapGate

h(key, qargs, gate_seq)[source]

Encryption and decryption logic of ‘h’ gate for ubqc. Needed size of encryption key = 2

Parameters:
  • key – list[int] - contains randomly generated binary keys, each element can be 0 or 1.

  • qargs – list[int] - contains the argument on which the key has to be applied.

  • gate_seq – int - used to store the information of which gate from original circuit, this translation is coming from.

Returns:

Tuple[BOP] - tuple of BOP class object sequence needed for encryption, compute and decryption of the ‘h’ gate.

Raises:

None

Library Dependency:

qiksit.circuit.library - SwapGate

rz(theta, key, qargs, gate_seq)[source]

Encryption and decryption logic of ‘rz’ gate for ubqc. Needed size of encryption key = need variable length.

Parameters:
  • theta – float - contain the theta parameter (in radian) to apply theta rotation on the circuit.

  • key – list[int] - contains randomly generated binary keys, each element can be 0 or 1. Size should be 2M

  • qargs – list[int] - contains the argument on which the key has to be applied.

  • gate_seq – int - used to store the information of which gate from original circuit, this translation is coming from.

Returns:

Tuple[BOP] - tuple of BOP class object sequence needed for encryption, compute and decryption of the ‘rz’ gate.

Raises:

None

Library Dependency:

qiksit.circuit.library - SwapGate