Skip to content

QryptInc/qrypt-security-quickstarts-cpp

Repository files navigation

Qrypt SDK Test Environment

This template can be used to create an environment with resources in place to test and validate Qrypt's SDK.

Quickstart

1. Create the codespace

Click the <> Code dropdown on github and select Create codespace on main. This will create a new codespace, which is a sandbox with everything you need to experiment with the Qrypt SDK. Please allow up to 15 minutes for the codespace to set up the environment and build the quickstart.

Codespaces Setup

2. Execute validation tests

We've taken the Qrypt SDK and integrated it into a CLI with some basic functionality. After the environment loads it will automatically build the CLI. Wait until you see [100%] Built target qrypt, indicating that the CLI build is complete, and then run ./qrypt test to validate:

  • The Qrypt SDK can be used to securely generate and independently replicate an AES key
  • The Qrypt SDK can be used to securely generate and independently replicate a 1KB one-time-pad
  • The Qrypt SDK can be used to securely generate and independently replicate a 1MB one-time-pad
  • Qrypt's quantum generated random passes NIST 800-22 Statistical Tests for Random Number Generators
  • Qrypt can supply 1KB of quantum-generated random via REST API

CLI usage

Generate

Run ./qrypt generate to generate a key and save replication instructions to ./meta.dat

Replicate

Run ./qrypt replicate to read ./meta.dat and use it to replicate the same key.

Send

Run ./qrypt send --destination=remote_codespace_name to send ./meta.dat to the specified remote codespace.

Entropy

Run ./qrypt entropy to request 1KB of quantum-generated random. Optional --help and --size tags are also available.

Advanced options

Use the --help option on the qrypt executable and its submenus for more information on available operations and their optional arguments.
Ex: ./qrypt --help
Ex: ./qrypt generate --help

Additional resources

Terms of Use

The QryptSecurity SDK contains cryptographic functionality that may be export controlled. By using this software, any user acknowledges that they have reviewed and agreed to the terms of use and privacy policy, to the extent permissible by applicable law.