From 5cd13dccc0f224165dcaf58764441dd44f7b9909 Mon Sep 17 00:00:00 2001 From: Yigid BALABAN Date: Fri, 23 Aug 2024 12:34:26 +0300 Subject: [PATCH] more ECIES, change to secp256k1, etc. --- crypto sysarch.md | 27 +++++++++++++++------------ pdfs/crypto sysarch.pdf | Bin 0 -> 64279 bytes 2 files changed, 15 insertions(+), 12 deletions(-) create mode 100644 pdfs/crypto sysarch.pdf diff --git a/crypto sysarch.md b/crypto sysarch.md index 00bb406..24e4705 100644 --- a/crypto sysarch.md +++ b/crypto sysarch.md @@ -2,8 +2,8 @@ Yigid BALABAN, -Revision 1 -21/08/2024 +Revision 2 +23/08/2024 ## System Elements @@ -12,7 +12,7 @@ The system elements are/will be described and discussed in the ZKL System Archit ### 1. Key Derivation Service The Key Derivation Service (or KDS for short) provides -1. a deterministic Curve25519 keypair generator from BIP-39 mnemonics, +1. a deterministic secp256k1 keypair generator from BIP-39 mnemonics, 2. a pseudo-random BIP-39 mnemonic generator through web-bip-39 package. ### 2. Cross-chain Identity Registry @@ -32,9 +32,9 @@ The client (the sender) generates the encrypted payload to be sent to the reciev ### Sending a file #### Definitions -$K_{r}:\text{Recipient's public key on Curve25519}$ -$K_{e}:\text{A symmetric key derived for the file to be sent, 256 bits}$ -$E(K_{e}):\text{The symmetric key, encrypted using ECIES}$ +$Q_{r}:\text{Recipient's public key on curve secp256k1}$ +$G:\text{The generator point on curve secp256k1}$ +$Z:\text{A symmetric key derived for the file to be sent, the shared secret}$ $F:\text{The file contents, in plaintext}$ $F_{c}:\text{The file contents, in ciphertext}$ $IV:\text{The initialization vector required for AES-GCM-256}$ @@ -42,9 +42,12 @@ $P:\text{The payload, what is sent to the recipient}$ #### Workflow -1. The $K_{r}$ is retrieved from the CCIR. -2. The $K_{e}$ is generated randomly for the file, $F$. -3. File $F$ is encrypted using AES-GCM-256 with encryption key $K_{e}$, and a randomly generated initialization vector, $IV$. -4. The $K_{e}$ is encrypted using ECIES, which is discussed in detail, in section “Key Encryption through ECIES”. This results in a new encrypted data, $E(K_{e})$. -5. The payload $P$ is created by concatenating $F_{e},\;IV\;E(K_{e})$ -6. The payload is uploaded to the EFS. \ No newline at end of file +1. The $Q_{r}$ is retrieved from the CCIR. +2. An ephemeral keypair is generated, $Q_{e}$ and $d_{e}$. +3. The shared secret which will be used in symmetric encryption is computed from $Z=d_{e}\times Q_{r}$. +5. File $F$ is encrypted using AES-GCM-256 with encryption key $Z$, and a randomly generated initialization vector, $IV$. +7. The payload $P$ is created by concatenating $Q_{e},\;IV,\;\text{MAC},\;F_{e}$. +8. The payload is uploaded to the EFS. + +> [!info] Reminder +> The MAC in the payload $P$ at step 7 is a result of using AES-GCM-256, which is selected in ECIES implementation in the Rust crate we consume through ecies/rs-wasm package. diff --git a/pdfs/crypto sysarch.pdf b/pdfs/crypto sysarch.pdf new file mode 100644 index 0000000000000000000000000000000000000000..487bb3b891e5c89f5e7dbf23b8202e4a2d1d7a55 GIT binary patch literal 64279 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