MCPcopy Create free account
hub / github.com/bricke/Qt-AES

github.com/bricke/Qt-AES @v2.1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.1.0 ↗ · + Follow
131 symbols 362 edges 16 files 16 documented · 12% updated 3mo agov2.1.0 · 2026-03-25★ 56115 open issues

Browse by type

Functions 124 Types & classes 7
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Qt-AES

Small and portable AES encryption library for Qt

CI CI (AES-NI) CI (Sanitizers) CI (Fuzzing) CI (OpenSSL Cross-check) License: Unlicense

AES-128 · AES-192 · AES-256  |  ECB · CBC · CFB · OFB · CTR  |  PBKDF2 key derivation  |  AES-NI support


Features

  • All AES key sizes — 128, 192, 256 bit
  • Five cipher modes — ECB, CBC, CFB, OFB, CTR
  • Four padding schemes — ISO (default), PKCS7, ZERO, NONE (stream modes)
  • PBKDF2-HMAC key derivation (RFC 2898) — no QtNetwork required
  • Optional hardware acceleration via AES-NI (all modes)
  • Qt 5 and Qt 6 compatible
  • Single dependency: QtCore

Quick Start

Add to your CMakeLists.txt:

find_package(QtAES REQUIRED)
target_link_libraries(your_target PRIVATE QtAES::QtAES)
#include <QAESEncryption>

QAESEncryption enc(QAESEncryption::AES_256, QAESEncryption::CBC, QAESEncryption::PKCS7);
QByteArray cipher = enc.encode(plainText, key, iv);
QByteArray plain  = enc.removePadding(enc.decode(cipher, key, iv));

Documentation

Topic
Installation & CMake options docs/getting-started.md
API Reference docs/api-reference.md
Usage Examples & Best Practices docs/examples.md
AES-NI Acceleration docs/aesni.md
Testing & Fuzzing docs/testing.md

Disclaimer

This code is not audited or AES-certified by any competent authority. Use it at your own risk.


License

Released under the Unlicense — public domain, no restrictions.


Questions or suggestions? Open an issue on GitHub.

Core symbols most depended-on inside this repo

Shape

Method 95
Function 29
Class 5
Enum 2

Languages

C++100%

Modules by API surface

unit_test/aestest.cpp67 symbols
qaesencryption.cpp27 symbols
aesni/aesni-key-exp.h8 symbols
unit_test/aes_openssl_crosscheck.cpp6 symbols
qaesencryption.h5 symbols
aesni/aesni-key-init.h3 symbols
unit_test/aestest.h2 symbols
fuzz/fuzz_encrypt.cpp2 symbols
aesni/aesni-enc-ecb.h2 symbols
aesni/aesni-enc-cfb.h2 symbols
aesni/aesni-enc-cbc.h2 symbols
unit_test/aes_openssl_crosscheck_main.cpp1 symbols

For agents

$ claude mcp add Qt-AES \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page