Recent releases of wolfSSL have included new assembly code targeted at the Intel x86_64 platform. Large performance gains have been made which are being discussed over a six blog post series. In this first blog, we will talk about the performance of AES-GCM. The assembly code for AES-GCM has been rewritten to take best advantage of the […]
Read MoreMore TagCategory: Uncategorized
wolfSSL 3.15.3 Now Available
wolfSSL is proud to announce release version 3.15.3 of the wolfSSL embedded TLS library. This release contains bug fixes and new features, which include: ECDSA blinding added for hardening against side channel attacks Fix for OpenSSL compatibility layer build with no server (NO_WOLFSSL_SERVER) and no client (NO_WOLFSSL_CLIENT) defined Intel assembly instructions support for compatible AMD processors […]
Read MoreMore TagwolfSSL in stunnel TLS Proxy
Since version 3.6.6, wolfSSL has had continually improving support for stunnel, a lightweight TLS proxy, designed to add SSL/TLS encryption to unsecured applications without changes to the program`s source code. Licensed under GNU GPLv2 and with an alternative commercial option, stunnel can be utilized to secure a host of different applications, including: mail exchange (SMTP, […]
Read MoreMore TagwolfMQTT connects with IBM’s Watson IoT Platform
With the latest wolfMQTT v1.1 release you can easily connect your devices running wolfMQTT to IBM’s Watson IoT Platform. Trying out wolfMQTT is simple using the provided MQTT client example and your IBM Cloud account. The default example provides a link to the IBM Quickstart broker where you can view a graph generated by the […]
Read MoreMore TagwolfSSL now has lwIP support
The wolfSSL (formerly CyaSSL) embedded SSL library supports lwIP, the light weight internet protocol implementation, out of the box. The user merely needs to define WOLFSSL_LWIP or uncomment the line /* #define WOLFSSL_LWIP */ in os_settings.h to use wolfSSL with lwIP. The focus of lwIP is to reduce RAM usage while still providing a […]
Read MoreMore TagIntro to PKCS #5: Password-Based Cryptography Specification
Our third post in our PKCS series, we will be looking at PKCS #5. PKCS #5 is the Password-Based Cryptography Specification and is currently defined by version 2.0 of the specification. It is defined in RFC 2898 http://tools.ietf.org/html/rfc2898. It applies a pseudorandom function, such as a cryptographic hash, cipher, or HMAC to the input password or passphrase […]
Read MoreMore TagWhat is a Stream Cipher?
A stream cipher encrypts plaintext messages by applying an encryption algorithm with a pseudorandom cipher digit stream (keystream). Each bit of the message is encrypted one by one with the corresponding keystream digit. Stream ciphers are typically used in cases where speed and simplicity are both requirements. If a 128 bit block cipher such as […]
Read MoreMore TagWhen to use Pre Shared Key (PSK) Cipher Suites
PSK cipher suites are a superb choice in low resource environments where both ends of the connection can be controlled. With PSK, each side of the connection has an already agreed upon key to use rather than agreeing on one during the TLS handshake. This reduces resource consumption for each session using PSK. For example, […]
Read MoreMore TagDifferences between TLS 1.2 and TLS 1.3 (#TLS13)
With the release of TLS 1.3, there are promises of enhanced security and speed. But how exactly do the changes from TLS 1.2 to TLS 1.3 cause these improvements? The following is a list of differences between TLS 1.2 and 1.3 that shows how the improvements are achieved. wolfSSL is among the first libraries to support […]
Read MoreMore TagWhat is a Block Cipher?
A block cipher is an encryption method that applies a deterministic algorithm along with a symmetric key to encrypt a block of text, rather than encrypting one bit at a time as in stream ciphers. For example, a common block cipher, AES, encrypts 128 bit blocks with a key of predetermined length: 128, 192, or […]
Read MoreMore Tag
