> For the complete documentation index, see [llms.txt](https://thias-organization.gitbook.io/p256-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://thias-organization.gitbook.io/p256-documentation/support-for-risc-zero-acceleration-for-nist-p-256.md).

# Support for RISC Zero acceleration for NIST P-256

This project focuses on optimising the NIST P-256 elliptic curve cryptography (ECC) algorithm using the RISC Zero accelerator.

## Motivation

Elliptic curve cryptography is a critical component in modern cryptographic systems, providing strong security with efficient performance.&#x20;

The [P256 curve](https://neuromancer.sk/std/nist/P-256), also known as secp256r1 or prime256v1, is one of the most commonly used elliptic curves, standardised by the National Institute of Standards and Technology (NIST). It provides a robust balance of security and efficiency, making it a popular choice in many cryptographic applications.

However, the computational demands of ECC can be significant, particularly for resource-constrained environments. To address this, we leverage the hardware acceleration capabilities of the RISC Zero platform to enhance the performance of P256 operations.

This work is inspired by [RISC Zero's BigInt `syscall` accelerator](https://github.com/risc0/risc0/pull/466) and adopts a similar approach as shown in [RISC Zero's k256 accelerator](https://github.com/risc0/RustCrypto-elliptic-curves/pull/1).
