JSPM

@waku/message-encryption

0.0.32-a6c9380.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 890
  • Score
    100M100P100Q98641F
  • License MIT OR Apache-2.0

Waku Message Payload Encryption

Package Exports

    Readme

    @waku/message-encryption

    Provide Waku Message Version 1 payload encryption as defined in 26/WAKU2-PAYLOAD.

    Symmetric Encryption

    Symmetric encryption uses a unique key to encrypt and decrypt messages.

    import {
      createDecoder,
      createEncoder,
      generateSymmetricKey
    } from "@waku/message-encryption/symmetric";
    
    // Generate a random key
    const key = generateSymmetricKey();
    
    // To send messages, create an encoder
    const encoder = createEncoder(contentTopic, key);
    
    // For example
    waku.lightPush.push(encoder, { payload });
    
    // To receive messages, create a decoder
    const decoder = createDecoder(contentTopic, key);
    
    // For example
    await waku.store.queryOrderedCallback([decoder], (msg) => {
      // ...
    });

    ECIES Encryption

    ECIES encryption enables encryption for a public key and decryption using a private key.

    import {
      createDecoder,
      createEncoder,
      generatePrivateKey,
      getPublicKey
    } from "@waku/message-encryption/ecies";
    
    // Generate a random private key
    const privateKey = generatePrivateKey();
    
    // Keep the private key secure, provide the public key to the sender
    const publicKey = getPublicKey(privateKey);
    
    // To send messages, create an encoder
    const encoder = createEncoder(contentTopic, publicKey);
    
    // For example
    waku.lightPush.push(encoder, { payload });
    
    // To receive messages, create a decoder
    const decoder = createDecoder(contentTopic, privateKey);
    
    // For example
    await waku.store.queryOrderedCallback([decoder], (msg) => {
      // ...
    });