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
rust_citadel — Biblioteca de criptografia híbrida pós-quântica que combina X25519 + ML-KEM-768 com AES-256-GCM | Kitploit
Ferramentas/GitHubGitHub/mrcord77/rust_citadel
Autenticação e AutorizaçãoFerramentas de Criptografia/DescriptografiaCriptografiaSegurança na NuvemSegurança de API
GitHubmrcord77/rust_citadel

rust_citadel

Biblioteca de criptografia híbrida pós-quântica que combina X25519 + ML-KEM-768 com AES-256-GCM

Ver Repositório
2há 3 mesesAinda não revisado

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

Citadel

Servidor de criptografia híbrida pós-quântica e gerenciamento de chaves.

A Citadel combina X25519 + ML-KEM-768 para encapsulamento de chave e AES-256-GCM para criptografia de dados, seguindo a abordagem híbrida do NIST para a transição pós-quântica. Aplicações criptografam e descriptografam dados por meio de uma API REST. A Citadel gerencia as chaves — geração, rotação, revogação, controle de acesso e registro de auditoria.

Status: Implementação funcional. Não auditado. Sem implantações em produção. Consulte Segurança abaixo.


O Que Ela Faz

root@kitploit:~
Your Application              Citadel                         Database
       |                         |                               |
       |-- POST /encrypt ------->|                               |
       |                         |-- hybrid KEM (X25519+ML-KEM)  |
       |                         |-- derive AES-256 key (HKDF)   |
       |                         |-- encrypt with AES-256-GCM    |
       |<-- encrypted blob ------|                               |
       |                                                         |
       |-- store blob ------------------------------------------>|

Sua aplicação nunca toca no material bruto da chave. O bloco criptografado é autossuficiente — inclui a chave encapsulada, identificadores de algoritmo e o texto cifrado. Armazene-o em qualquer banco de dados. Descriptografe enviando-o de volta à Citadel com o mesmo AAD e contexto.

Arquitetura

root@kitploit:~
citadel-envelope    Hybrid encryption core (X25519 + ML-KEM-768 + AES-256-GCM)
citadel-keystore    Key lifecycle management, 4-level hierarchy, threat-adaptive policies
citadel-api         HTTP server, scoped API key auth, rate limiting, real-time dashboard

Início Rápido

Docker (recomendado)

root@kitploit:~
# Clone
git clone https://github.com/mrcord77/rust_citadel.git
cd rust_citadel

# Set your admin API key
echo -n "your-secret-key" | sha256sum | cut -d' ' -f1
# Copy the hash

# Start
CITADEL_API_KEY_HASH=<paste-hash> docker compose up -d

# Verify
curl http://localhost:3000/health
# {"status":"ok","version":"0.2.0"}

Painel: http://localhost:3000

A partir do Código-Fonte

Requer Rust 1.75+.

root@kitploit:~
cargo build --release -p citadel-api
CITADEL_API_KEY="your-secret-key" CITADEL_SEED_DEMO=true ./target/release/citadel-api

Uso

Python

root@kitploit:~
import requests

api = "http://localhost:3000"
headers = {"Authorization": "Bearer your-secret-key"}

# Encrypt
r = requests.post(f"{api}/api/keys/{dek_id}/encrypt", headers=headers, json={
    "plaintext": "sensitive data",
    "aad": "record-001",        # binds ciphertext to this record
    "context": "patient-records" # domain separation
})
blob = r.json()

# Decrypt
r = requests.post(f"{api}/api/decrypt", headers=headers, json={
    "blob": blob,
    "aad": "record-001",
    "context": "patient-records"
})
plaintext = r.json()["plaintext"]

Consulte citadel_example.py para um exemplo completo em funcionamento com vinculação de AAD, rotação de chaves e comportamento de aplicação ciente de ameaças.

curl

root@kitploit:~
# Status
curl http://localhost:3000/api/status -H "Authorization: Bearer $KEY"

# List keys
curl http://localhost:3000/api/keys -H "Authorization: Bearer $KEY"

# Encrypt
curl -X POST http://localhost:3000/api/keys/$DEK_ID/encrypt \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"plaintext":"hello","aad":"test","context":"demo"}'

Endpoints da API

Hierarquia de Chaves

root@kitploit:~
Root Key
  └── Domain Key (per environment / business unit)
        └── KEK — Key Encrypting Key (wraps DEKs)
              └── DEK — Data Encrypting Key (encrypts application data)

Segue o NIST SP 800-57. Cada nível contém o raio de impacto de um comprometimento — uma DEK vazada não expõe outras DEKs porque a KEK é separada.

Escopos de Chave de API

EscopoPermissões
readVisualizar chaves, status, métricas, nível de ameaça
encryptCriptografar e descriptografar dados

admin implica todos os outros escopos. Princípio do menor privilégio: conceda read a painéis de monitoramento, read + encrypt a serviços de aplicação e admin a ferramentas administrativas.

Sistema Adaptativo de Ameaças

A Citadel monitora eventos de segurança e ajusta automaticamente as políticas de chaves:

Eventos que elevam o nível de ameaça: autenticação falha, falhas de descriptografia, padrões de acesso rápidos, escalonamento manual. A pontuação decai ao longo do tempo.

Criptografia

Construção híbrida: ambos os segredos compartilhados são concatenados e alimentados por meio de HKDF. A segurança é mantida se qualquer um entre X25519 ou ML-KEM-768 permanecer seguro.

Formato de Transmissão

root@kitploit:~
version[1] || suite_kem[1] || suite_aead[1] || flags[1] || kem_ct_len[2] ||
x25519_ephemeral_pk[32] || mlkem768_ct[1088] || nonce[12] || aead_ct[variable]

Autodescritivo, versionado, sem negociação (previne ataques de downgrade). Consulte SPEC.md para a especificação completa.

Propriedades de Segurança

  • Comparação em tempo constante — a verificação de chave de API via crate subtle previne ataques de temporização
  • Zeroização — Todos os segredos compartilhados e chaves AES envolvidos em Zeroizing<T>, zerados ao serem descartados
  • Erros uniformes — Falhas de descriptografia retornam mensagens de erro idênticas (sem oráculo de descriptografia)
  • Log de auditoria com encadeamento de integridade — cadeia de hash SHA-256 detecta adulteração de log
  • Limite de taxa — bucket de tokens por IP com escalonamento de ameaça em violações

Segurança

A Citadel é um software não auditado.

A implementação usa primitivas padronizadas pelo NIST por meio de crates Rust estabelecidos (ml-kem, x25519-dalek, aes-gcm, hkdf). Ela não implementa nenhum algoritmo criptográfico. O valor está na composição correta, não em matemática inovadora.

O que foi feito:

  • Suíte de testes abrangente incluindo testes de resposta conhecida
  • Testes de fuzzing do parser de formato de transmissão e do caminho completo de descriptografia
  • Análise de temporização das operações de criptografia/descriptografia
  • Tratamento uniforme de erros para prevenir oráculos de descriptografia

O que NÃO foi feito:

  • Auditoria de segurança independente
  • Verificação formal
  • Validação FIPS
  • Implantação em produção

Não use para dados sensíveis sem revisão independente. Consulte SECURITY.md para relato de vulnerabilidades.

Conformidade

Mapeado contra 34 controles do NIST SP 800-57: 26 satisfeitos, 7 parciais, 1 lacuna. Consulte COMPLIANCE_MATRIX.md para o mapeamento completo.

Estruturas relevantes: NIST SP 800-57 (gerenciamento de chaves), CNSA 2.0 (cronograma PQC), HIPAA (criptografia em repouso), SOC 2 (controles de acesso e auditoria).

Estrutura do Projeto

root@kitploit:~
rust_citadel/
├── citadel-envelope/        # Core hybrid encryption library
│   ├── src/
│   │   ├── envelope.rs      # Encrypt/decrypt operations
│   │   ├── kem.rs           # X25519 + ML-KEM-768 hybrid KEM
│   │   ├── kdf.rs           # HKDF-SHA256 key derivation
│   │   ├── wire.rs          # Wire format encode/decode
│   │   ├── aead.rs          # AES-256-GCM wrapper
│   │   ├── aad.rs           # Additional authenticated data
│   │   ├── error.rs         # Uniform error types
│   │   └── sdk.rs           # High-level API
│   ├── tests/               # KAT + roundtrip tests
│   └── fuzz/                # Fuzz targets
├── citadel-keystore/        # Key lifecycle management
│   └── src/
│       ├── keystore.rs      # Key CRUD + state machine
│       ├── policy.rs        # Crypto-period policies
│       ├── threat.rs        # Adaptive threat intelligence
│       ├── storage.rs       # File-based key storage
│       ├── audit.rs         # Integrity-chained audit log
│       └── types.rs         # Key types and states
├── citadel-api/             # HTTP server
│   └── src/
│       ├── main.rs          # API routes, auth, rate limiting
│       └── dashboard.html   # Real-time security dashboard
├── citadel_example.py       # Python integration example
├── Backup-Citadel.ps1       # Backup/restore tooling
├── docker-compose.yml       # Development deployment
├── docker-compose-production.yml  # Production with TLS
├── SPEC.md                  # Wire format specification
├── THREAT_MODEL.md          # Security goals and attacker model
├── COMPLIANCE_MATRIX.md     # NIST 800-57 control mapping
└── CITADEL_OVERVIEW.md      # Commercial overview

Documentação

Licença

Este projeto é licenciado duplamente:

  • GNU Affero General Public License v3 (AGPL) — para uso open source
  • Licença Comercial — para uso proprietário ou comercial

Se você estiver usando este software em um ambiente comercial ou não desejar cumprir os termos da AGPL, deverá obter uma licença comercial.

Consulte COMMERCIAL_LICENSE.md para termos comerciais.

O texto completo da AGPL é fornecido em AGPL-3.0.txt e COPYING.

Contato: [email protected]

Autor

Andre Cordero — [email protected]

Baixar ferramenta
EndpointMétodoEscopoDescrição
/healthGET—Verificação de saúde
/api/statusGETreadNível de ameaça, contagens de chaves
/api/metricsGETreadMétricas de segurança
/api/keysGETreadListar todas as chaves
/api/keysPOSTmanageGerar nova chave
/api/keys/:idGETreadObter detalhes da chave
/api/keys/:id/activatePOSTmanageAtivar uma chave pendente
/api/keys/:id/rotatePOSTmanageRotacionar chave (nova versão)
/api/keys/:id/revokePOSTmanageRevogar chave permanentemente
/api/keys/:id/destroyPOSTmanageDestruir material de chave
/api/keys/:id/encryptPOSTencryptCriptografar dados
/api/decryptPOSTencryptDescriptografar dados
/api/threatGETreadDetalhes de inteligência de ameaças
/api/policiesGETreadPolíticas de chave ativas
/api/auth/whoamiGETreadInformações da chave de API atual
/api/auth/keysGETadminListar chaves de API
/api/auth/keysPOSTadminCriar chave de API
/api/auth/keys/:idDELETEadminRevogar chave de API
manageCriar, rotacionar, revogar, destruir chaves
adminTudo acima + gerenciar chaves de API
NívelGatilhoResposta
LOWOperações normaisPeríodos criptográficos padrão
GUARDEDAnomalias menoresRotação ligeiramente mais restrita
ELEVATEDPadrões suspeitosCronogramas de rotação compactados
HIGHIndicadores de ameaça ativosRotação forçada, limites de uso reduzidos
CRITICALSob ataqueRestrições máximas
ComponenteAlgoritmoPadrão
Encapsulamento de chave (clássico)X25519 ECDHRFC 7748
Encapsulamento de chave (pós-quântico)ML-KEM-768FIPS 203
Criptografia de dadosAES-256-GCMNIST SP 800-38D
Derivação de chaveHKDF-SHA256NIST SP 800-56C
DocumentoPúblico-alvo
SPEC.mdEspecificação do formato de transmissão
THREAT_MODEL.mdObjetivos de segurança e premissas
COMPLIANCE_MATRIX.mdMapeamento de conformidade NIST 800-57
CITADEL_OVERVIEW.mdPosicionamento comercial
SECURITY.mdRelato de vulnerabilidades
API_FREEZE.mdGarantias de estabilidade da API
DEPLOYMENT.mdGuia de implantação em produção
QUICKSTART.mdPrimeiros passos