awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
kokke avatar

kokke/tiny-AES128-C

0
View on GitHub↗
4,968 stars·1,392 forks·C·Unlicense·22 views

Tiny AES128 C

This is a symmetric cryptography library written in C that provides a portable implementation of the Advanced Encryption Standard. It functions as a block cipher implementation supporting 128, 192, and 256 bit key sizes for encrypting and decrypting data.

The library includes an AES cipher mode provider that supports electronic codebook, cipher block chaining, and counter modes. These operational modes are decoupled from the core block transformation to allow for different encryption patterns.

The implementation utilizes static memory allocation and table-based substitution to avoid dynamic memory management and replace complex algebraic operations with memory accesses. It employs a key-schedule expansion to transform initial keys into round keys used during the iterative transformation process.

Features

  • Block Cipher Implementations - Provides a complete implementation of the AES block cipher for secure data encryption.
  • Cipher Block Modes - Supports multiple operational patterns including electronic codebook, cipher block chaining, and counter modes.
  • Portable C Implementations - Provides a portable implementation written in standard C to ensure cross-platform compatibility across hardware architectures.
  • C Security Libraries - Provides standard encryption capabilities to low-level software projects without requiring large external dependencies.
  • Symmetric Encryption - Implements symmetric data encryption using the AES algorithm with 128, 192, and 256 bit key lengths.
  • AES Implementations - Provides a portable C implementation of the Advanced Encryption Standard for symmetric encryption.
  • Static Memory Allocations - Uses fixed-size buffers for keys and state arrays to avoid dynamic memory management.
  • C Cryptography Libraries - Offers a portable and lightweight C implementation suitable for resource-constrained embedded environments.
  • Round Key Derivation - Transforms initial keys into a sequence of round keys used throughout the encryption process.
  • Iterative Round Transformations - Implements repetitive cycles of substitution and permutation as part of the core AES block transformation.
  • S-Box Substitution Tables - Employs precomputed lookup tables for fast non-linear byte substitution in the AES algorithm.
  • Cipher Mode Engines - Provides an engine to process data through various cipher modes like CBC, CTR, and ECB.
  • Cryptographic Libraries - Small, portable implementation of AES128 in C.
  • Security And Privacy - Compact, portable AES128 encryption implementation.

Star history

Star history chart for kokke/tiny-aes128-cStar history chart for kokke/tiny-aes128-c

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does kokke/tiny-aes128-c do?

This is a symmetric cryptography library written in C that provides a portable implementation of the Advanced Encryption Standard. It functions as a block cipher implementation supporting 128, 192, and 256 bit key sizes for encrypting and decrypting data.

What are the main features of kokke/tiny-aes128-c?

The main features of kokke/tiny-aes128-c are: Block Cipher Implementations, Cipher Block Modes, Portable C Implementations, C Security Libraries, Symmetric Encryption, AES Implementations, Static Memory Allocations, C Cryptography Libraries.

What are some open-source alternatives to kokke/tiny-aes128-c?

Open-source alternatives to kokke/tiny-aes128-c include: kokke/tiny-aes-c — tiny-AES-c is a lightweight C language cryptography library that provides a symmetric cipher implementation of the… awslabs/s2n — s2n is a C-based security library and TLS protocol implementation that serves as a secure network transport layer. It… keepassx/keepassx — KeePassX is a cross-platform password vault application and database manager that stores usernames and passwords in an… bitwiseshiftleft/sjcl — sjcl is a JavaScript cryptography library providing a collection of primitives for encryption, hashing, and encoding… pyca/cryptography — This project is a Python cryptography library that provides a collection of cryptographic primitives and high-level… phpseclib/phpseclib — phpseclib is a pure-PHP cryptographic library that provides a comprehensive suite of cryptographic operations entirely…

Open-source alternatives to Tiny AES128 C

Similar open-source projects, ranked by how many features they share with Tiny AES128 C.
  • kokke/tiny-aes-ckokke avatar

    kokke/tiny-AES-c

    4,863View on GitHub↗

    tiny-AES-c is a lightweight C language cryptography library that provides a symmetric cipher implementation of the Advanced Encryption Standard. It functions as a portable set of functions for encrypting and decrypting data using a shared secret key. The library is designed for embedded system security, enabling cryptographic operations on hardware with limited memory and processing power. It provides these capabilities without relying on large external dependencies. The implementation utilizes a standard C library approach, employing table-based substitution and in-place buffer mutation to

    C
    View on GitHub↗4,863
  • awslabs/s2nawslabs avatar

    awslabs/s2n

    4,736View on GitHub↗

    s2n is a C-based security library and TLS protocol implementation that serves as a secure network transport layer. It provides a modular cryptographic backend interface to encrypt data streams, manage handshakes, and handle mutual authentication between peers. The project focuses on post-quantum cryptography, integrating quantum-resistant key exchange and digital signatures to protect connections against future computing threats. It distinguishes itself through security hardening measures, such as memory-locked secret storage to prevent keys from being swapped to disk and timing-attack mitiga

    C
    View on GitHub↗4,736
  • keepassx/keepassxkeepassx avatar

    keepassx/keepassx

    4,523View on GitHub↗

    KeePassX is a cross-platform password vault application and database manager that stores usernames and passwords in an encrypted file. It utilizes the KeePass database format to secure records using a master password or an optional key file. The application includes an automatic form filler that populates login fields in external applications and a secure password generator for creating high-entropy randomized passwords. The system provides tools for organizing credentials through custom metadata and grouping, alongside utilities for searching records and importing or exporting data.

    C++
    View on GitHub↗4,523
  • bitwiseshiftleft/sjclbitwiseshiftleft avatar

    bitwiseshiftleft/sjcl

    7,208View on GitHub↗

    sjcl is a JavaScript cryptography library providing a collection of primitives for encryption, hashing, and encoding within a web browser. It functions as an AES symmetric encryption tool, a cryptographic hashing library, and a Base32 data encoder. The project provides implementations for the Advanced Encryption Standard to secure data through symmetric key encryption and decryption. It also enables the generation of fixed-length data fingerprints to verify information integrity and authenticity. The library covers a broader range of security capabilities, including client-side data hashing,

    JavaScript
    View on GitHub↗7,208
  • See all 30 alternatives to Tiny AES128 C→