The Open Quantum Safe (OQS) project is an open-source initiative with the goal of assisting in the creation and application prototyping of quantum-resistant encryption. In this article, we will delve into the key tools offered by the project, with a specific emphasis on its compatibility and support for various devices and platforms. All Internet communications must be secure using public key cryptography. For instance, every “https” web page for inputting passwords or credit card details is protected by the Transport Layer Security (TLS) protocol, which makes use of public key cryptography. However, every public key algorithm in use today is predicated on a mathematical conundrum that a quantum computer might solve, such as factoring, discrete logarithms, or elliptic curves. Building public key cryptosystems that are thought to be secure even against quantum computers is the goal of the discipline of quantum-safe cryptography, also known as post-quantum or quantum-resistant cryptography.
Language wrappers are an essential aspect of making cryptographic libraries like Open Quantum Safe (OQS) accessible and usable in various programming languages. Language wrappers provide bindings that allow developers to use the library’s functionality in their preferred programming language without needing to interact directly with the library’s C interface. This makes it easier for developers to integrate quantum-resistant cryptography into their applications regardless of the language they are using.
Language wrappers enable developers to use the OQS library’s features in programming languages beyond C. This is particularly important for ARMv7 and ARMv8-based devices, as they are commonly used in a wide range of applications, many of which are developed in languages other than C. Developers often have a preferred programming language. Language wrappers cater to this preference by enabling the use of quantum-resistant cryptography in the language of choice, whether it’s Python, Java, C++, or others. Many programming languages have extensive ecosystems of libraries and tools that can enhance development. Language wrappers allow the OQS library to be integrated into these ecosystems, leveraging existing resources and enhancing the capabilities of ARMv7 and ARMv8-based devices.
Example/ Use Cases
IoT Applications: Wrappers make it easier to implement secure communication in IoT applications using quantum-resistant algorithms, ensuring the confidentiality and integrity of data.
Mobile Apps: Developers creating ARMv7 and ARMv8-based mobile applications can integrate quantum-resistant security features using language wrappers.
Web Services: Language wrappers facilitate the implementation of secure web services on these devices, safeguarding user data during transmission.
Community Contributions: Language wrappers often attract contributions from a broader community of developers skilled in various languages. This collaborative effort can lead to improved wrappers and better integration.
Easier Adoption: Developers already familiar with a particular programming language can adopt quantum-resistant cryptography more easily using the language’s wrapper, reducing the barrier to entry.
At the heart of the OQS project lies liboqs, an open-source C library designed to empower the implementation of quantum-safe cryptographic algorithms. This library grants access to a comprehensive collection of open-source implementations of quantum-safe key encapsulation mechanisms (KEM) and digital signature algorithms. C library is a foundational resource in the realm of quantum-resistant cryptography. It offers a collection of open-source implementations of cryptographic algorithms designed to withstand potential threats posed by quantum computers. These algorithms are engineered to provide security even in a future where quantum computers could potentially compromise traditional cryptographic systems.
The library is a testament to the collaborative effort within the cryptography community to address the evolving landscape of cyber threats. The library’s versatility is reflected in its ability to be built and deployed across multiple platforms, including Windows, macOS, and Linux. Compatibility with x86-64, ARM32v7, and ARM64v8 architectures ensures that a wide range of computing environments can use its power.
Challenges and Prospects in Bringing Quantum-Safe Cryptography to Resource-Constrained Devices
There are special difficulties and potential in bringing post-quantum cryptography to resource-constrained devices like ARM Cortex-M microcontrollers. Although the Open Quantum Safe (OQS) project has concentrated chiefly on more potent platforms like x86-64 and ARM Cortex-A architectures, the goal to expand quantum-safe encryption to IoT and embedded devices is a relevant and developing topic of interest.
Resource-constrained devices refer to computing devices that operate under limitations in terms of processing power, memory, energy, and other hardware resources. These devices are often characterized by their compact size, limited computational capabilities, and the need to operate efficiently with minimal energy consumption. Common examples of resource-constrained devices include:
Microcontrollers: These small integrated circuits serve as the “brain” of many embedded systems. Microcontrollers are often found in devices like sensors, remote controls, and simple electronic appliances.
Internet of Things (IoT) Devices: IoT devices are interconnected objects that collect and exchange data via the internet. Examples include smart home devices, wearable gadgets, and environmental sensors. Many IoT devices are designed to be energy-efficient and have restricted resources.
Embedded Systems: Embedded systems are specialized computing systems integrated into larger systems or products. They can be found in everything from industrial machinery and medical devices to automotive electronics.
Wearable Devices: Devices worn on the body, such as smartwatches and fitness trackers, typically have limited processing power and memory due to their compact size.
Sensor Nodes: In sensor networks, individual sensor nodes are equipped with sensors to monitor physical or environmental conditions. These nodes often have to operate for extended periods on limited battery power.
Low-Power Devices: These are devices engineered to minimize energy consumption, making them suitable for battery-operated applications. They include certain types of wireless communication modules and remote control units.
Edge Computing Devices: Edge devices process data locally rather than sending it to a centralized cloud server. These devices often need to balance computational tasks with energy efficiency.
Post-Quantum Cryptography (PQC) Algorithms on ARMv7 and ARMv8-based Devices
Numerous optimization studies, including the PQM4 project, have been carried out on ARMv7-based equipment since the ARM-Cortex-M4 using ARMv7 was chosen by NIST as one of the performance evaluation equipment of the PQC competition. With the rapid development of quantum computing technology, the need for quantum-resistant cryptographic algorithms has become increasingly important. This makes optimization studies essential to ensure that these algorithms can be efficiently executed on devices with ARMv7 and ARMv8 architectures.
With its ability to function as a core MCU for high-end computers as well as MCUs for mobile, tablet, and desktop computers, ARMv8 is a crucial component of the Internet of Things (IoT) society. By fully leveraging the ARM processor and NEON engine, the parallel logic of the NTT-based polynomial multiplication method is the main function of Crystals-Dilithium. Particularly the ARMv8-A series is being developed as an MCU for driverless vehicles and high-end computers in addition to being a core MCU for smartphones and tablets.
The PQM4 (Post-Quantum Cryptography on ARM Cortex-M4) project is an optimization effort specifically focused on ARMv7-based devices, particularly those utilizing the ARM Cortex-M4 processor. This project aims to provide efficient and secure implementations of post-quantum cryptographic algorithms for resource-constrained IoT devices.
ARMv8 architecture, commonly known as ARM64 or AArch64, is more powerful and modern compared to ARMv7. Optimization efforts in this context are crucial for both performance and security. Algorithms like Newhope, SABER, and Kyber are part of the NIST Post-Quantum Cryptography Standardization project and are optimized for efficient execution on ARMv8 devices. ARMv7 and ARMv8 devices play a vital role in making quantum-resistant cryptographic algorithms practical for IoT.
In conclusion, the journey of quantum-safe cryptography extends far beyond its academic roots. The OQS project, with its liboqs library, language wrappers, and commitment to diverse platforms, exemplifies the fusion of theory and application. With unwavering dedication, the project champions the security of our digital world, reaching both the towering heights of high-performance systems and the unassuming realms of resource-constrained devices. In this journey, quantum resistance emerges as a unifying force, ensuring the future’s cryptographic foundation remains robust and unbreakable in the face of quantum threats.
If you want to connect with us, stay tuned for our recent blogs. You can also contact us at: https://bitsol.tech/contact/