Overview
openHiTLS aims to provide efficient and agile cryptography suites for all scenarios. With the elastic architecture of hierarchical modules and features, features can be selected and constructed as required, supporting applications in all scenarios to meet different requirements for RAM and ROM, computing performance, and feature satisfaction. Currently, openHiTLS supports cryptographic algorithms, secure communication protocols (TLS, DTLS, and TLCP), performance optimization of commercial encryption algorithms based on ARM and x86, and supports Hybrid Key Exchange and Post-Quantum cryptographic algorithms. More features are to be planned and welcome to participate in co-construction.
Feature Description
1. Supported Features
1.1 Key Functional Features
Post-Quantum Algorithms
- ML-KEM
- ML-DSA
- SLH-DSA
- XMSS
- Classic McEliece
- FrodoKEM
Protocol Support
- TLS1.3, TLS1.3-Hybrid-Key-Exchange, TLS-Provider, TLS-Multi-KeyShare, TLS-Custom-Extension
- TLCP, DTLCP
- TLS1.2, DTLS1.2
Symmetric Algorithms
- AES, SM4, Chacha20, and various symmetric encryption modes.
Traditional Asymmetric Algorithms
- RSA, RSA-Bind, DSA, ECDSA, EDDSA, ECDH, DH, SM2, SM9, Paillier, ElGamal
Authentication Protocols
- Privacy Pass, HOTP, TOTP, SPAKE2+
Others
- DRBG, GM-DRBG
- HKDF, SCRYPT, PBKDF2
- SHA1, SHA2, SHA3, SHA256-MB, MD5, SM3
- HMAC, CMAC
- HPKE
Certificates and PKI
- Post-Quantum certificates
- Certificate and CRL parsing and verification
- Certificate requests and generation
- Certificate chain generation, partial/full certificate chain validation
- PKCS7, PKCS8, PKCS12
Command Line Tools
- Basic commands, random numbers, encryption and decryption
- Key and parameter management
- Certificate and PKI management
- SSL/TLS client and server
1.2 Non-Functional Features
Elastic Architecture
- Highly modular features, support on-demand trimming
- Protocol minimization configuration
- Handshake buffer memory minimization
Performance Optimization
- Algorithm performance optimization based on ARMv8, ARMv7, x86_64 CPU
- ML-KEM performance optimization
Maintainability and Testability
- Logging and error stack functionality
- BSL_ERR module ErrorStack printing
- Enhanced sensitive data cleanup
2. Planned Features
- Further optimization and integration of post-quantum cryptographic algorithms
- Further performance optimization and memory footprint reduction
- Support for more platforms