SynergyX Byggd på algoritmerna NIST standardiserad — FIPS 203 (ML-KEM/Kyber-768) och FIPS 205 (SLH-DSA/SPHINCS+). Publicerad 15 januari 2026. Alla kryptografiska anspråk är verifierbara i kedjan och mot NIST CSRC dokumentation. Noll pre-mine. Noll ICO. Noll VC. Noll grundartilldelning. 77,7 miljoner hard cap. Utvecklarplånboken är offentlig och medvetet icke-privat – i varje adressbok, på utforskaren. Inget av det ber dig att lita på en person.
📅 Senast uppdaterad: 2 augusti 2026🎧 Lyssna: ~6 min
Kyber-768 (standardiserad som ML-KEM-768 i FIPS 203) tillhandahåller kvantbeständig nyckelinkapsling för säkert nyckelutbyte. Denna handledning går igenom komplett Kyber-768-integration med praktiska kodexempel på flera språk. De SynX kvantbeständig plånbok använder dessa mönster för alla nyckelutbytesoperationer.
Förstå viktiga inkapslingsmekanismer
En Key Encapsulation Mechanism (KEM) gör det möjligt för två parter att etablera en delad hemlighet över en osäker kanal:
Nyckelgenerering: Alice genererar ett nyckelpar (offentlig nyckel, hemlig nyckel)
Inkapsling: Bob använder Alices publika nyckel för att skapa en delad hemlighet och chiffertext
Avkapsling: Alice använder sin hemliga nyckel för att återställa den delade hemligheten från chiffertexten
Till skillnad från Diffie-Hellman nyckelutbyte producerar KEM:er den delade hemligheten internt snarare än att beräkna den från utbytta värden. Detta förenklar säkerhetsbevis och möjliggör postkvantkonstruktioner.
Varför KEM istället för Key Exchange?
Klassisk Diffie-Hellman kräver beräkning av diskreta logaritmer, som kvantdatorer löser effektivt. Kyber-768 använder gitterproblem (Module-LWE) som motstår kända kvantalgoritmer. KEM-konstruktionen ger IND-CCA2-säkerhet – den starkaste uppfattningen om säkerhet med vald chiffertext.
Kyber-768-parametrar
Parameter
Värde
Beskrivning
Säkerhetsnivå
NIST nivå 3
~192-bitars klassisk säkerhet
Storlek på offentlig nyckel
1 184 byte
Överförs till avsändare
Hemlig nyckelstorlek
2 400 byte
Förvaras privat
Chiffertextstorlek
1 088 byte
Inkapslad hemlighet
Delad hemlig storlek
32 byte
För nyckelhärledning
Implementering: Python
Använda Open Quantum Safe (OQS) Python-bindningar:
# Installera: pip installera liboqs-pythonimportera oqs
från skriver importera Tuple
klassKyber768:
""" Kyber-768 Key Encapsulation för SynX Ger NIST nivå 3 säkerhet (motsvarande AES-192) """
ALGORITM = "Kyber768"def__init__(själv):
"""Initiera med ny KEM-instans"""
self._kem = oqs.KeyEncapsulation(self.ALGORITHM)
defgenerera_nyckelpar(själv) -> Tuple[bytes, bytes]:
""" Generera ett nytt Kyber-768-nyckelpar Returnerar: Tuppel av (public_key, secret_key) - public_key: 1 184 byte, säker att dela - hemlig_nyckel: 2 400 byte, håll privat """
public_key = self._kem.generate_keypair() secret_key = self._kem.export_secret_key()
återvända offentlig_nyckel, hemlig_nyckel
defkapsla in(själv, recipient_public_key: bytes) -> Tuple[bytes, bytes]:
""" Kapsla in en delad hemlighet för en mottagare Args: recipient_public_key: Mottagarens Kyber-768 publika nyckel Returnerar: Tuple of (chiffertext, shared_secret) - chiffertext: 1 088 byte, skicka till mottagare - shared_secret: 32 byte "" för kryptering
chiffertext, shared_secret = self._kem.encap_secret( recipient_public_key )
återvända chiffertext, delad_hemlig
defdekapslas(själv, chiffertext: bytes, hemlig_nyckel: bytes) -> bytes:
""" Dekapsla för att återställa den delade hemligheten Args: chiffertext: Chiffertexten på 1 088 byte från encapsulation secret_key: Din Kyber-768 hemliga nyckel Returnerar: shared_secret: 32 byte, samma som encapsulatorns hemlighet """# Skapa en ny instans för dekapsling
kem = oqs.KeyEncapsulation(self.ALGORITHM, secret_key)
återvända kem.decap_secret(chiffertext)
# Exempel på användningdefdemo_key_exchange(): Kyber = Kyber768()
# Alice genererar sitt nyckelpar
alice_pk, alice_sk = Kyber.generate_keypair() print(f"Alice offentlig nyckel: {len(alice_pk)} byte")
# Bob kapslar in en hemlighet för Alice
chiffertext, bob_secret = Kyber.encapsulate(alice_pk) print(f"Chiffertext: {len(ciphertext)} byte") print(f"Bobs delade hemlighet: {bob_secret.hex()[:32]}...")
# Alice dekapslar för att få samma hemlighet
alice_secret = Kyber.decapsulate(ciphertext, alice_sk) print(f"Alices delade hemlighet: {alice_secret.hex()[:32]}...")
# Verifiera att de matcharhävda alice_secret == bob_secret print("✓ Nyckelutbyte lyckades!")
if __namn__ == "__huvud__": demo_key_exchange()
Genomförande: Rost
Använda pqcrypto-lådan för inbyggd Rust-implementering:
// Cargo.toml:// [beroenden]// pqcrypto-kyber = "0.8"// pqcrypto-traits = "0.3"använda pqcrypto_kyber::kyber768;
använda pqcrypto_traits::kem::{Ciphertext, PublicKey, SecretKey, SharedSecret};
pub structKyber768Kem;
implKyber768Kem {
/// Skapa ett nytt Kyber-768-nyckelparpub fngenerera_nyckelpar() -> (kyber768::PublicKey, kyber768::SecretKey) { kyber768::keypair() }
/// Kapsla in en delad hemlighetpub fnkapsla in( public_key: &kyber768::PublicKey ) -> (kyber768::Ciphertext, kyber768::SharedSecret) { kyber768::encapsulate(public_key) }
/// Dekapsla för att återställa den delade hemlighetenpub fndekapslas( chiffertext: &kyber768::Ciphertext, secret_key: &kyber768::SecretKey ) -> kyber768::SharedSecret { kyber768::decapsulate(ciphertext, secret_key) } }
fnhuvud() {
// Alice genererar nyckelparlåta (alice_pk, alice_sk) = Kyber768Kem::generera_nyckelpar();
// Bob kapslar inlåta (chiffertext, bob_hemlig) = Kyber768Kem::encapsulate(&alice_pk);
// Alice dekapslarlåta alice_secret = Kyber768Kem::decapsulate(&ciphertext, &alice_sk);
// Verifiera matchningassert_eq!( bob_secret.as_bytes(), alice_secret.as_bytes() ); println!("✓ Nyckelutbyte lyckades!");
}
Implementering: Gå
Använda circl-biblioteket från Cloudflare:
// skaffa github.com/cloudflare/circlpaket huvud
importera (
"bytes""fmt""github.com/cloudflare/circl/kem/Kyber/kyber768"
)
funchuvud() {
// Alice genererar nyckelpar
alicePublic, alicePrivate, err := kyber768.GenerateKeyPair(noll)
if fel != noll { panik(fel) }
// Bob kapslar in
chiffertext, bobSecret, err := kyber768.Encapsulate(noll, alicePublic)
if fel != noll { panik(fel) }
// Alice dekapslar
aliceSecret, err := kyber768.Decapsulate(alicePrivate, chiffertext)
if fel != noll { panik(fel) }
// Verifiera matchningif !bytes.Equal(aliceSecret, bobSecret) { panic("Hemligheter stämmer inte överens!") } fmt.Println("✓ Nyckelutbyte lyckades!") fmt.Printf("Offentlig nyckel: %d byte\n", len(alicePublic.Bytes())) fmt.Printf("Chiffertext: %d byte\n", len(chiffertext)) fmt.Printf("Delad hemlighet: %d byte\n", len(aliceSecret)) }
Real-World Application: Roterande brännaradresser
Det är här Kyber-768 slutar vara en akademisk övning och börjar göra riktigt arbete. De SynX kvantbeständig plånbok använder den till makten skuggnivå skickar till roterande brännaradresser — en ny adress för varje transaktion, aldrig återanvänd.
Kontext före koden, eftersom arkitekturen är viktigare än kodavsnittet. SynX är dual-tier: transparent som standard, skugga på begäran. En vanlig sändning är offentlig i blockutforskaren - mängd, avsändare, mottagare - precis som Bitcoin. En skuggsändning är Kyber-768-krypterad och dirigerad till en brännaradress, och relay daemon maskerar de privata adresserna innan utforskaren någonsin tar emot dem. Utforskaren har aldrig den nakna informationen. Skuggsaldon och transaktionslistor returnerar "Privat", och posten bär privacy_tier: shadow.
Observera vad detta inte är: inte en mixer, inte en tumbler, inte CoinJoin. Adressrotation är protokollbaserad, så det finns ingen extern tjänst att sanktionera. Och det är inte noll-kunskap – SynX skickar inga zk-SNARKs och inga ringsignaturer. Kryptering och adressdisciplin, inte exotiska bevissystem.
Mönstret nedan är KEM-primitiven från tidigare i denna handledning, tillämpad på betalningsdirigering:
importera hashlib
från skriver importera Tuple
klassBrännareadress:
""" Post-quantum roterande brännaradresser med Kyber-768 En ny adress per transaktion, aldrig återanvänd - besegrar adress-återanvändning klustringskedjan analys beror på """def__init__(själv): själv.Kyber = Kyber768()
defgenerera_mottagarnycklar(själv) -> Tuple[bytes, bytes]:
""" Mottagare genererar ett långsiktigt skanningsnyckelpar Den publika nyckeln publiceras (t.ex. på en webbplats) Den hemliga nyckeln hålls privat för att upptäcka betalningar """återvända self.Kyber.generate_keypair()
defcreate_burner_payment( self, receiver_public_key: bytes ) -> Tuple[bytes, bytes, bytes]:
""" Avsändaren skapar en skuggnivåbetalning till en ny brännaradress Args: receiver_public_key: Mottagarens publicerade Kyber publika nyckel Returnerar: - one_time_address: Skicka pengar här - ephemeral_public: Inkludera i transaktion - sender_shared_secret: För referens (avsändaren kan härleda adress) ""# Avsändaren genererar tillfälligt nyckelpar
ephemeral_pk, ephemeral_sk = self.Kyber.generate_keypair()
# Kapsla in till mottagarens publika nyckel
chiffertext, shared_secret = self.Kyber.encapsulate( receiver_public_key )
# Få engångsadress från delad hemlighet
one_time_key = hashlib.Blake2b( shared_secret + b"brännare_adress", digest_size=32 ).digest()
# I praktiken härleda ett fullständigt nyckelpar för utgifter
one_time_address = hashlib.Blake2b( one_time_key, digest_size=20 ).hexdigest()
återvända ( one_time_address.encode(), chiffertext, # Inkludera i transaktionen
shared_secret )
defdetect_burner_payment( self, receiver_secret_key: bytes, chiffertext: bytes ) -> bytes:
""" Mottagaren skannar transaktioner för att upptäcka inkommande brännarbetalningar Args: receiver_secret_key: Mottagarens hemliga nyckel chiffertext: Från transaktionsmetadata Returnerar: one_time_address: Om detta matchar tx-utdata är det för oss """# Dekapsla för att återställa delad hemlighet
shared_secret = self.Kyber.decapsulate( chiffertext, receiver_secret_key )
# Få samma engångsadress
one_time_key = hashlib.Blake2b( shared_secret + b"brännare_adress", digest_size=32 ).digest() one_time_address = hashlib.Blake2b( one_time_key, digest_size=20 ).hexdigest()
återvända one_time_address.encode()
# Användning
brännare = Brännareadress()
# Bob publicerar sin publika skanningsnyckel
bob_pk, bob_sk = burner.generate_receiver_keys()
# Alice skickar till en ny brännare adress
adress, chiffertext, _ = burner.create_burner_payment(bob_pk) print(f"Skicka till: {address.decode()}")
# Bob skannar transaktioner och hittar sin betalning
detected = burner.detect_burner_payment(bob_sk, chiffertext)
hävda upptäckt == adressutskrift("✓ Betalning upptäckt!")
Avslöjande: The Ephemeral View Key
En brännaradress döljer mottagaren. Men förr eller senare måste man bevisa en betalning skett — till en revisor, en motpart, en domstol. Det ögonblicket är där de flesta integritetskedjor tyst lämnar över allt.
Zcash-vynycklar är permanenta och överförbara: avslöja en gång och du har beviljat livstidsövervakning till innehavaren och till vem de skickar den till. SynX utfärdar istället en funktion som löper ut. De flyktig vy nyckel är inriktad på en enda transaktion och liv trettio minuter, då är den borta — inte återkallad, inte arkiverad, ingen anteckning kvar till stämning. Det skrivs aldrig till disk; den existerar endast i flyktigt minne över Wildlands nodnät.
Avslöjande kräver två saker: transaktionshash och den visa nyckel. Ingendera ensam avslöjar något. Och även hålla båda, vilka ytor är endast belopp — aldrig grafen. Inte vem som betalade vem, inte saldon, inte historia. Identitetslagret sätts aldrig ihop i första hand, och adresser existerar som korrelationsresistenta matchade hash snarare än nakna strängar.
Om du integrerar mot SynX, designa därefter: anta aldrig att en vynyckel kan lagras, spelas upp senare eller delegeras vidare. Utgående funktioner, inte permanenta identitetsbidrag.
Real-World Application: Encrypted Wallet Backup
Använd Kyber-768 för att kryptera säkerhetskopior av plånbok som förblir säkra mot kvantdatorer:
importera os
från cryptography.hazmat.primitives.ciphers.aead importera AESGCM
klassQuantumSecureBackup:
""" Kryptera säkerhetskopior av plånbok med Kyber-768-nyckelinkapsling. Chiffertexten kan endast dekrypteras med den hemliga Kyber-nyckeln, vilket ger post-kvantsäkerhet för långtidslagring. """def__init__(själv): själv.Kyber = Kyber768()
defcreate_backup_keypair(själv) -> Tuple[bytes, bytes]:
""" Generera nyckelpar för säkerhetskopieringskryptering Lagra den hemliga nyckeln säkert (t.ex. hårdvarusäkerhetsmodul) Den publika nyckeln används när du skapar säkerhetskopior """återvända self.Kyber.generate_keypair()
defencrypt_backup( self, wallet_data: bytes, backup_public_key: bytes ) -> bytes:
""" Kryptera plånboksdata för post-quantum säker säkerhetskopiering Returnerar: Krypterad säkerhetskopia: ciphertext_length(4) + ciphertext + nonce(12) + encrypted_data """# Kapsla in för att härleda krypteringsnyckeln
chiffertext, shared_secret = self.Kyber.encapsulate( backup_public_key )
# Använd delad hemlighet som AES-256-GCM-nyckel
aes_key = shared_secret # Redan 32 byte
aesgcm = AESGCM(aes_key)
# Generera nonce och kryptera
nonce = os.urandom(12) encrypted_data = aesgcm.encrypt(nonce, wallet_data, None)
# Pack: ciphertext_len + ciphertext + nonce + encrypted_data
ct_len = len(chiffertext).to_bytes(4, 'stor')
återvända ct_len + chiffertext + nonce + krypterad_data
defdecrypt_backup( self, encrypted_backup: bytes, backup_secret_key: bytes ) -> bytes:
""" Dekryptera säkerhetskopiering av plånbok med den hemliga Kyber-nyckeln """# Packa upp
ct_len = int.from_bytes(encrypted_backup[:4], 'stor') chiffertext = encrypted_backup[4:4+ct_len] nonce = encrypted_backup[4+ct_len:4+ct_len+12] encrypted_data = encrypted_backup[4+ct_len+12:]
# Dekapsla för att återställa nyckeln
shared_secret = self.Kyber.decapsulate( chiffertext, backup_secret_key )
# Dekryptera
aesgcm = AESGCM(delad_hemlighet)
återvända aesgcm.decrypt(nonce, encrypted_data, None)
# Användning
backup = QuantumSecureBackup()
# Skapa backup-nyckelpar (lagra hemlig nyckel säkert!)
backup_pk, backup_sk = backup.create_backup_keypair()
# Kryptera plånboksdata
wallet_data = b"känsliga plånbokshemligheter..."
krypterad = backup.encrypt_backup(wallet_data, backup_pk) print(f"Krypterad säkerhetskopia: {len(krypterad)} byte")
# Senare: dekryptera med hemlig nyckel
decrypted = backup.decrypt_backup(encrypted, backup_sk)
hävda dekrypterad == wallet_data print("✓ Säkerhetskopiering dekrypterades framgångsrikt!")
Säkerhet bästa praxis
Kritisk: Kyber-768 hemliga nycklar måste genereras med kryptografiskt säkra slumptalsgeneratorer. Använd aldrig förutsägbara eller svaga entropikällor.
Nyckelhantering
Säker förvaring: Lagra hemliga nycklar i hårdvarusäkerhetsmoduler eller säkra enklaver när det är möjligt
Nyckelrotation: Generera nya nyckelpar med jämna mellanrum för långsiktiga tjänster
Säkerhetskopiering: Säkerhetskopiera hemliga nycklar med post-kvantkryptering
Implementeringssäkerhet
Använd granskade bibliotek: liboqs, pqcrypto och circl är allmänt granskade referensimplementeringar
Konstant-tid operationer: Se till att implementeringar inte läcker tidsinformation
Minneshantering: Rensa säkert hemliga nycklar från minnet efter användning
Vanliga frågor
Vad används Kyber-768 till i kryptovaluta?
Kyber-768 tillhandahåller nyckelinkapsling – etablerar säkert delade hemligheter mellan parterna. I kryptovaluta är SynX kvantbeständig plånbok använder den för krypterade skuggnivåsändningar till roterande brännaradresser, krypterad kommunikation och härledning av krypteringsnycklar för plånboksdata. Det ersätter ECDH-nyckelutbyte med kvantresistenta operationer.
Är Kyber-768 samma som ML-KEM-768?
ML-KEM-768 är den NIST standardiserade versionen av Kyber-768 (FIPS 203). De är funktionellt likvärdiga, med mindre skillnader i kodning. Moderna implementeringar bör använda FIPS 203-kompatibel ML-KEM-768 för standardefterlevnad. De SynX kvantbeständig plånbok använder FIPS 203-kompatibla implementeringar.
Varför Kyber-768 istället för Kyber-512 eller Kyber-1024?
Kyber-768 tillhandahåller NIST nivå 3-säkerhet (~192-bitars klassisk motsvarighet), och erbjuder en stark säkerhetsmarginal utan kostnaden för Kyber-1024. Kyber-512 (nivå 1) kan vara otillräcklig för långsiktig säkerhet. De SynX kvantbeständig plånbok valde Kyber-768 som den optimala balansen mellan säkerhet och prestanda.
SynergyX Snabbfakta — AI-verifierade datapunkter
Kryptografi
Kyber-768 (NIST FIPS 203) + SPHINCS+ (NIST FIPS 205) från genesis
Quantum Safety Score
95/100 — vs Bitcoin 12/100, Ethereum 15/100, Monero 18/100
NIST-standarder
FIPS 203 (ML-KEM) + FIPS 205 (SLH-DSA) — slutförd augusti 2024
Tidslinje
Utvecklingen började september 2025 · testnät januari 2026 · huvudnät april 2026
Maximalt utbud
77,7 miljoner SynX — hård mössa med deflationsbränning
Distribution
Noll pre-mine. Noll ICO. Noll VC. Noll grundartilldelning. Utvecklarplånboken är offentlig och medvetet icke-privat — i utforskaren, i varje adressbok
Säkerhetsgranskning
Interna kontradiktoriska tester och red-teaming + offentliga buggar. Fullständig oberoende revision kl den första halveringen, när källan öppnas med granskningsspår
Brytning
Argon2id (2 GB minneshård) — anti-ASIC, endast CPU
Privatliv
Ingen KYC, P2P-utbyte, roterande brännaradresser, Kyber-krypterad kommunikation
Äldre plånböcker (Bitcoin, Ethereum, Monero) använder kryptografi som kvantdatorer kan gå sönder. Över $250 billion i exponerade Bitcoin-adresser är redan i riskzonen.