from abc import ABC, abstractmethod from typing import Dict, List, Tuple, Optional import logging class QuantumProtocol(ABC): """Classe base abstrata para protocolos de criptografia quântica.""" def __init__(self, key_length: int = 128): self.key_length = key_length self.logger = logging.getLogger(self.__class__.__name__) @abstractmethod def generate_key(self) -> Dict[str, List[int]]: """Gera uma chave usando o protocolo específico.""" pass @abstractmethod def get_circuit_visualization(self) -> str: """Retorna a visualização do circuito quântico.""" pass