dfinity / grant-rfps

Grant RFPs and Bounties
Apache License 2.0
52 stars 11 forks source link

BNT-4: Keccak-256 and SHA3 Motoko Library #28

Closed domwoe closed 1 year ago

domwoe commented 1 year ago

Overview

Description

Since the Internet Computer allows canisters to sign Ethereum transactions, there's a need to hash those transactions. This is currently not directly possible in canisters written in Motoko. and a workaround like calling the EVM utility canister has to be used.

In this bounty, you will implement two cryptographic hashing algorithms in Motoko. Keccak-256 is the hashing algorithm used for signing Ethereum transactions. It is similar to the standardized SHA-3 but uses a different padding. Hence, it makes sense to include both variations, although the official SHA-3 is not used in Ethereum.

Acceptance Criteria

How to apply?

References

SHA-3 and Keccak implementations

Examples of cryptographic hashing libraries in Motoko

domwoe commented 1 year ago

Assigned @WenheLI

AgCaliva commented 1 year ago

Hi, i know its already assigned, but i wanted to contact you via discord and i cant send you messages without you accepting me as friend. Hi there, im an experienced programmer but kinda new to smart contracts(i have done very little by using solidity, and solved a bug in harmony chrome wallet). I have not seen the other bounties in detail, but im interested in learning what its needed to do the jobs, since i know more than 15 programming languages. Im currently learning solidity. I can surely do some task. Do you have some bounty for me who is starting in Motoko? Where i can learn more about the project related topics? I will be reading the bounties. Thanks in advance. I can send you my cv via discord please accept me

hanbu97 commented 1 year ago

All work has been done:

Here is the repository implemented Sha3 and Keccak in Motoko with plenty of tests. https://github.com/hanbu97/motoko-sha3

The Library has been published to mops package manager https://mops.one/sha3

hanbu97 commented 1 year ago

@domwoe

WenheLI commented 1 year ago

@hanbu97 - I am currently traveling. If you have finished, I am ok with assigning this to u.

hanbu97 commented 1 year ago

@WenheLI Thank you!

domwoe commented 1 year ago

Completed by @hanbu97 and @react0r-com. Thank you for your contribution!