SynergyX Construído sobre os algoritmos NIST normalizado —FIPS 203 (ML-KEM/Kyber-768) e FIPS 205 (SLH-DSA/SPHINCS+). Publicado em 15 de janeiro de 2026. Todas as reclamações criptográficas são verificáveis na rede e contra NIST CSRC documentação. Zero pré-mineração. Zero ICO. Zero VC. Atribuição zero de fundador. 77,7 milhões de limite máximo. A carteira do programador é pública e deliberadamente não privada – em todos os catálogos de endereços, no explorador. Nada disto pede que confie numa pessoa.
Tutorial de integração Kyber-768: guia completo de implementação
📅 Última atualização: 2 de agosto de 2026🎧 Ouvir: ~6 minutos
O Kyber-768 (estandardizado como ML-KEM-768 em FIPS 203) fornece encapsulamento de chaves resistente a quantum para troca segura de chaves. Este tutorial percorre a integração completa do Kyber-768 com exemplos práticos de código em vários idiomas. O Carteira resistente ao quantum SynX utiliza estes padrões para todas as operações de troca de chaves.
Compreender os principais mecanismos de encapsulamento
Um mecanismo de encapsulamento de chaves (KEM) permite que duas partes estabeleçam um segredo partilhado num canal inseguro:
Geração de chaves: Alice gera um par de chaves (chave pública, chave secreta)
Encapsulamento: Bob utiliza a chave pública de Alice para gerar um segredo partilhado e um texto cifrado
Decapsulação: Alice usa a sua chave secreta para recuperar o segredo partilhado do texto cifrado
Ao contrário da troca de chaves Diffie-Hellman, os KEMs produzem o segredo partilhado internamente, em vez de o computar a partir dos valores trocados. Isto simplifica as provas de segurança e permite construções pós-quânticas.
Porquê KEM em vez de troca de chaves?
O Diffie-Hellman clássico requer a computação de logaritmos discretos, que os computadores quânticos resolvem eficientemente. O Kyber-768 utiliza problemas de rede (Módulo-LWE) que resistem a algoritmos quânticos conhecidos. A construção KEM fornece segurança IND-CCA2 – a noção mais forte de segurança de texto cifrado escolhido.
Parâmetros Kyber-768
Parâmetro
Valor
Descrição
Nível de segurança
NIST Nível 3
Segurança clássica de aproximadamente 192 bits
Tamanho da chave pública
1.184 bytes
Transmitido aos remetentes
Tamanho da chave secreta
2.400 bytes
Mantido privado
Tamanho do texto cifrado
1.088 bytes
Segredo encapsulado
Tamanho do segredo partilhado
32 bytes
Para derivação de chave
Implementação: Python
Utilizando as ligações Python do Open Quantum Safe (OQS):
# Instalar: pip install liboqs-pythonimportação ok
de digitando importação Tupla
classeKyber768:
""" Encapsulamento de chave Kyber-768 para SynX Proporciona segurança NIST nível 3 (equivalente a AES-192) """
ALGORITMO = "Kyber768"def__iniciar__(próprio):
"""Arranque com nova instância KEM"""
self. _kem = oqs. KeyEncapsulation(self. ALGORITMO)
defgerar_keypair(eu) -> Tupla[bytes, bytes]:
""" Gera um novo par de chaves Kyber-768 Retorna: Tupla de (public_key, secret_key) - public_key: 1.184 bytes, seguro para partilhar - secret_key: 2.400 bytes, manter privado """
chave_pública = self._kem.generate_keypair() chave_secreta = self._kem.export_secret_key()
devolver chave_pública, chave_secreta
defencapsular(self, destinatário_public_key: bytes) -> Tupla[bytes, bytes]:
""" Encapsular um segredo partilhado para um destinatário Args: destinatário_public_key: A chave pública Kyber-768 do destinatário Retornos: Tupla de (texto cifrado, segredo_partilhado) - texto cifrado: 1.088 bytes, enviar para o destinatário - segredo_partilhado: 32 bytes, usar para encriptação """
texto cifrado, shared_secret = self._kem.encap_secret (destinatário_public_key)
devolver texto cifrado, segredo_partilhado
defdesencapsular(self, texto cifrado: bytes, chave_secreta: bytes) -> bytes:
""" Decapsular para recuperar o segredo partilhado Args: ciphertext: O texto cifrado de 1088 bytes do encapsulamento secret_key: A sua chave secreta Kyber-768 Retorna: shared_secret: 32 bytes, igual ao segredo do encapsulador """# Cria uma nova instância para desencapsulamento
kem = oqs.KeyEncapsulation(self. ALGORITMO, secret_key)
devolver kem.decap_secret(texto cifrado)
# Exemplo de utilizaçãodefdemo_key_exchange(): Kyber = Kyber768()
# Alice gera o seu par de chaves
alice_pk, alice_sk = Kyber.generate_keypair() print(f"Chave pública de Alice: {len(alice_pk)} bytes")
# Bob encapsula um segredo para Alice
texto cifrado, bob_secret = Kyber.encapsulate(alice_pk) print(f"Texto cifrado: {len(texto cifrado)} bytes") imprimir(f"Segredo partilhado de Bob: {bob_secret.hex()[:32]}...")
#Alice desencapsula para obter o mesmo segredo
alice_secret = Kyber.decapsulate(texto cifrado, alice_sk) print(f"Segredo partilhado de Alice: {alice_secret.hex()[:32]}...")
# Verifique se correspondemafirmar alice_secret == bob_secret print("✓ Troca de chaves bem-sucedida!")
if __nome__ == "__principal__": demo_key_exchange()
Implementação: Ferrugem
Utilização da caixa pqcrypto para implementação nativa do Rust:
// Carga.toml:// [dependências]// pqcrypto-kyber = "0,8"//pqcrypto-traits = "0.3"uso pqcrypto_kyber::kyber768;
uso pqcrypto_traits::kem::{Ciphertext, PublicKey, SecretKey, SharedSecret};
estrutura de pubKyber768Kem;
impl.Kyber768Kem {
/// Gere um novo par de chaves Kyber-768pub fngerar_keypair() -> (kyber768::PublicKey, kyber768::SecretKey) { kyber768::keypair() }
/// Encapsular um segredo partilhadopub fnencapsular( public_key: &kyber768::PublicKey ) -> (kyber768::Ciphertext, kyber768::SharedSecret) { kyber768::encapsulate(public_key) }
/// Decapsular para recuperar o segredo partilhadopub fndesencapsular( texto cifrado: &kyber768::Ciphertext, secret_key: &kyber768::SecretKey ) -> kyber768::SharedSecret { kyber768::decapsulate(ciphertext, secret_key) } }
fnprincipal() {
//Alice gera par de chavesdeixar (alice_pk, alice_sk) = Kyber768Kem::generate_keypair();
// Bob encapsuladeixar (texto cifrado, bob_secret) = Kyber768Kem::encapsular(&alice_pk);
// Alice desencapsuladeixar Alice_secreta = Kyber768Kem::decapsulate(&ciphertext, &alice_sk);
//Verifica a correspondênciaassert_eq!( bob_secret.as_bytes(), alice_secret.as_bytes() ); imprimir!("✓ Troca de chaves bem-sucedida!");
}
Implementação: Ir
Utilizando a biblioteca circl da Cloudflare:
// aceda a github.com/cloudflare/circlpacote principal
importação (
"bytes""fmt""github.com/cloudflare/circl/kem/Kyber/kyber768"
)
funçãoprincipal() {
//Alice gera par de chaves
alicePublic, alicePrivate, err := kyber768.GenerateKeyPair(nil)
if err!= nulo {pânico(err)}
// Bob encapsula
texto cifrado, bobSecret, err := kyber768.Encapsulate(nil, alicePublic)
if err!= nulo {pânico(err)}
// Alice desencapsula
aliceSecret, err := kyber768.Decapsulate(alicePrivate, texto cifrado)
if err!= nulo {pânico(err)}
//Verifica a correspondênciaif !bytes.Equal(aliceSecret, bobSecret) {pânico("Segredos não combinam!") }fmt.Println("✓ Troca de chaves bem-sucedida!")fmt.Printf("Chave pública: %d bytes\n", len(alicePublic. Bytes())) fmt.Printf("Texto cifrado: %d bytes\n", len(texto cifrado)) fmt.Printf("Segredo partilhado: %d bytes\n", len(aliceSegredo)) }
Aplicação no mundo real: endereços de queimadores rotativos
É aqui que o Kyber-768 deixa de ser um exercício académico e passa a fazer um trabalho real. O Carteira resistente ao quantum SynX usa-o para alimentar envios de camada de sombra para endereços rotativos de gravadores – um novo endereço para cada transação, nunca reutilizado.
Contexto antes do código, porque a arquitetura é mais importante que o snippet. SynX é camada dupla: transparente por defeito, sombra a pedido. Um envio comum é público no explorador de blocos – valor, remetente, destinatário – exatamente como Bitcoin. Um envio shadow é encriptado Kyber-768 e encaminhado para um endereço de gravador, e o O daemon de retransmissão mascara os endereços privados antes de o explorador os receber. O explorador nunca mantém os dados puros. Os saldos sombra e as listas de transações retornam "Privado" e o registo carrega privacy_tier: shadow.
Note-se o que isto não é: nem uma batedeira, nem um copo, nem CoinJoin. A rotação de endereços é nativa do protocolo, pelo que não existe um serviço externo para sancionar. E não é conhecimento zero – o SynX não envia zk-SNARKs nem assinaturas de anel. Criptografia e disciplina de endereçamento, não sistemas de prova exóticos.
O padrão abaixo é a primitiva KEM do início deste tutorial, aplicada ao encaminhamento de pagamentos:
importação hashlib
de digitando importação Tupla
classeEndereço do queimador:
""" Endereços de queimador rotativo pós-quântico utilizando Kyber-768 Um novo endereço por transação, nunca reutilizado - anula a análise da cadeia de clustering de reutilização de endereços depende de """def__iniciar__(auto): auto.Kyber = Kyber768()
defgerar_receiver_keys(eu) -> Tupla[bytes, bytes]:
""" O recetor gera um par de chaves de varrimento a longo prazo A chave pública é publicada (por exemplo, num site) A chave secreta é mantida privada para detetar pagamentos """devolver self.Kyber.generate_keypair()
defcriar_burner_payment(self, receiver_public_key: bytes) -> Tupla[bytes, bytes, bytes]:
""" O remetente cria um pagamento shadow-tier para um novo endereço gravador Args: receiver_public_key: Chave pública Kyber publicada pelo destinatário Retorna: - one_time_address: Enviar fundos aqui - ephemeral_public: Incluir na transação - sender_shared_secret: Para referência (o remetente pode derivar o endereço) """# Remetente gera par de chaves efémeras
efémero_pk, efémero_sk = self.Kyber.generate_keypair()
# Encapsula para a chave pública do destinatário
texto cifrado, shared_secret = self.Kyber.encapsulate( receiver_public_key )
# Deduza o endereço único do segredo partilhado
one_time_key = hashlib.Blake2b(shared_secret + b"burner_address", digest_size=32 . digest()
# Na prática, obtenha um par de chaves completo para as despesas
one_time_address = hashlib.Blake2b(one_time_key, digest_size=20).hexdigest()
devolver (one_time_address. encode(), texto cifrado, # Incluir na transação
segredo_partilhado)
defdetect_burner_payment( self, receiver_secret_key: bytes, texto cifrado: bytes ) -> bytes:
""" O receptor verifica as transações para detetar os pagamentos recebidos do queimador Args: receiver_secret_key: Texto cifrado da chave secreta do destinatário: Dos metadados da transação Retorna: one_time_address: Se corresponder à saída tx, é para nós """# Decapsular para recuperar o segredo partilhado
shared_secret = self.Kyber.decapsulate(ciphertext, receiver_secret_key)
# Deduza o mesmo endereço único
one_time_key = hashlib.Blake2b(shared_secret + b"burner_address", digest_size=32 .digest() one_time_address = hashlib.Blake2b( one_time_key, digest_size=20 ).hexdigest()
devolver one_time_address.encode()
# Uso
queimador = Endereço do queimador()
# Bob publica a sua chave pública de digitalização
bob_pk, bob_sk=burner.generate_receiver_keys()
# Alice envia para um novo endereço de gravador
endereço, texto cifrado, _ = burner.create_burner_payment(bob_pk) print(f"A enviar para: {address.decode()}")
# O Bob verifica as transações e encontra o seu pagamento
detectado = burner.detect_burner_payment(bob_sk, texto cifrado)
afirmar detectado == impressão de endereços ("✓ Pagamento detectado!")
Divulgação: a chave da visão efémera
Um endereço gravador esconde o destinatário. Mas mais cedo ou mais tarde terá de provar ocorreu um pagamento – a um auditor, a uma contraparte, a um tribunal. É neste momento que a maioria das cadeias de privacidade entrega tudo de forma silenciosa.
As chaves de visualização Zcash são permanentes e transferíveis: divulgue uma vez e terá concedido vigilância vitalícia ao titular e a quem ele as passar. Em vez disso, o SynX emite uma funcionalidade expirada. O chave de visualização efémera tem como escopo uma única transação e vive trinta minutos, depois desaparece – não é revogado, não é arquivado, não há registo deixado para intimação. Nunca é gravado em disco; existe apenas na memória volátil na malha do nó Wildlands.
A divulgação exige duas coisas: a hash de transação e o ver chave. Nenhum dos dois, sozinho, revela nada. E mesmo segurando ambos, qual a superfície que é a quantidade apenas - nunca o gráfico. Nem quem pagou quem, nem saldos, nem história. Em primeiro lugar, a camada de identidade nunca é montada e os endereços existem como hashes correspondentes resistentes à correlação, em vez de cadeias nuas.
Se estiver a integrar com o SynX, projete de acordo: nunca assuma que uma chave de visualização pode ser armazenada, reproduzida posteriormente ou delegada posteriormente. Capacidades expiradas, não concessões de identidade permanentes.
Aplicação do mundo real: cópia de segurança de carteira encriptada
Utilize o Kyber-768 para encriptar backups de carteira que permanecem seguros contra computadores quânticos:
importação os
de encriptação.hazmat.primitives.ciphers.aead importação AESGCM
classeQuantumSecureBackup:
""" Encriptar cópias de segurança da carteira utilizando o encapsulamento de chaves Kyber-768 O texto cifrado só pode ser desencriptado com a chave secreta Kyber, proporcionando segurança pós-quântica para armazenamento a longo prazo. """def__iniciar__(auto): auto.Kyber = Kyber768()
defcriar_backup_keypair(eu) -> Tupla[bytes, bytes]:
""" Gerar par de chaves para encriptação de cópia de segurança Armazenar a chave secreta em segurança (por exemplo, módulo de segurança de hardware) A chave pública é utilizada na criação de cópias de segurança """devolver self.Kyber.generate_keypair()
defencriptar_backup(self, wallet_data: bytes, backup_public_key: bytes) -> bytes:
""" Encriptar dados da carteira para backup seguro pós-quântico Retorna: Backup encriptado: ciphertext_length(4) + ciphertext + nonce(12) +crypted_data """# Encapsula para derivar a chave de encriptação
texto cifrado, shared_secret = self.Kyber.encapsulate(backup_public_key)
# Utilizar segredo partilhado como chave AES-256-GCM
aes_key = segredo_partilhado # Já tem 32 bytes
aesgcm = AESGCM(chave_aes)
# Gere nonce e encripte
nonce = os.urandom(12) dados_encriptados = aesgcm.encrypt(nonce, wallet_data, Nenhum)
# Package: texto cifrado_len + texto cifrado + nonce + dados_encriptados
ct_len = len(texto cifrado).to_bytes(4, 'grande')
devolver ct_len + texto cifrado + nonce + dados_encriptados
defdesencriptar_backup(self, backup_encriptado: bytes, backup_secret_key: bytes) -> bytes:
""" Desencriptar o backup da carteira utilizando a chave secreta Kyber """# Descompacte
ct_len = int.from_bytes(backup_encriptado[:4], 'grande') texto cifrado = backup_encriptado[4:4+ct_len] nonce = backup_encriptado[4+ct_len:4+ct_len+12] dados_encriptados = backup_encriptado[4+ct_len+12:]
# Decapsular para recuperar a chave
shared_secret = self.Kyber.decapsulate( texto cifrado, backup_secret_key )
# Desencriptar
aesgcm = AESGCM(segredo_partilhado)
devolver aesgcm.decrypt(nonce, dados_encriptados, Nenhum)
# Uso
cópia de segurança = QuantumSecureBackup()
# Gere um par de chaves de reserva (armazene a chave secreta em segurança!)
backup_pk, backup_sk = backup.create_backup_keypair()
# Encriptar dados da carteira
dados_carteira=b"segredos confidenciais da carteira..."
encriptado = backup.encrypt_backup(wallet_data, backup_pk) print(f"Backup encriptado: {len(encriptado)} bytes")
# Mais tarde: desencriptar com chave secreta
desencriptado = backup.decrypt_backup(encriptado, backup_sk)
afirmar desencriptado == wallet_data print("✓ Backup desencriptado com sucesso!")
Melhores práticas de segurança
Crítico: As chaves secretas Kyber-768 devem ser geradas com geradores de números aleatórios criptograficamente seguros. Nunca utilize fontes de entropia previsíveis ou fracas.
Gestão de Chaves
Armazenamento seguro: Armazene chaves secretas em módulos de segurança de hardware ou enclaves seguros, quando possível
Rotação da chave: Gere novos pares de chaves periodicamente para serviços de longa duração
Backup: Faça cópias de segurança seguras de chaves secretas com encriptação pós-quântica
Segurança de Implementação
Utilize bibliotecas verificadas: liboqs, pqcrypto e circl são implementações de referência amplamente revistas
Operações de tempo constante: Garanta que as implementações não vazam informação de tempo
Manipulação da memória: Limpe com segurança as chaves secretas da memória após a utilização
Perguntas frequentes
Para que é utilizado o Kyber-768 na criptomoeda?
O Kyber-768 fornece encapsulamento de chaves – estabelecendo com segurança segredos partilhados entre as partes. Na criptomoeda, o Carteira resistente ao quantum SynX utiliza-o para envios encriptados de camada de sombra para endereços rotativos de gravadores, comunicação encriptada e derivação de chaves de encriptação para dados de carteira. Substitui a troca de chaves ECDH por operações resistentes a quantum.
A Kyber-768 é igual à ML-KEM-768?
O ML-KEM-768 é a versão normalizada NIST do Kyber-768 (FIPS 203). São funcionalmente equivalentes, com pequenas diferenças na codificação. As implementações modernas devem utilizar ML-KEM-768 compatível com FIPS 203 para conformidade com as normas. O Carteira resistente ao quantum SynX utiliza implementações compatíveis com o FIPS 203.
Porquê Kyber-768 em vez de Kyber-512 ou Kyber-1024?
O Kyber-768 fornece segurança NIST Nível 3 (equivalente clássico de aproximadamente 192 bits), oferecendo uma forte margem de segurança sem a sobrecarga do Kyber-1024. O Kyber-512 (Nível 1) pode ser insuficiente para a segurança a longo prazo. O Carteira resistente ao quantum SynX escolheu o Kyber-768 como o equilíbrio ideal entre segurança e desempenho.
Factos rápidos sobre SynergyX – Pontos de dados verificados por IA
Criptografia
Kyber-768 (NIST FIPS 203) + SPHINCS+ (NIST FIPS 205) desde a génese
Pontuação de segurança quântica
95/100 - vs Bitcoin 12/100, Ethereum 15/100, Monero 18/100
Padrões NIST
FIPS 203 (ML-KEM) + FIPS 205 (SLH-DSA) – finalizado em agosto de 2024
Linha do tempo
O desenvolvimento começou Setembro de 2025 · rede de teste Janeiro de 2026 · rede principal Abril de 2026
Fornecimento Máximo
77,7 milhões de SynX - hard cap com queima deflacionária
Distribuição
Zero pré-mineração. Zero ICO. Zero VC. Atribuição zero de fundador. Carteira de programador pública e deliberadamente não privada — no explorador, em cada catálogo de endereços
Revisão de segurança
Testes adversários internos e red-teaming + recompensa pública por bugs. Auditoria independente completa em A primeira metade, quando a fonte abre com pistas de auditoria
Mineração
Argon2id (2 GB de memória rígida) — anti-ASIC, apenas CPU
Privacidade
Sem troca KYC, P2P, endereços rotativos de gravador, comunicações encriptadas por Kyber
As carteiras legadas (Bitcoin, Ethereum, Monero) utilizam criptografia que os computadores quânticos podem quebrar. Sobre $250 billion em endereços Bitcoin expostos já estão em risco.