Rebex .NET components R5.1: Faster Chacha20/Poly1305 and simplified release naming

  |   Lukas Pokorny

Starting with our latest release, R5.1, we simplified our release naming scheme by dropping the year from the release name. Instead of 2020 R5.1, the new release is called just R5.1. We believe this change will make our release names more meaningful and easier to understand.

The R5.1 release is a small upgrade to (2020) R5.0 that brings faster Chacha20/Poly1305 encryption, compatiblity enhancements, and more. The next release will be called R5.2, followed by R5.3, and so on, until the next major upgrade.

Faster Chacha20/Poly1305 (mostly in .NET 5.0)

Chacha20/Poly1305, a combo of ChaCha20 stream cipher and Poly1305 authenticator in a single AEAD cipher, has recently become a popular symmetric encryption algorithm both in TLS 1.3/1.2 and in SSH. But although Rebex components already supported this cipher, the fully managed .NET implementation was not very fast.

Fortunately, .NET 5.0 offers a solution called hardware intrinsics, which makes it possible to utilize AVX2 (on Intel/AMD) or Advanced NEON SIMD (on ARM) instruction sets where available. By taking advantage of this, we made our Chacha20/Poly1305 implementation in SSH and TLS much faster. On Windows/ARM64, Chacha20/Poly1305 is now even faster than Windows native AES/GCM.

We also improved Chacha20/Poly1305 performance on older platforms, although not by such a big margin.

Improved compatibility of File Server with WinFsp/SSHFS

Windows File System Proxy (WinFsp) and SSHFS are open source system software packages that make it possible to mount a remote SFTP filesystem as a Windows drive.

But for some reason, when SSHFS performs a rename operation on a mounted SFTP filesystem, it first opens the file being renamed, and closes it when the rename is done. This caused the rename operation to fail with Rebex SFTP Server, because we were opening files without specifying the file sharing mode that would allow this. We changed this, and Rebex File Server is now compatible with SSHFS by default.

To restore the previous behavior, set FileServer.Settings.FileShareMode to FileShare.Read.

Support for 'Sensitivity' flag in EWS

Rebex EWS API now supports 'sensitivity'. We added Sensitivity property to EwsMessageInfo and EwsMessageMetadata classes. It's also possible to search by thtis property using EwsSearchParameter.Sensitivity(...).

And more...

For a complete list of changes, see the release history.

Also available for .NET Compact Framework

Although the end-of-life for .NET Compact Framework 3.5 next month is quickly approaching, we made most of R5.1 enhancements available to our customers with a Legacy Edition as well. See the release history of .NET CF edition for details.