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

Porting secp256k1 implementation to ESP32S3 (Xtensa architecture) #1073

Closed
SafetyMustHave opened this issue Aug 31, 2024 · 3 comments
Closed

Comments

@SafetyMustHave
Copy link

Dear RustCrypto team,

I'm working on porting the secp256k1 implementation to the ESP32S3 microcontroller, which uses the Xtensa architecture. I'm seeking advice on the following:

  1. Strategies for adapting the existing secp256k1 Rust implementation to the Xtensa architecture.
  2. Potential performance optimizations for running secp256k1 on a resource-constrained device like ESP32S3.
  3. Memory usage considerations and optimization techniques for this specific use case.
  4. Handling of any architecture-specific challenges that might arise.

Specific questions:

  • Are there any known issues with running the current secp256k1 implementation on non-standard architectures like Xtensa?
  • What modifications, if any, might be necessary to ensure optimal performance on ESP32S3?
  • Are there any ESP32S3-specific features we should be aware of that could benefit (or hinder) the secp256k1 implementation?

Any guidance, examples, or resources you could provide would be immensely helpful. Thank you for your expertise and support!

@tarcieri
Copy link
Member

tarcieri commented Sep 5, 2024

k256 is pure Rust. It should work on any 32-bit or 64-bit target. It's been written with no_std support.

As far as improved performance, it would likely need inline assembly for hotspots. See #55 as an existing tracking issue for that.

@tarcieri tarcieri closed this as completed Sep 5, 2024
@SafetyMustHave
Copy link
Author

I have already completed the implementation of secp256k1 on ARM.,I'm encountering compatibility issues with secp256k1 while linking a Rust static library for ESP32. and I found the following message: 'c928380082b86401-secp256k1.o: file format not recognized'.

@tarcieri
Copy link
Member

tarcieri commented Sep 9, 2024

I don't think that's related to this crate

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants