Small Footprint
- < 50KB code size
- MatrixSSL

Other SSL 
RAM Footprint
- 12KB during key negotitation
- 4KB per connected session
- 16KB maximum for input and output SSL buffers
Ciphers and Keylengths
- RSA and DH public/private keys up to 4096 bits
- AES, 3DES, RC4, SEED, SHA-1, MD5, MD2
- Support strong AES-256 and SHA-256 as well as standard 128 bit keylengths for other ciphers
- Support for South Korean government SEED Cipher
Key Negotiation
- SSL 3.0, TLS 1.0 and TLS 1.1
- RSA and Diffie-Hellman key exchange
- X.509 client and server authentication
- Ephemeral ciphers for perfect forward security
- Pre-shared Key (PSK) ciphers for fast authentication
- Anonymous (secure but non authenticated connections)
Supporting Technology
- Memory Interface - Encrypt and decrypt memory buffers directly to the TLS protocol
- Sockets Interface - read and write cleartext directly into a TLS socket
- Multiple sample Client and Server SSL applications
- API and Development documentation
- Rapid Development support
- PeerSec Core Technology
Interfaces and Layers
- C API compatible with C and C++ applications
- Static and dynamic library targets
- Direct support for MbedThis AppWeb, GoAhead Web Server
- 3rd party support for Perl API and ipvsd
|
System Requirements
- MatrixSSL does not require memory allocation, file system or multithread thread primitives
- (Required) System or hardware source for random number generation
- (Required for Server) Time APIs for session cache
- (Optional) Use system malloc implementation rather than PeerSec Core Allocator
- (Optional) Read certificates and keys from files rather than memory
- (Optional) pthread_mutex or CriticalSection support for multithreaded synchronization
Supported Platforms
- MatrixSSL supports all operating systems and has been ported to OSs including VxWorks, uClinux, eCos, pSOS, Nucleus, BREW, Linux, Mac OS X, Windows and PocketPC
- MatrixSSL has been deployed on systems with no OS, filesystem or memory management.
- Ported platforms include ARM7, MIPS32, PowerPC and i386.
Cipher Suites
SSL_NULL_WITH_NULL_NULL
SSL_RSA_WITH_NULL_MD5
SSL_RSA_WITH_NULL_SHA
SSL_RSA_WITH_RC4_128_MD5
SSL_RSA_WITH_RC4_128_SHA
SSL_RSA_WITH_3DES_EDE_CBC_SHA
SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA
SSL_DH_anon_WITH_RC4_128_MD5
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_DHE_RSA_WITH_AES_128_CBC_SHA
TLS_DHE_RSA_WITH_AES_256_CBC_SHA
TLS_DH_anon_WITH_AES_128_CBC_SHA
TLS_DH_anon_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_SEED_CBC_SHA
TLS_PSK_WITH_AES_128_CBC_SHA
TLS_DHE_PSK_WITH_AES_128_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
|