From dd6d0d0cc5cd872a177e33ab29cd35603522267c Mon Sep 17 00:00:00 2001 From: peg Date: Wed, 25 Oct 2023 09:30:50 +0200 Subject: [PATCH 1/2] Add EncryptedMessage and test --- src/encrypt_only.rs | 177 ++++++++++++++++++++++++++++++++++++++++++++ src/lib.rs | 2 + 2 files changed, 179 insertions(+) create mode 100644 src/encrypt_only.rs diff --git a/src/encrypt_only.rs b/src/encrypt_only.rs new file mode 100644 index 0000000..53d5e3e --- /dev/null +++ b/src/encrypt_only.rs @@ -0,0 +1,177 @@ +use super::{derive_static_secret, ValidationErr}; +use chacha20poly1305::{ + aead::{Aead, AeadCore, KeyInit}, + ChaCha20Poly1305, +}; +use js_sys::Error; +use rand_core::OsRng; +use schnorrkel::SecretKey; +use serde::{Deserialize, Serialize}; +use serde_json::to_string; +use sp_core::{sr25519, Bytes}; +use wasm_bindgen::prelude::*; +use x25519_dalek::PublicKey; +use zeroize::Zeroize; + +#[wasm_bindgen(js_name = encryptOnly)] +/// Encrypts, signs, and serializes a SignedMessage to JSON. +pub fn encrypt_only(sk: Vec, msg: Vec, pk: Vec) -> Result { + let mut _raw_pk: [u8; 32] = [0; 32]; + _raw_pk.copy_from_slice(&pk[0..32]); + let _pk = PublicKey::from(_raw_pk); + let _msg = Bytes(msg); + + let mut sk_buff: [u8; 64] = [0; 64]; + sk_buff.copy_from_slice(&sk[0..64]); + if sk.len() != 64 { + return Err(Error::new("Secret key must be 64 bytes")); + } + + let sec_key = + SecretKey::from_ed25519_bytes(sk.as_slice()).map_err(|err| Error::new(&err.to_string()))?; + let pair = sr25519::Pair::from(sec_key); + let encrypted_message = + EncryptedMessage::new(&pair, &_msg, &_pk).map_err(|err| Error::new(&err.to_string()))?; + Ok(encrypted_message + .to_json() + .map_err(|err| Error::new(&err.to_string()))?) +} + +#[wasm_bindgen (js_name = decryptOnly)] +/// Deserializes and decrypts a json encoded `EncryptedMessage`. +/// Returns the plaintext. +pub fn decrypt_only(sk: Vec, msg: String) -> Result, Error> { + let sm: EncryptedMessage = + serde_json::from_str(msg.as_str()).map_err(|err| Error::new(&err.to_string()))?; + + let sec_key = + SecretKey::from_ed25519_bytes(sk.as_slice()).map_err(|err| Error::new(&err.to_string()))?; + let pair = sr25519::Pair::from(sec_key); + Ok(sm + .decrypt(&pair) + .map_err(|err| Error::new(&err.to_string()))?) +} + +#[derive(Debug, Deserialize, Serialize, Clone)] +pub struct EncryptedMessage { + /// The encrypted message. + pub msg: Bytes, + /// The intended recipients public key to be included in the signature. + recip: [u8; 32], + /// The signers public parameter used in diffie-hellman. + a: [u8; 32], + /// The message nonce used in ChaCha20Poly1305. + nonce: [u8; 12], +} + +impl EncryptedMessage { + /// Encrypts and signs msg. + /// sk is the sr25519 key used for signing and deriving a symmetric shared key + /// via Diffie-Hellman for encryption. + /// msg is the plaintext message to encrypt and sign + /// recip is the public Diffie-Hellman parameter of the recipient. + pub fn new( + sk: &sr25519::Pair, + msg: &Bytes, + recip: &PublicKey, + ) -> Result { + let mut s = derive_static_secret(sk); + let a = x25519_dalek::PublicKey::from(&s); + let shared_secret = s.diffie_hellman(recip); + s.zeroize(); + + let msg_nonce = ChaCha20Poly1305::generate_nonce(&mut OsRng); // 96-bits; unique per message + let cipher = ChaCha20Poly1305::new_from_slice(shared_secret.as_bytes()) + .map_err(|e| ValidationErr::Conversion(e.to_string()))?; + let ciphertext = cipher + .encrypt(&msg_nonce, msg.0.as_slice()) + .map_err(|e| ValidationErr::Encryption(e.to_string()))?; + let mut static_nonce: [u8; 12] = [0; 12]; + static_nonce.copy_from_slice(&msg_nonce); + + Ok(EncryptedMessage { + msg: sp_core::Bytes(ciphertext), + recip: recip.to_bytes(), + a: *a.as_bytes(), + nonce: static_nonce, + }) + } + + /// Decrypts the message and returns the plaintext. + pub fn decrypt(&self, sk: &sr25519::Pair) -> Result, ValidationErr> { + let mut static_secret = derive_static_secret(sk); + let shared_secret = static_secret.diffie_hellman(&PublicKey::from(self.a)); + static_secret.zeroize(); + let cipher = ChaCha20Poly1305::new_from_slice(shared_secret.as_bytes()) + .map_err(|e| ValidationErr::Conversion(e.to_string()))? + .decrypt( + &generic_array::GenericArray::from(self.nonce), + self.msg.0.as_slice(), + ) + .map_err(|e| ValidationErr::Decryption(e.to_string()))?; + Ok(cipher) + } + + /// Returns the public DH parameter of the message sender. + pub fn sender(&self) -> x25519_dalek::PublicKey { + x25519_dalek::PublicKey::from(self.a) + } + + /// Returns the public DH key of the message recipient. + pub fn recipient(&self) -> PublicKey { + PublicKey::from(self.recip) + } + + /// Returns a serialized json string of self. + pub fn to_json(&self) -> Result { + Ok(to_string(self)?) + } +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::{mnemonic_to_pair, new_mnemonic}; + + #[test] + fn test_encrypt() { + let plaintext = Bytes(vec![69, 42, 0]); + + let alice = mnemonic_to_pair(&new_mnemonic()).unwrap(); + + let bob = mnemonic_to_pair(&new_mnemonic()).unwrap(); + let bob_secret = derive_static_secret(&bob); + let bob_public_key = PublicKey::from(&bob_secret); + + // Test encryption + let encrypted_message = EncryptedMessage::new(&alice, &plaintext, &bob_public_key).unwrap(); + + // Test decryption + let decrypted_message = encrypted_message.decrypt(&bob).unwrap(); + + // Check the decrypted message equals the plaintext. + assert_eq!(Bytes(decrypted_message), plaintext); + + // Check the encrypted message != the plaintext. + assert_ne!(encrypted_message.msg, plaintext); + } + + #[test] + fn test_decryption_fails_with_wrong_keypair() { + let plaintext = Bytes(vec![69, 42, 0]); + + let alice = mnemonic_to_pair(&new_mnemonic()).unwrap(); + + let bob = mnemonic_to_pair(&new_mnemonic()).unwrap(); + let bob_secret = derive_static_secret(&bob); + let bob_public_key = PublicKey::from(&bob_secret); + + let charlie = mnemonic_to_pair(&new_mnemonic()).unwrap(); + + // Test encryption + let encrypted_message = EncryptedMessage::new(&alice, &plaintext, &bob_public_key).unwrap(); + + // Test decryption + assert!(encrypted_message.decrypt(&charlie).is_err()); + } +} diff --git a/src/lib.rs b/src/lib.rs index 0492253..f4458c5 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,9 +1,11 @@ +mod encrypt_only; use bip39::Mnemonic; use blake2::{Blake2s256, Digest}; use chacha20poly1305::{ aead::{Aead, AeadCore, KeyInit}, ChaCha20Poly1305, }; +pub use encrypt_only::EncryptedMessage; use hex; use js_sys::Error; use rand_core::OsRng; From 998bd12e1177ad992ce947a3d7e01cdf4c560f99 Mon Sep 17 00:00:00 2001 From: peg Date: Wed, 25 Oct 2023 09:31:12 +0200 Subject: [PATCH 2/2] Rebuild and add JS test for encryptOnly and decryptOnly --- example/test.ts | 15 ++++- pkg/x25519_chacha20poly1305.d.ts | 16 ++++++ pkg/x25519_chacha20poly1305.js | 68 +++++++++++++++++++++++ pkg/x25519_chacha20poly1305_bg.wasm | Bin 420616 -> 431098 bytes pkg/x25519_chacha20poly1305_bg.wasm.d.ts | 2 + 5 files changed, 100 insertions(+), 1 deletion(-) diff --git a/example/test.ts b/example/test.ts index 0382b4c..9d8f606 100644 --- a/example/test.ts +++ b/example/test.ts @@ -1,5 +1,5 @@ -import {from_hex, to_hex, decrypt_and_verify, gen_signing_key, encrypt_and_sign, public_key_from_secret, constant_time_eq } from "x25519-chacha20poly1305"; +import {from_hex, to_hex, decrypt_and_verify, gen_signing_key, encrypt_and_sign, public_key_from_secret, constant_time_eq, encryptOnly, decryptOnly } from "x25519-chacha20poly1305"; let empty = new Uint8Array(32); let hempty = to_hex(empty); @@ -28,3 +28,16 @@ console.log(decrypted_plaintext); let is_equal = constant_time_eq(decrypted_plaintext, plaintext); console.log("alice encrypted plaintext is equal to bob decrypted ciphertext: ", is_equal); +// Test encryptOnly: + +// Alice encrypts and signs the message to bob. +let encrypted_msg = encryptOnly(alice_sk, plaintext, bob_pk); +console.log(encrypted_msg); + +// Bob decrypts the message. +decrypted_plaintext = decryptOnly(bob_sk, encrypted_msg); + +console.log(decrypted_plaintext); +// Check the original plaintext equals the decrypted plaintext. +is_equal = constant_time_eq(decrypted_plaintext, plaintext); +console.log("alice encrypted plaintext is equal to bob decrypted ciphertext: ", is_equal); diff --git a/pkg/x25519_chacha20poly1305.d.ts b/pkg/x25519_chacha20poly1305.d.ts index b0c7af7..8e35a2b 100644 --- a/pkg/x25519_chacha20poly1305.d.ts +++ b/pkg/x25519_chacha20poly1305.d.ts @@ -49,3 +49,19 @@ export function decrypt_and_verify(sk: Uint8Array, msg: string): Uint8Array; * @returns {boolean} */ export function constant_time_eq(a: Uint8Array, b: Uint8Array): boolean; +/** +* Encrypts, signs, and serializes a SignedMessage to JSON. +* @param {Uint8Array} sk +* @param {Uint8Array} msg +* @param {Uint8Array} pk +* @returns {string} +*/ +export function encryptOnly(sk: Uint8Array, msg: Uint8Array, pk: Uint8Array): string; +/** +* Deserializes and decrypts a json encoded `EncryptedMessage`. +* Returns the plaintext. +* @param {Uint8Array} sk +* @param {string} msg +* @returns {Uint8Array} +*/ +export function decryptOnly(sk: Uint8Array, msg: string): Uint8Array; diff --git a/pkg/x25519_chacha20poly1305.js b/pkg/x25519_chacha20poly1305.js index c56c6f2..a0a0b35 100644 --- a/pkg/x25519_chacha20poly1305.js +++ b/pkg/x25519_chacha20poly1305.js @@ -309,6 +309,74 @@ module.exports.constant_time_eq = function(a, b) { return ret !== 0; }; +/** +* Encrypts, signs, and serializes a SignedMessage to JSON. +* @param {Uint8Array} sk +* @param {Uint8Array} msg +* @param {Uint8Array} pk +* @returns {string} +*/ +module.exports.encryptOnly = function(sk, msg, pk) { + let deferred5_0; + let deferred5_1; + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + const ptr0 = passArray8ToWasm0(sk, wasm.__wbindgen_malloc); + const len0 = WASM_VECTOR_LEN; + const ptr1 = passArray8ToWasm0(msg, wasm.__wbindgen_malloc); + const len1 = WASM_VECTOR_LEN; + const ptr2 = passArray8ToWasm0(pk, wasm.__wbindgen_malloc); + const len2 = WASM_VECTOR_LEN; + wasm.encryptOnly(retptr, ptr0, len0, ptr1, len1, ptr2, len2); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + var r3 = getInt32Memory0()[retptr / 4 + 3]; + var ptr4 = r0; + var len4 = r1; + if (r3) { + ptr4 = 0; len4 = 0; + throw takeObject(r2); + } + deferred5_0 = ptr4; + deferred5_1 = len4; + return getStringFromWasm0(ptr4, len4); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + wasm.__wbindgen_free(deferred5_0, deferred5_1, 1); + } +}; + +/** +* Deserializes and decrypts a json encoded `EncryptedMessage`. +* Returns the plaintext. +* @param {Uint8Array} sk +* @param {string} msg +* @returns {Uint8Array} +*/ +module.exports.decryptOnly = function(sk, msg) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + const ptr0 = passArray8ToWasm0(sk, wasm.__wbindgen_malloc); + const len0 = WASM_VECTOR_LEN; + const ptr1 = passStringToWasm0(msg, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + wasm.decryptOnly(retptr, ptr0, len0, ptr1, len1); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + var r3 = getInt32Memory0()[retptr / 4 + 3]; + if (r3) { + throw takeObject(r2); + } + var v3 = getArrayU8FromWasm0(r0, r1).slice(); + wasm.__wbindgen_free(r0, r1 * 1); + return v3; + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } +}; + function handleError(f, args) { try { return f.apply(this, args); diff --git a/pkg/x25519_chacha20poly1305_bg.wasm b/pkg/x25519_chacha20poly1305_bg.wasm index 7346d1262fbde804d020c95a1510046114ef4187..9b4500875ed8b2692b1eb839a93e3682c7362478 100644 GIT binary patch delta 91974 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%0D3jrx$9!D-4*j%P?OxnUTg@{ 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 TW99(uE8u3G@qfBc7TX>GjN|BK delta 81942 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 Io1?q`KTW%1^8f$< diff --git a/pkg/x25519_chacha20poly1305_bg.wasm.d.ts b/pkg/x25519_chacha20poly1305_bg.wasm.d.ts index 34758ab..8f1b749 100644 --- a/pkg/x25519_chacha20poly1305_bg.wasm.d.ts +++ b/pkg/x25519_chacha20poly1305_bg.wasm.d.ts @@ -8,6 +8,8 @@ export function gen_signing_key(a: number): void; export function encrypt_and_sign(a: number, b: number, c: number, d: number, e: number, f: number, g: number): void; export function decrypt_and_verify(a: number, b: number, c: number, d: number, e: number): void; export function constant_time_eq(a: number, b: number, c: number, d: number): number; +export function encryptOnly(a: number, b: number, c: number, d: number, e: number, f: number, g: number): void; +export function decryptOnly(a: number, b: number, c: number, d: number, e: number): void; export function rustsecp256k1_v0_4_1_context_create(a: number): number; export function rustsecp256k1_v0_4_1_context_destroy(a: number): void; export function rustsecp256k1_v0_4_1_default_illegal_callback_fn(a: number, b: number): void;