> 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/risc-zero-k256-accelerator.md).

# RISC Zero k256 Accelerator

As a starting point, RISC Zero has [implemented accelerators](https://thias-organization.gitbook.io/p256-documentation/) for cryptographic functions. Specifically, we are interested in the [256-bit modular multiplication](https://github.com/risc0/risc0/pull/466) (BigInt multiplication) which was utilised in [RustCrypto's k256 crate](https://github.com/risc0/RustCrypto-elliptic-curves/tree/risczero).

Apart from the k256 curve, many cryptographic operations involves the NIST P-256. Optimising the P256 curve within the guest code of zkVM brings significant benefits in terms of performance, resource efficiency, security, scalability, and interoperability.

In order to replicate similar optimisation for the NIST P-256 curve, we need to break down [how RISC Zero optimised the k256 crate](https://github.com/risc0/RustCrypto-elliptic-curves/pull/1/files#).
