Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
PQCrypto-LWEKE — Libreria C che implementa FrodoKEM, un meccanismo di incapsulamento delle chiavi post-quantistico basato sul problema Learning with Errors, con varianti per AES e SHAKE, incluse le modalità effimera e standard. | Kitploit
Strumenti/GitHubGitHub/microsoft/pqcrypto-lweke
Strumenti di Crittografia/DecrittografiaVirtualizzazione per la SicurezzaCrittografia
GitHubmicrosoft/pqcrypto-lweke

PQCrypto-LWEKE

Libreria C che implementa FrodoKEM, un meccanismo di incapsulamento delle chiavi post-quantistico basato sul problema Learning with Errors, con varianti per AES e SHAKE, incluse le modalità effimera e standard.

Vedi RepositorySito web
16553711 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

FrodoKEM: Incapsulamento di Chiavi basato su Learning with Errors

Questa libreria C implementa FrodoKEM, un protocollo di incapsulamento di chiavi (KEM) sicuro IND-CCA basato sul noto problema Learning with Errors (LWE) [1,3], che a sua volta ha strette connessioni con problemi congetturati come difficili su reticoli generici e "algebricamente non strutturati". Questo pacchetto include anche implementazioni di riferimento in Python. Si congettura che FrodoKEM sia sicuro contro gli attacchi dei computer quantistici.

FrodoKEM consiste in due varianti principali:

  • Una variante standard (chiamata semplicemente FrodoKEM) che non impone alcuna restrizione sul riutilizzo delle coppie di chiavi (cioè, è adatta per applicazioni in cui un gran numero di ciphertext può essere cifrato con un'unica chiave pubblica), e
  • Una variante effimera (chiamata eFrodoKEM) adatta per applicazioni in cui non molti ciphertext vengono cifrati con un'unica chiave pubblica.

A differenza di eFrodoKEM, il FrodoKEM standard utilizza un seed ingrandito per generare il seed per il campionamento delle matrici segrete e di errore, e include un sale aggiuntivo in uno dei calcoli di hashing durante l'incapsulamento e il decapsulamento. Queste contromisure proteggono il FrodoKEM standard da alcuni attacchi multi-ciphertext. Fare riferimento a [3] per maggiori dettagli su queste due varianti.

Concretamente, questa libreria include i seguenti schemi KEM che utilizzano AES128 per la generazione della matrice pubblica "A":

  • FrodoKEM-640-AES e eFrodoKEM-640-AES: corrispondenti alla sicurezza post-quantistica di AES128.
  • FrodoKEM-976-AES e eFrodoKEM-976-AES: corrispondenti alla sicurezza post-quantistica di AES192.
  • FrodoKEM-1344-AES e eFrodoKEM-1344-AES: corrispondenti alla sicurezza post-quantistica di AES256.

E i seguenti schemi KEM che utilizzano SHAKE128 per la generazione della matrice pubblica "A":

  • FrodoKEM-640-SHAKE e eFrodoKEM-640-SHAKE: corrispondenti alla sicurezza post-quantistica di AES128.
  • FrodoKEM-976-SHAKE e eFrodoKEM-976-SHAKE: corrispondenti alla sicurezza post-quantistica di AES192.
  • FrodoKEM-1344-SHAKE e eFrodoKEM-1344-SHAKE: corrispondenti alla sicurezza post-quantistica di AES256.

L'etichetta "eFrodoKEM" corrisponde alle varianti effimere.

La libreria è stata sviluppata dal team FrodoKEM e da Microsoft Research a scopo sperimentale.

Contenuti

  • cartella common: funzioni casuali, implementazioni di AES e SHA-3.
  • cartella eFrodoKEM: implementazioni in C e Python3 di eFrodoKEM.
  • cartella estimates: stime di crittanalisi di FrodoKEM riportate in [3].
  • cartella FrodoKEM: implementazioni in C e Python3 del FrodoKEM standard.
  • LICENSE: file di licenza MIT.
  • README.md: questo file readme.

Piattaforme Supportate

La libreria FrodoKEM è supportata su un'ampia gamma di piattaforme, inclusi processori x64, x86, ARM, PowerPC e s390x che eseguono Windows, Linux o macOS, e supporta sia i formati little-endian che big-endian. Abbiamo testato la libreria con Microsoft Visual Studio, GNU GCC e clang.

Licenza

Questo software è concesso in licenza sotto la MIT License; vedere il file LICENSE per i dettagli. L'implementazione in Python3 è concessa in licenza sotto la Creative Commons Zero v1.0 Universal license. Include alcuni moduli di terze parti concessi in licenza in modo diverso. In particolare:

  • common/aes/aes_c.c: pubblico dominio
  • common/aes/aes_ni.c: pubblico dominio
  • common/sha3/fips202.c: pubblico dominio
  • common/sha3/fips202x4.c: pubblico dominio
  • common/sha3/keccak4x: tutti i file in questa cartella sono di pubblico dominio (CC0), ad eccezione di
  • common/sha3/keccak4x/brg_endian.h che è protetto da copyright di Brian Gladman e viene distribuito con una licenza BSD a 3 clausole.
  • <FrodoKEM_variant>/tests/ds_benchmark.h: pubblico dominio
  • <FrodoKEM_variant>/tests/PQCtestKAT_kem<#>.c: protetto da copyright di Lawrence E. Bassham
  • <FrodoKEM_variant>/tests/PQCtestKAT_kem<#>_shake.c: protetto da copyright di Lawrence E. Bassham
  • <FrodoKEM_variant>/tests/rng.c: protetto da copyright di Lawrence E. Bassham

Riferimenti

[1] Erdem Alkim, Joppe W. Bos, Léo Ducas, Karen Easterbrook, Brian LaMacchia, Patrick Longa, Ilya Mironov, Michael Naehrig, Valeria Nikolaenko, Chris Peikert, Ananth Raghunathan e Douglas Stebila, "FrodoKEM: Learning With Errors Key Encapsulation". Sottomissione al progetto di standardizzazione post-quantistica NIST, 2021-2023. La specifica del round 3 di FrodoKEM è disponibile qui.

[2] Joppe W. Bos, Craig Costello, Léo Ducas, Ilya Mironov, Michael Naehrig, Valeria Nikolaenko, Ananth Raghunathan e Douglas Stebila, "Frodo: Take off the ring! Practical, quantum-secure key exchange from LWE". ACM CCS 2016, 2016. La versione preprint è disponibile qui.

[3] Lewis Glabush, Patrick Longa, Michael Naehrig, Chris Peikert, Douglas Stebila e Fernando Virdia, "FrodoKEM: A CCA-Secure Learning With Errors Key Encapsulation Mechanism". IACR Communications in Cryptology (in pubblicazione), 2025.

Contribuire

Questo progetto ha adottato il Microsoft Open Source Code of Conduct. Per maggiori informazioni vedere le FAQ sul Code of Conduct o contattare [email protected] per eventuali domande o commenti aggiuntivi.

Scarica lo strumento