Nostalgic Perogi Monogramming

    opaque-wasm
    TypeScript icon, indicating that this package has built-in type declarations

    1.1.0 • Public • Published

    Build Status

    opaque-wasm

    An implementation of the OPAQUE key exchange protocol in WASM(WebAssembly). This implementation is based on the opaque-ke.

    Installation

    npm install --save opaque-wasm
    yarn add opaque-wasm
    

    JS simple example of usage

    Check full implementation in this file

    import { Registration, Login } from "opaque-wasm";
    
    const password = "asdf123";
    const email = "myawesomeapp@seerv.dev";
    
    try {
      const registration = new Registration();
      const firstMessage = registration.start(password);
      const secondMessage = await sendMessageToServer(firstMessage);
      const thirdMessage = registration.finish(secondMessage);
      const { status } = await sendMessageToServer(thirdMessage, { email });
    
      console.log(status); // 204 - Server Return ok, user account has been created
    
      const login = new Login();
      const firstLoginMessage = login.start(password);
      const secondLoginMessage = await sendMessageToServer(firstLoginMessage, email);
      const thirdLoginMessage = login.finish(secondLoginMessage);
      const sessionKey = login.getSessionKey();
      await sendMessageToServer(thirdLoginMessage);
    
      console.log(sessionKey); // eyhojo55....
    } catch (e) {
      console.error(e);
    }

    Build ES6 package

    wasm-pack build
    

    Build for NodeJs

    wasm-pack build --target nodejs
    

    Install

    npm i opaque-wasm

    DownloadsWeekly Downloads

    288

    Version

    1.1.0

    License

    none

    Unpacked Size

    237 kB

    Total Files

    6

    Last publish

    Collaborators

    • marucjmar