ISARA Radiate Security Solution Suite 1.2

The ISARA Radiate Security Solution Suite provides a set of cryptographic primitives that let you develop software resistant to attacks by quantum computers. These primitives include:

  • SHA2 (Secure Hash Algorithm) and SHA3 hashes (256-bit and 512-bit)

  • HMAC (Hash-based Message Authentication Code) and Poly1305 message authentication codes

  • HMAC-DRBG (HMAC Deterministic Random Bit Generator) and SHAKE random number generators

  • RFC-5869, NIST SP 800-56A Alternative 1 Concatenation, and PBKDF2 (Password-Based Key Derivation Function) key derivation functions

  • LMS (Leighton-Micali Signature) scheme

  • LUKE (Lattice-based Unique Key Establishment) and NewHope key agreement schemes

  • McEliece QC-MDPC (Quasi-Cyclic Moderate Density Parity-Check) with CCA2 (Adaptive Chosen Ciphertext Attack) Gamma Conversion asymmetric cipher

  • ChaCha20 symmetric cipher

Change Log

Changes Since 1.1

  • NewHope’s iqr_NewHopeGetResponderPublicKeyAndSecret and LUKE’s iqr_LUKEGetResponderPublicKeyAndSecret now have proper camel case.

  • HMAC now responds properly to error conditions.

  • LMS samples updated to support Height 15 trees.

Changes Since 1.0

  • LMS APIs marked "Deprecated" as they’ll be changing due to the latest IETF draft.

  • Hash implementations now have initialize() and cleanup() methods.

  • MACs (HMAC and Poly1305) now use a generic API similar to Hashes.

  • LMS IETF parameters and XDR encodings have been removed; they belong in a higher-level library. Removed iqr_LMSCreateParamsIETF() and iqr_LMSGetIETFTypes().

  • iqr_LMSGetSignatureSize() was changed to iqr_LMSGetSignatureComponentSizes(), which is slightly different.

  • iqr_LMSSign() and iqr_LMSVerify() APIs changed to reflect the removal of XDR encoding.

  • LUKE and NewHope algorithms now have a simplified Responder API.

  • The RNG in iqr_Context has been removed, along with the iqr_RNGRegisterCallbacks() function. iqr_RNGCreate() now takes a callback structure directly.

  • FreeBSD (versions 10 and 11) is now a supported platform.

  • Windows is now a supported platform.

Contents

The toolkit is organized into several directories:

  • doc — API documentation (doc/library/index.html) and Developer’s Guide (doc/guide/guide.html).

  • include — toolkit headers.

  • one or more lib_architecture directories — toolkit static and shared libraries optimized for the given architecture.

  • samples — Sample programs demonstrating how to use the toolkit.

Getting Help

The latest version of the toolkit documentation is available on ISARA’s website:

Using the Toolkit

After unpacking the toolkit archive, you can start using it by adding the following command-line arguments to your compiler:

-I/path/to/isara_toolkit/include \
-L/path/to/isara_toolkit/lib_architecture \
-liqr_toolkit

where architecture is one of the available architectures in your archive. For example, the Ubuntu archive includes these versions of the libraries:

  • lib_bdver4 - AMD Piledriver CPUs

  • lib_core2 - Intel Core2 CPUs

  • lib_sandybridge - Intel Sandybridge CPUs

  • lib_skylake - Intel Skylake CPUs

  • lib_x86-64 - 64-bit AMD and Intel CPUs

  • lib_i7 - Intel Core i7 CPUs

Note
If you’re linking against the shared library, you will need to link against the math library (-lm option).

If you require a version of the library tuned for a specific architecture, please contact ISARA’s sales team.

Building the Samples

Note
Before building the samples, copy one of the CPU-specific versions of the toolkit libraries into a lib directory. For example, to build the samples for Intel Core2 or better CPUs, copy the contents of lib_core2 into lib.

To build the samples:

cd /path/to/isara_toolkit/samples/sample_name
cmake .
make

To build all of the samples at once:

cd /path/to/isara_toolkit/samples
./build.sh

For more details and tool requirements, please refer to the Developer’s Guide (doc/guide/guide.html) documentation.

System Requirements

  • 32-bit Android 5 or newer

  • 64-bit Android 5 or newer

  • 64-bit FreeBSD 10 or newer

  • 64-bit macOS 10.11 or newer

  • 64-bit Linux (Ubuntu 14.04 LTS, Ubuntu 16.04 LTS, Debian 8 or newer)

  • 64-bit Windows 7 or newer

The ISARA Radiate Security Solution Suite is licensed for use:

Copyright © 2015-2017, ISARA Corporation, All Rights Reserved.

The code and other content set out herein is not in the public domain, is considered a trade secret and is confidential to ISARA Corporation. Use, reproduction or distribution, in whole or in part, of such code or other content is strictly prohibited except by express written permission of ISARA Corporation. Please contact ISARA Corporation at info@isara.com for more information.

Sample code (and only the sample code) is covered by the Apache 2.0 license:

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.