Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
PQCrypto-LWEKE — Biblioteca em C que implementa o FrodoKEM, um mecanismo de encapsulamento de chaves pós-quântico baseado no problema Learning with Errors, com variantes para AES e SHAKE, incluindo modos efêmero e padrão. | Kitploit
Ferramentas/GitHubGitHub/microsoft/pqcrypto-lweke
Ferramentas de Criptografia/DescriptografiaVirtualização para SegurançaCriptografia
GitHubmicrosoft/pqcrypto-lweke

PQCrypto-LWEKE

Biblioteca em C que implementa o FrodoKEM, um mecanismo de encapsulamento de chaves pós-quântico baseado no problema Learning with Errors, com variantes para AES e SHAKE, incluindo modos efêmero e padrão.

Ver RepositórioSite
165537há 11 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

FrodoKEM: Encapsulamento de Chave com Learning with Errors

Esta biblioteca em C implementa o FrodoKEM, um protocolo de encapsulamento de chave (KEM) seguro sob IND-CCA baseado no bem estudado problema Learning with Errors (LWE) [1,3], que por sua vez tem conexões estreitas com problemas conjecturados como difíceis em reticulados genéricos e "algebricamente não estruturados". Este pacote também inclui implementações de referência em Python. FrodoKEM é conjecturado como seguro contra ataques de computadores quânticos.

FrodoKEM consiste em duas variantes principais:

  • Uma variante padrão (simplesmente chamada FrodoKEM) que não impõe nenhuma restrição à reutilização de pares de chaves (ou seja, é adequada para aplicações em que um grande número de textos cifrados pode ser criptografado para uma única chave pública), e
  • Uma variante efêmera (chamada eFrodoKEM) que é adequada para aplicações em que não muitos textos cifrados são criptografados para uma única chave pública.

Em contraste com o eFrodoKEM, o FrodoKEM padrão usa uma semente ampliada para gerar a semente para amostragem das matrizes secretas e de erro, e inclui um sal adicional em uma das computações de hash no encapsulamento e desencapsulamento. Essas contramedidas protegem o FrodoKEM padrão contra alguns ataques de múltiplos textos cifrados. Consulte [3] para mais detalhes sobre essas duas variantes.

Concretamente, esta biblioteca inclui os seguintes esquemas KEM usando AES128 para a geração da matriz pública "A":

  • FrodoKEM-640-AES e eFrodoKEM-640-AES: correspondendo à segurança pós-quântica do AES128.
  • FrodoKEM-976-AES e eFrodoKEM-976-AES: correspondendo à segurança pós-quântica do AES192.
  • FrodoKEM-1344-AES e eFrodoKEM-1344-AES: correspondendo à segurança pós-quântica do AES256.

E os seguintes esquemas KEM usando SHAKE128 para a geração da matriz pública "A":

  • FrodoKEM-640-SHAKE e eFrodoKEM-640-SHAKE: correspondendo à segurança pós-quântica do AES128.
  • FrodoKEM-976-SHAKE e eFrodoKEM-976-SHAKE: correspondendo à segurança pós-quântica do AES192.
  • FrodoKEM-1344-SHAKE e eFrodoKEM-1344-SHAKE: correspondendo à segurança pós-quântica do AES256.

O rótulo "eFrodoKEM" corresponde às variantes efêmeras.

A biblioteca foi desenvolvida pela equipe FrodoKEM e pela Microsoft Research para fins de experimentação.

Conteúdo

  • Pasta common: funções aleatórias, implementações de AES e SHA-3.
  • Pasta eFrodoKEM: implementações em C e Python3 do eFrodoKEM.
  • Pasta estimates: estimativas de criptoanálise do FrodoKEM relatadas em [3].
  • Pasta FrodoKEM: implementações em C e Python3 do FrodoKEM padrão.
  • LICENSE: arquivo de licença MIT.
  • README.md: este arquivo readme.

Plataformas Suportadas

A biblioteca FrodoKEM é suportada em uma ampla gama de plataformas, incluindo processadores x64, x86, ARM, PowerPC e s390x executando Windows, Linux ou macOS, e suporta formatos little-endian e big-endian. Testamos a biblioteca com Microsoft Visual Studio, GNU GCC e clang.

Licença

Este software é licenciado sob a Licença MIT; consulte o arquivo LICENSE para detalhes. A implementação em Python3 é licenciada sob a licença Creative Commons Zero v1.0 Universal. Inclui alguns módulos de terceiros que são licenciados de forma diferente. Em particular:

  • common/aes/aes_c.c: domínio público
  • common/aes/aes_ni.c: domínio público
  • common/sha3/fips202.c: domínio público
  • common/sha3/fips202x4.c: domínio público
  • common/sha3/keccak4x: todos os arquivos nesta pasta são de domínio público (CC0), exceto
  • common/sha3/keccak4x/brg_endian.h que tem direitos autorais de Brian Gladman e vem com uma licença BSD de 3 cláusulas.
  • <FrodoKEM_variant>/tests/ds_benchmark.h: domínio público
  • <FrodoKEM_variant>/tests/PQCtestKAT_kem<#>.c: com direitos autorais de Lawrence E. Bassham
  • <FrodoKEM_variant>/tests/PQCtestKAT_kem<#>_shake.c: com direitos autorais de Lawrence E. Bassham
  • <FrodoKEM_variant>/tests/rng.c: com direitos autorais de Lawrence E. Bassham

Referências

[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". Submissão ao projeto de Padronização Pós-Quântica do NIST, 2021-2023. A especificação da rodada 3 do FrodoKEM está disponível aqui.

[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. A versão preprint está disponível aqui.

[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 (a publicar), 2025.

Contribuindo

Este projeto adotou o Código de Conduta de Código Aberto da Microsoft. Para mais informações, consulte as Perguntas Frequentes sobre o Código de Conduta ou entre em contato com [email protected] com quaisquer perguntas ou comentários adicionais.

Baixar ferramenta