awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
ARMmbed avatar

ARMmbed/mbedtls

0
View on GitHub↗
6,712 stars·2,905 forks·C·10 vueswww.trustedfirmware.org/projects/mbed-tls↗

Mbedtls

Mbed TLS is an open-source TLS and DTLS library with a small footprint, designed for embedded systems and IoT devices. It provides a portable cryptographic library that includes symmetric ciphers, hashing, and public-key cryptography, along with a reference implementation of the PSA Cryptography API for standardized cryptographic operations across platforms. The library also offers X.509 certificate management for parsing, validating, and managing certificate chains in secure communications.

The library is built around a platform abstraction layer that decouples it from OS-specific services through replaceable function pointers and compile-time macros. This allows developers to substitute individual cryptographic primitives with hardware-accelerated versions using compile-time ALT macros, integrate hardware security modules through the PSA Cryptoprocessor Driver Interface, and replace core services like memory allocation, file I/O, networking, and timing with custom implementations. The build system supports configurable feature selection, enabling developers to enable or disable specific TLS versions, key exchanges, elliptic curves, and cryptographic modules without modifying source code.

The library supports establishing secure TLS and DTLS connections, performing cryptographic operations including encryption, hashing, and signing, and managing digital certificates. It provides capabilities for custom entropy source registration, DTLS timer callbacks for handshake retransmission, and memory-buffer-based file I/O replacement for fully static operation. The library can be built from source using CMake or Make, and includes integration tests for verifying TLS interoperability across configurations.

Features

  • TLS Library Integrations - Provides a portable TLS and cryptography library designed for integration into resource-constrained embedded systems.
  • General TLS Connection Establishment - Establishes secure TLS connections with full handshake and cipher suite negotiation.
  • Public Key Cryptography - Implements asymmetric key pair operations for encryption, signing, and key exchange.
  • X.509 Certificate Parsers - Ships a full X.509 parser and encoder for certificate, key, and CRL structures.
  • Cryptographic Primitive Substitutions - Provides compile-time ALT macros for substituting cryptographic primitives with hardware-accelerated versions.
  • Build Feature Selectors - Allows selecting which TLS versions, key exchanges, elliptic curves, and cryptographic modules to include or exclude from the build.
  • PSA Cryptography Implementations - Ships a reference implementation of the PSA Cryptography API for standardized cryptographic operations across platforms.
  • TLS Libraries - Ships an open-source TLS and DTLS library with a small footprint for embedded systems and IoT devices.
  • Secure Session Negotiation - Provides a full TLS/DTLS library that negotiates encrypted sessions between devices.
  • Certificate Management - Parses, validates, and manages X.509 certificates and certificate chains for secure communications.
  • Cryptographic Hash Generation - Generates cryptographic hashes like SHA-256 for data integrity verification.
  • Cryptographic Libraries - Provides a portable library of symmetric ciphers, hashing, and public-key cryptography for diverse environments.
  • Cryptographic Operations - Provides a library of cryptographic primitives including encryption, hashing, and signing via the PSA Crypto API.
  • Cryptographic Primitives - Provides implementations of AES, RSA, ECC, and hashing algorithms for data protection.
  • PSA Crypto API Implementations - Implements the PSA Cryptography API for standardized cryptographic operations across platforms.
  • X.509 Certificate Parsing and Validation - Parses, validates, and manages X.509 certificates for authentication in secure communications.
  • Certificate Trust Validation - Parses and verifies X.509 certificate chains to authenticate peers and establish trust.
  • General Data Encryption - Encrypts data using symmetric and asymmetric algorithms to protect confidentiality.
  • Certificate Chain Validation - Validates certificate trust chains against trusted root authorities for peer authentication.
  • SSL/TLS Connection Security - Establishes secure encrypted channels using the TLS protocol with mutual certificate authentication.
  • Symmetric Encryption - Provides symmetric encryption algorithms like AES for data confidentiality.
  • TLS Transfer Security - Secures network data transfers using TLS and DTLS protocols with certificate validation.
  • Build-Time Feature Toggles - Uses compile-time macros and Python scripts to enable or disable cryptographic modules and protocol features during the build process.
  • Platform Abstraction Layers - Decouples the library from OS-specific services like file I/O, memory allocation, networking, and timing through replaceable function pointers and macros.
  • DTLS Protocol Implementations - Implements the DTLS protocol for secure datagram communication in IoT and real-time applications.
  • DTLS Session Managers - Supports full DTLS session management with handshake retransmission for unreliable transports.
  • PSA Cryptoprocessor Integrations - Offloads cryptographic operations to dedicated hardware through the PSA Cryptoprocessor Driver Interface.
  • TLS/DTLS Handshake Testers - Includes integration tests that verify TLS and DTLS handshake completion and data transfer correctness.
  • DTLS Handshake Timer Callbacks - Provides custom timer callbacks for DTLS handshake retransmission in environments without a built-in timing module.
  • Cryptoprocessor Driver Interfaces - Implements a standardized driver model for hardware security modules to replace software cryptographic implementations.
  • Custom Network Transport Layers - Swaps the default BSD-sockets network module with custom read and write callbacks for any transport stack.
  • File Stream Function Replacements - Disables or replaces file stream functions used for reading certificates, keys, and seed files.
  • Pluggable Network I/O Stacks - Swaps the built-in socket module with custom networking callbacks or a third-party stack like lwIP.
  • Memory-Buffer File I/O Replacements - Removes all file I/O dependencies by providing memory-buffer equivalents for every file-accessing function.
  • Custom Memory Allocators - Substitutes dynamic memory functions with custom allocators or a static buffer-based allocator.
  • Platform-Specific Libc Replacements - Replaces standard libc functions with platform-specific implementations using configuration flags and abstraction layers.
  • Hardware-Accelerated Primitive Substitutions - Ships compile-time ALT macros to substitute cryptographic primitives with hardware-accelerated implementations.
  • Certificate Validity Skippers - Provides a configuration option to skip certificate expiration checks when no real-time clock is available.
  • Hardware Security Module Integrations - Supports cryptoprocessor drivers through the PSA Cryptoprocessor Driver Interface for hardware-accelerated security.
  • Predefined Security Configurations - Ships predefined configuration files for specific security profiles like NSA Suite B to minimize resource usage.
  • Library Feature Configurators - Supports compile-time configuration of TLS versions, key exchanges, elliptic curves, and cryptographic modules.
  • Memory-Buffer File I/O Replacements - Provides memory-buffer equivalents for all file-accessing functions to enable fully static operation without a filesystem.
  • Pluggable Entropy Sources - Allows registering platform-specific entropy collection functions into the random number generator pool.
  • Custom Entropy Source Registrations - Ships a registration API for adding platform-specific entropy collection functions to the random number generator pool.
  • Integration Testing Suites - Includes integration tests that verify TLS interoperability across configurations and cipher suites.
  • Embedded Software Libraries - Portable and flexible SSL/TLS library.
  • Embedded System Utilities - Portable SSL library for embedded security.
  • Embedded Utility Libraries - Portable and flexible SSL/TLS library for secure communication.
  • Cryptography Libraries - Portable and flexible library for SSL and TLS protocols.

Historique des stars

Graphique de l'historique des stars pour armmbed/mbedtlsGraphique de l'historique des stars pour armmbed/mbedtls

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Questions fréquentes

Que fait armmbed/mbedtls ?

Mbed TLS is an open-source TLS and DTLS library with a small footprint, designed for embedded systems and IoT devices. It provides a portable cryptographic library that includes symmetric ciphers, hashing, and public-key cryptography, along with a reference implementation of the PSA Cryptography API for standardized cryptographic operations across platforms. The library also offers X.509 certificate management for parsing, validating, and managing certificate chains in…

Quelles sont les fonctionnalités principales de armmbed/mbedtls ?

Les fonctionnalités principales de armmbed/mbedtls sont : TLS Library Integrations, General TLS Connection Establishment, Public Key Cryptography, X.509 Certificate Parsers, Cryptographic Primitive Substitutions, Build Feature Selectors, PSA Cryptography Implementations, TLS Libraries.

Quelles sont les alternatives open-source à armmbed/mbedtls ?

Les alternatives open-source à armmbed/mbedtls incluent : mbed-tls/mbedtls — Mbed TLS is a C library that provides a full implementation of the TLS and DTLS protocols for secure network… digitalbazaar/forge — Forge is a JavaScript cryptography library providing a comprehensive set of tools for symmetric and asymmetric… guanzhi/gmssl — GmSSL is an open-source cryptographic library that implements the Chinese national cryptographic standards SM2, SM3,… phpseclib/phpseclib — phpseclib is a pure-PHP cryptographic library that provides a comprehensive suite of cryptographic operations entirely… nasa/fprime — F Prime is a component-based framework designed for the development and deployment of embedded and spaceflight… weidai11/cryptopp — Crypto++ is a comprehensive C++ cryptographic library that implements a broad range of algorithms for symmetric and…

Alternatives open source à Mbedtls

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Mbedtls.
  • mbed-tls/mbedtlsAvatar de Mbed-TLS

    Mbed-TLS/mbedtls

    6,711Voir sur GitHub↗

    Mbed TLS is a C library that provides a full implementation of the TLS and DTLS protocols for secure network communication, a library of fundamental cryptographic primitives, and a reference implementation of the PSA Cryptography API. It also includes libraries for parsing, validating, and managing X.509 digital certificates, as well as support for integrating hardware cryptoprocessors through the PSA Cryptoprocessor Driver Interface. The library is designed for resource-constrained environments and is built from source with a customizable feature set, allowing developers to select which TLS

    Ccryptocryptography-librarypsa
    Voir sur GitHub↗6,711
  • digitalbazaar/forgeAvatar de digitalbazaar

    digitalbazaar/forge

    5,311Voir sur GitHub↗

    Forge is a JavaScript cryptography library providing a comprehensive set of tools for symmetric and asymmetric encryption, hashing, and digital signatures. It includes a full Transport Layer Security implementation for establishing secure network connections and managing encrypted traffic. The project implements a wide array of public key infrastructure tools, including X.509 certificate management, the generation of certificate signing requests, and the validation of certificate chains. It provides a PKCS cryptographic toolkit for handling secure archives and signed messages, alongside suppo

    JavaScript
    Voir sur GitHub↗5,311
  • guanzhi/gmsslAvatar de guanzhi

    guanzhi/GmSSL

    6,075Voir sur GitHub↗

    GmSSL is an open-source cryptographic library that implements the Chinese national cryptographic standards SM2, SM3, SM4, SM9, and ZUC as a unified algorithm suite. It provides a comprehensive set of cryptographic primitives including symmetric and asymmetric encryption, digital signatures, hashing, and key exchange, all built around these national standards for government and enterprise security applications. The library distinguishes itself through several integration capabilities. It includes an OpenSSL compatibility layer that maps GmSSL functions to OpenSSL API calls, enabling drop-in re

    Ccryptoencryptionpairing
    Voir sur GitHub↗6,075
  • phpseclib/phpseclibAvatar de phpseclib

    phpseclib/phpseclib

    5,572Voir sur GitHub↗

    phpseclib is a pure-PHP cryptographic library that provides a comprehensive suite of cryptographic operations entirely without requiring compiled C extensions. At its core, it implements arbitrary-precision integer arithmetic for big-number math, ASN.1 DER encoding and decoding for working with cryptographic data structures, and a full set of pure-PHP cryptographic primitives. The library is designed to operate on PHP 5.6 and above, automatically detecting and using native extensions like GMP or BCMath when available, but falling back to its own pure-PHP implementations when they are not. The

    PHP
    Voir sur GitHub↗5,572
Voir les 30 alternatives à Mbedtls→