s2n

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

s2n
Developer(s)Amazon Security Labs
Written inC99
Operating systemCross-platform
TypeSecurity library
LicenseApache License 2.0
Websitegithub.com/awslabs/s2n

s2n is an open-source implementation of the Transport Layer Security (TLS) protocol; the name comes from the signal-to-noise ratio.[1]

It is developed by the Amazon Security Labs as a way to provide some code that would be easier to review than OpenSSL.[1] It has been released on June 30, 2015 on GitHub.[2]

The code of s2n is about 6,000 lines long, compared to the 500,000 lines of OpenSSL. It has already been the subject of several external reviews as well as penetration testing.[1] It makes a strong focus on usability and simplicity.[2]

Features[edit]

TLS extensions[edit]

Common TLS extensions supported by this software are Server Name Indication, Application-Layer Protocol Negotiation and Online Certificate Status Protocol.

Cryptography[edit]

s2n support the main ciphers in use today, such as AES in CBC and GCM modes, 3DES and RC4. It also provides support for perfect forward secrecy through Diffie–Hellman or Elliptic curve Diffie–Hellman ephemeral keys.

The weaker ciphers and key exchange modes are disabled by default.[2]

Language Bindings[edit]

LuaJIT 2.0 binding

References[edit]