Просмотр исходного кода

[src/crypto] crypto spec keypair, note

ertosns 2 лет назад
Родитель
Сommit
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                 |