Skip to content

Commit

Permalink
update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
0x471 committed Sep 11, 2024
1 parent eb8d912 commit fc84b3f
Showing 1 changed file with 17 additions and 2 deletions.
19 changes: 17 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
# Mina zkApp: O1js Ecdh Secp256k1
# ECDH secp256k1 - o1js

## Overview
This project provides an implementation of the Elliptic Curve Diffie-Hellman (ECDH) key exchange protocol using the secp256k1 curve, built on top of the o1js library. ECDH allows two parties to securely exchange cryptographic keys over a public channel.

## What is ECDH?
Elliptic Curve Diffie-Hellman (ECDH) is a key exchange mechanism based on elliptic curve cryptography (ECC). It allows two parties, each with a public and private key pair, to establish a shared secret over an insecure channel. This shared secret can then be used to securely encrypt further communication.

The secp256k1 curve is a widely-used elliptic curve, particularly in blockchain and cryptocurrency applications such as Bitcoin & Ethereum.

There are interesting use cases such as:
- [Balance hiding for DAO treasuries.](https://github.com/lyronctk/treasure-house?tab=readme-ov-file) ([Based on work done by Griffin Dunaif & Dan Boneh](https://hackmd.io/nCASdhqVQNWwMhpTmKpnKQ)).

This template uses TypeScript.

## How to build

Expand All @@ -21,6 +31,11 @@ npm run testw # watch mode
npm run coverage
```

## How to run the example (run.ts)
```sh
npm run example
```

## License

[Apache-2.0](LICENSE)

0 comments on commit fc84b3f

Please sign in to comment.