File size: 654 Bytes
0173bbf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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