PQLR by QWALL
Full Quantum-Secured SDK
Cross-platform

Linux on x86-64, ARM v7
Windows 2012+ on x86-64
Android ARM v7

OpenSSL Integration

TLS 1.3
Key Distribution: NewHope
Digital signature: SPHINCS+
Cryptography schemes

Lattice-based
Code-based
Hash-based
Multivariate-based
Supersingular Isogeny-based
Integration scheme
Algorithm benchmarks
NewHope
SPHINCS+
SPHINCS+ is a stateless hash-based signature scheme.
The algorithm has several sets of parameters that greatly affect the speed and size of signatures.
The signature size:
8 KB — 49 KB depending on the selected parameters.

Performance measurements environment:
linux, Intel Core i5-6500 @ 3.20GHz CPU
NewHope is a key-exchange protocol based on the Ring-Learning-with-Errors (Ring-LWE) problem.
All values below are for 256-bit key.
The total time is less than the amount, because operations are conducted on two remote sides.

Performance measurements environment:
linux, Intel Core i5-6500 @ 3.20GHz CPU

Premises for choosing algorithms
Expert assessment by the mathematical and cryptographic community
Despite the fact that on the whole the question of the limits of capabilities of quantum computers remains open, the mathematical approaches that underlie the post-quantum algorithms used are among the most thoroughly studied.

McEliece
McEliece has been cryptanalyzed for over 40 years, with no security issues found.

SPHINCS and XMSS
A similar situation is observed with the justification of the security of cryptographic systems based on cryptographic hash functions used to build SPHINCS and XMSS. Their evidence of secrecy based on information techniques is one of the most reliable.

NewHope
The choice of NewHope from other algorithms on lattices in part is due to the possibility of using the advantages of working with rings.
Complementarity of algorithms in terms of mathematical approaches
The choice of algorithms is also based on the idea of complementing algorithms on alternative mathematical problems, presumably unbearable for quantum computers:
• search for the shortest vector in the lattice,
• decoding of full linear codes,
• search for the second inverse image / collision / inversion of the hash function.
This approach provides an additional level of security for information systems.

We use a combination of algorithms based on different mathematical paradigms (SPHINCS\XMSS based on hash-based and NewHope based on ring-learning with errors) which gives our solutions an additional level of security.
Existence cases of successful implementation for applications
NewHope has been successfully implemented in Google's Chrome browser.
Implementation testing
Practical Implementation Testing
• Static code analysis with clang-tidy. Including verification of compliance with CERT Coding Standard.
• Unit testing. Code coverage reaches 98%.
• Unit testing under sanitizers (finding errors related to incorrect work with memory):
clang compiler:
— AddressSAN
— MemorySAN
— ThreadSAN
— UdefinedbehaviourSAN
GCC compiler:
— AddressSAN
— UdefinedbehaviourSAN
• Periodic fuzzy-testing.
• Audit by the internal forces of the team
(there is an Application Security Engineer inside).
• Testing for timing attacks using your own framework
(Date of publication of the framework: 2020, Q1).
Theoretical Testing
• Proof of secrecy.
• Benchmarking of quantum-safe algorithms.
Updates and support policy
Regular updates:
• Adding new quantum-safe algorithms and improved implementation of existing ones
(following NIST and the cryptographic community)
• Improving library performance.
• Improving stability.
• Adding support for new software and hardware platforms.