瀏覽代碼

[src/crypto] crypto spec keypair, note

ertosns 2 年之前
父節點
當前提交
6ef6f107fb
共有 2 個文件被更改,包括 29 次插入0 次删除
  1. 11 0
      doc/src/architecture/crypto/keypair.md
  2. 18 0
      doc/src/architecture/crypto/note.md

+ 11 - 0
doc/src/architecture/crypto/keypair.md

@@ -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 - 0
doc/src/architecture/crypto/note.md

@@ -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                 |