Zpět na domů

QuarkDash: postkvantový šifr na TypeScript

QuarkDash — hybridní postkvantový protokol na bázi Ring-LWE pro výměnu klíčů, ChaCha20/Gimli pro šifrování a SHAKE-256 pro autentizaci. Zajišťuje 128bitovou bezpečnost s výkonem až 2710 MB/s. Zahrnuje ochranu proti replay-útokům a side-channel útokům.

Postkvantový QuarkDash: Ring-LWE a TypeScript kód
Advertisement 728x90

Hybridní postkvantový protokol QuarkDash: implementace v TypeScriptu pro vysoce zatížené systémy

QuarkDash kombinuje Ring-LWE pro postkvantovou výměnu klíčů, proudové šifry ChaCha20 nebo Gimli, SHAKE-256 pro KDF a MAC, plus ochranu proti replay a timing útokům. Velikost veřejného klíče je přibližně 2 KB, privátního přibližně 1 KB. Nastavení relace trvá přibližně 8-9 ms na průměrném CPU. Vhodné pro klient-server systémy bez vazby na architekturu.

Výběr primitiv v QuarkDash

Ring-LWE pro výměnu klíčů

Ring-LWE využívá prstenec polynomů s parametry N=256, Q=7681, ω=7. Zajišťuje 128-bitovou postkvantovou bezpečnost. Násobení polynomů přes NTT s O(N log N). Generování klíčů: ~12 ms, inkapsulace/dekapsulace ~8-9 ms.

Symetrické šifrování

  • ChaCha20: 20 kol, 256-bitový klíč, 12-bajtový nonce. Vysoká rychlost v softwaru, odolnost vůči timing útokům.
  • Gimli: 24 kol, 384-bitový stav, 256-bitová bezpečnost. Rychlejší než ChaCha20 na 32-bitových architekturách, méně kódu pro IoT.

KDF a MAC na SHAKE-256

SHAKE-256 (založený na Keccak) pro kvantově odolnou derivaci klíčů a autentizaci. KDF: SHAKE256(sůl || sdílené tajemství || "session-key", 64) → klíč relace (32 bajtů) + macKey (32 bajtů). MAC: SHAKE256(macKey || hlavička || šifrový text, 32) s constant-time ověřením.

Google AdInline article slot

Krok za krokem algoritmus fungování

Generování klíčů

  • Zvolit a ∈ Z_Q^N.
  • Malé s, e s koeficienty {-1,0,1}.
  • b = a ⊗ s + e (NTT).
  • Veřejný: (a, b), privátní: s.

KEM pro relaci

Iniciátor:

  • u = a ⊗ s' + e'.
  • sdílené tajemství z b ⊗ s'.

Příjemce: sdílené tajemství z u ⊗ s.

Šifrování zprávy

  • hlavička = časové razítko (8 bajtů) || sekvence (4 bajty).
  • šifrový text = streamCipher.encrypt(otevřený text, klíč relace, nonce).
  • mac = SHAKE256(macKey || hlavička || šifrový text, 32).
  • Paket: hlavička || šifrový text || mac.

Dešifrování

  • Rozdělit paket.
  • Ověření MAC (constant-time).
  • Časové razítko v rozmezí 5 min.
  • Sekvence se neopakuje (okno 1000).
  • otevřený text = streamCipher.decrypt(šifrový text).

Bezpečnostní opatření

  • Postkvantová odolnost: Ring-LWE bez známých kvantových útoků, SHAKE-256 proti Groverovi.
  • Boční kanály: constant-time porovnání, secureZero klíčů, bez větvení podle tajemství.
  • Forward secrecy: efemérní klíče na relaci.
  • Ochrana proti replay: časové razítko + sekvence.

Celková úroveň: 128-256 bitů proti klasickým/kvantovým hrozbám.

Google AdInline article slot

Benchmarky výkonnosti

Nastavení relace (ms, průměr z 1000)

| Operace | QuarkDash (ChaCha20) | QuarkDash (Gimli) | ECDH P-256 | RSA-2048 |

|----------|----------------------|-------------------|------------|----------|

| Generování klíčů | 12.3 | 12.1 | 1.2 | 48 |

Google AdInline article slot

| KEM inkapsulace | 8.7 | 8.5 | 3.4 | 42 |

| KEM dekapsulace | 9.2 | 9.0 | 3.4 | 0.1 |

Propustnost (MB/s)

| Velikost | ChaCha20 | Gimli | AES-256-GCM | ECIES |

|--------|----------|-------|-------------|-------|

| 1 KB | 125 | 132 | 117 | 10 |

| 1 MB | 2380 | 2630 | 1176 | 48 |

| 10 MB | 2450 | 2710 | 1200 | 50 |

Režijní náklady: veřejný klíč 2 KB, privátní 1 KB, režie paketu 44 bajtů.

Porovnání s alternativami

  • Vs AES: QuarkDash přidává vestavěný KEM, forward secrecy, ochranu proti replay. ChaCha20 rychlejší než AES bez hardwarové podpory.
  • Vs ECC: odolný vůči Shorovi, menší režie paketu (44 vs 61 bajtů), vyšší rychlost pro velká data.

Protokol je optimalizován pro TypeScript ve webových aplikacích, s emulací SHAKE-256 na Keccak.

Co je důležité

  • Ring-LWE (N=256, Q=7681) pro 128-bit PQC s NTT-násobením.
  • Dvojitý výběr šifer: ChaCha20 pro software, Gimli pro IoT.
  • SHAKE-256 KDF/MAC s constant-time operacemi.
  • Ochrana proti replay přes časové razítko + sekvence (okno 1000).
  • Benchmarky: až 2710 MB/s šifrování, relace ~9 ms.

— Editorial Team

Advertisement 728x90

Číst dál