An introduction to the etherFAX SENx Encryption Library.

The etherFAX SENx Encryption Library for .NET provides developers with sophisticated encryption technologies to send and receive documents through the etherFAX network using true end-to-end encryption based on methods defined by the ECIES (Elliptic Curve Integrated Encryption Scheme).

The etherFAX network is comprised of millions of endpoints, many with termination service for a phone number. As etherFAX is both a telephone company and a data service provider, the term Secure Exchange Network (or SEN) is used to depict direct communication between peers within the etherFAX network. SENx is an encryption framework that allows these peers to also encrypt and decrypt information from the time it leaves the application or device, to the time it arrives at its destination.

As the name implies, ECIES is a hybrid encryption scheme that defines methods to secure and transfer information between two endpoints. These methods start with the use of Elliptic Curve Cryptography to generate a shared secret between peers to seed the encryption process with unique keying material while further protecting the information using signing and authentication mechanisms to assure the validity of the data in transit.

Here's a typical workflow when sending an encrypted document:




Lookup phone number (route) using etherFAX REST API.


Determine if encryption is enabled and the route has a public key.


If the route has a public key, encrypt the document using public key into a cryptogram.


Transmit cryptogram (byte[]) to etherFAX using SendFax() method.

In these next sections, we'll show you how to initialize the encryption library and send your first encrypted document.

This library is provided as a NuGet package that can be installed manually or through the NuGet Package Manager in Visual Studio.

:link: EtherFax.Encryption NuGet Gallery


SENx Library

The etherFAX SENx Encryption Library can function independently of the etherFAX service.