You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

TitleHyperledger Ursa integration into Hyperledger Iroha
Status

PROJECT IN PROGRESS

Difficulty

MEDIUM  

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

She 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 Lebedevandrei@soramitsu.co.jp, Soramitsu


Project Plan

Tasks (Milestones/Deliverables)

Milestone DateTask
6/6Modify ed25519-dalek to add SHA-3 hash support.
6/6

Modify ursa to utilize modified ed25519 library configured with SHA-3.

6/13Add/fix test vectors for ed25519-sha-3 in ed25519-dalek and libursa.
6/13Submit 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 ed25519 operations from libursa's C API.

6/27

Integrate libursa into the Iroha cmake build system, as a configure-time option.

7/11

Implement a C++ CryptoProvider class that wraps Ursa.

7/18

Set DefaultCryptoAlgorithmType in shared_model/cryptography/crypto_provider/crypto_defaults.hpp depending on the cmake configure options.

8/1

Write and polish tests and documentation for all contributed code.

8/15

Submit pull-requests with contributions to the upstream projects libursa / ed25519-dalek / ...

Outcomes

  1. The ability for Iroha to re-use a common, well-maintained crypto library.
  2. Tighter integration in the Hyperledger ecosystem.



  • No labels