Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RISC-V Bitmanip and Scalar Cryptographic extensions support #57

Open
edubart opened this issue May 29, 2023 · 0 comments
Open

RISC-V Bitmanip and Scalar Cryptographic extensions support #57

edubart opened this issue May 29, 2023 · 0 comments
Labels

Comments

@edubart
Copy link
Collaborator

edubart commented May 29, 2023

Context

The RISC-V Bitmanip extension provides new instructions that are able to perform complex bit manipulations using a single instruction. This could improve performance of cryptographic routines or really any application that performs bit manipulations compiled with the recent GCC 12.

Furthermore the RISC-V Scalar Cryptographic extension (that depends on a subset of Bitmanip), have specialized instructions that are able to accelerate AES, SHA256, SHA512, and other cryptographic routines inside the virtual machine. These instructions are being used already by the OpenSSL library and other crypto libraries.

If there is demand for faster cryptographic routines we could add support for these instructions in our emulator, however before even thinking on this, we should first solve #48 , because the amount of new instruction will put pressure in our current instruction decoder, which is already quite heavy under interpret.

Possible solutions

We should read the specs, and try to implement first a subset of instruction that makes sense for any demanding use case, while adding many tests.

@edubart edubart added enhancement New feature or request optimization Optimization epic labels May 29, 2023
@edubart edubart added this to the v0.15.0 milestone May 29, 2023
@edubart edubart self-assigned this May 29, 2023
@edubart edubart removed this from the v0.15.0 milestone May 29, 2023
@edubart edubart removed the enhancement New feature or request label May 29, 2023
@edubart edubart moved this to Todo in Machine Emulator SDK May 30, 2023
@edubart edubart removed their assignment Jun 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Todo
Development

No branches or pull requests

1 participant