Skip to content

Commit

Permalink
[src/crypto] crypto spec keypair, note
Browse files Browse the repository at this point in the history
  • Loading branch information
ertosns committed Oct 19, 2023
1 parent bb56cd7 commit 6ef6f10
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 0 deletions.
11 changes: 11 additions & 0 deletions doc/src/architecture/crypto/keypair.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# keypair

key pair over the elliptic curve finite field with generator `g`

## secret key

secret key `sk` is a finite field element over the elliptic curve.

## public key

public key `pk` is a finite field element over the elliptic curve $g*sk$
18 changes: 18 additions & 0 deletions doc/src/architecture/crypto/note.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# note
coin is stream cipher encrypted with symmetric key `key` derived from shared key[^1].
`key` = hash(sharedSecret, ephemeralKey)
$sharedSecret = ephemeralSecret \mul publicKey$ where `publicKey` is recipient public key. based off diffie-hellman shared secret.

## payment note
Note = (sn, value, tokenId, spendHook, data, blind^{value}, blind^{token}, memo)

| note | description |
|-----------------|--------------------------------|
| sn | serial number sampled at random|
| value | payment value |
| tokenId | token id |
| spendHook | coin related contract |
| data | data used by the coin contract |
| $blind^{value}$ | value commitment blinding term |
| $blind^{token}$ | token commitment blinding term |
| memo | arbitrary data |

0 comments on commit 6ef6f10

Please sign in to comment.