Description
We have an amazing new project Hyperledger Ursa, that is a secure cryptography library for different projects. As the main idea of Hyperledger is to make projects interoperable it would be great to integrate Ursa cryptography into Iroha or/and maybe include Iroha's cryptography into Ursa.
Dictionary
Additional Information
https://www.hyperledger.org/blog/2018/12/04/welcome-hyperledger-ursa - introduction to Ursa
https://github.com/hyperledger/ursa - Ursa repository, https://github.com/hyperledger/iroha - Iroha repository
https://github.com/hyperledger/iroha/tree/master/shared_model/cryptography - Cryptography in Iroha
https://iroha.readthedocs.io/en/master/ - Iroha Documentation
Learning Objectives
The intern will get guided by Iroha maintainers and contributors, that are ready to share their extensive knowledge obtained over years of research in cryptography and blockchain
They will be able to create a link between different projects that reflects the global tendency of cooperation and focus on interoperability including the idea of open-source development
Expected Outcome
Ursa library can be used in Iroha or Iroha cryptography could be included into Ursa libraries
Relation to Hyperledger
Hyperledger Iroha, Hyperledger Ursa
Education Level
Any.
Skills
Basic engineering skills, C++ and Rust experience.
Future plans
Continue integrating Ursa into other projects and use it in Iroha
Preferred Hours and Length of Internship
Part-time (full-time is also possible with some additional tasks).
Mentor(s) Names and Contact Info
Andrei Lebedev, andrei@soramitsu.co.jp, Soramitsu
Mentee Name and Contact Info
Alexander Matson, Alex Matson, City College of New York, alex@alexmatson.com
Project Plan
Tasks (Milestones/Deliverables)
Milestone Date | Task |
---|---|
6/6 | Modify ed25519-dalek to add SHA-3 hash support. |
6/6 | Modify |
6/13 | Add/fix test vectors for ed25519-sha-3 in ed25519-dalek and libursa . |
6/13 | Submit a GitHub PR to ed25519-dalek detailing the usefulness of optionally using SHA-3-512 hashing for computing ed25519. |
6/20 | Add FFI bindings to expose functions for |
6/27 | Integrate |
7/11 | Implement a C++ CryptoProvider class that wraps Ursa. |
7/18 | Set |
8/1 | Write and polish tests and documentation for all contributed code. |
8/15 | Submit pull-requests with contributions to the upstream projects |
Outcomes
- The ability for Iroha to re-use a common, well-maintained crypto library.
- Tighter integration in the Hyperledger ecosystem.