Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Cyborg)
  • No Skin
Collapse
Brand Logo

CIRCLE WITH A DOT

  1. Home
  2. Uncategorized
  3. Signal Protocol for a P2P Webapp

Signal Protocol for a P2P Webapp

Scheduled Pinned Locked Moved Uncategorized
rustsignalprotocolwasmbrowserp2p
5 Posts 2 Posters 0 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • xoron@infosec.exchangeX This user is from outside of this forum
    xoron@infosec.exchangeX This user is from outside of this forum
    xoron@infosec.exchange
    wrote last edited by
    #1

    Signal Protocol for a P2P Webapp

    TL;DR: I have open-sourced a #Rust implementation of the #SignalProtocol that compiles to #WASM for #Browser-based #P2P messaging, overcoming the #NodeJS limitations of the official library.

    I am sharing my implementation of the Signal Protocol designed specifically for the #Frontend. While the official libsignal is the gold standard, its #JavaScript targets are often optimized for Node.js, which creates integration challenges for client-side web applications.

    My version is built in #RustLang and compiles to #WebAssembly, utilizing #ModuleFederation to provide robust #Encryption for decentralized environments. It currently powers the end-to-end security for my #P2P messaging project.

    Protocol Demo:
    https://signal.positive-intentions.com/

    P2P App Demo:
    https://p2p.positive-intentions.com/iframe.html?globals=&id=demo-p2p-messaging--p-2-p-messaging&viewMode=story

    I am looking for feedback from the #Dev and #Infosec community. If you have experience with #Cryptography audits or formal-proof verification, I would appreciate your eyes on the codebase as I work toward a more finished state.

    GitHub Repository:
    https://github.com/positive-intentions/signal-protocol

    #Signal #SignalProtocol #Rust #RustLang #WASM #WebAssembly #OpenSource #OSS #Privacy #Encryption #E2EE #WebDev #Frontend #BrowserTech #Decentralized #WebApps #Coding #Security #SoftwareEngineering #Networking #PeerToPeer #P2P #Cryptography #Audit #CyberSecurity #Tech #JavaScript #Programming #ModuleFederation #P2PWeb #PrivacyTech #SecureMessaging #WebPerf #TechCommunity #InfoSec #WebSecurity

    Link Preview Image
    khleedril@cyberplace.socialK 1 Reply Last reply
    0
    • xoron@infosec.exchangeX xoron@infosec.exchange

      Signal Protocol for a P2P Webapp

      TL;DR: I have open-sourced a #Rust implementation of the #SignalProtocol that compiles to #WASM for #Browser-based #P2P messaging, overcoming the #NodeJS limitations of the official library.

      I am sharing my implementation of the Signal Protocol designed specifically for the #Frontend. While the official libsignal is the gold standard, its #JavaScript targets are often optimized for Node.js, which creates integration challenges for client-side web applications.

      My version is built in #RustLang and compiles to #WebAssembly, utilizing #ModuleFederation to provide robust #Encryption for decentralized environments. It currently powers the end-to-end security for my #P2P messaging project.

      Protocol Demo:
      https://signal.positive-intentions.com/

      P2P App Demo:
      https://p2p.positive-intentions.com/iframe.html?globals=&id=demo-p2p-messaging--p-2-p-messaging&viewMode=story

      I am looking for feedback from the #Dev and #Infosec community. If you have experience with #Cryptography audits or formal-proof verification, I would appreciate your eyes on the codebase as I work toward a more finished state.

      GitHub Repository:
      https://github.com/positive-intentions/signal-protocol

      #Signal #SignalProtocol #Rust #RustLang #WASM #WebAssembly #OpenSource #OSS #Privacy #Encryption #E2EE #WebDev #Frontend #BrowserTech #Decentralized #WebApps #Coding #Security #SoftwareEngineering #Networking #PeerToPeer #P2P #Cryptography #Audit #CyberSecurity #Tech #JavaScript #Programming #ModuleFederation #P2PWeb #PrivacyTech #SecureMessaging #WebPerf #TechCommunity #InfoSec #WebSecurity

      Link Preview Image
      khleedril@cyberplace.socialK This user is from outside of this forum
      khleedril@cyberplace.socialK This user is from outside of this forum
      khleedril@cyberplace.social
      wrote last edited by
      #2

      @xoron Does it have to be compiled to WASM?

      xoron@infosec.exchangeX 1 Reply Last reply
      0
      • khleedril@cyberplace.socialK khleedril@cyberplace.social

        @xoron Does it have to be compiled to WASM?

        xoron@infosec.exchangeX This user is from outside of this forum
        xoron@infosec.exchangeX This user is from outside of this forum
        xoron@infosec.exchange
        wrote last edited by
        #3

        @khleedril

        fraid so. i would prefer to avoid it, but it seemed nessesary. i had an older version of it that was using the js primitives from the browser, but the issue there was that crypto primitives were not always provided by the browsers and different browsers have their only roadmap for supporting it.

        so rust to wasm was a reliable way to get the crypto primitives needed. that was how it was done on several other projects including the official signal one.

        khleedril@cyberplace.socialK 1 Reply Last reply
        0
        • xoron@infosec.exchangeX xoron@infosec.exchange

          @khleedril

          fraid so. i would prefer to avoid it, but it seemed nessesary. i had an older version of it that was using the js primitives from the browser, but the issue there was that crypto primitives were not always provided by the browsers and different browsers have their only roadmap for supporting it.

          so rust to wasm was a reliable way to get the crypto primitives needed. that was how it was done on several other projects including the official signal one.

          khleedril@cyberplace.socialK This user is from outside of this forum
          khleedril@cyberplace.socialK This user is from outside of this forum
          khleedril@cyberplace.social
          wrote last edited by
          #4

          @xoron Yes I understand that, I was more wondering if it couldn't have been a more general library which could compile to x86 or ARM?

          xoron@infosec.exchangeX 1 Reply Last reply
          0
          • khleedril@cyberplace.socialK khleedril@cyberplace.social

            @xoron Yes I understand that, I was more wondering if it couldn't have been a more general library which could compile to x86 or ARM?

            xoron@infosec.exchangeX This user is from outside of this forum
            xoron@infosec.exchangeX This user is from outside of this forum
            xoron@infosec.exchange
            wrote last edited by
            #5

            @khleedril

            i havent considered those compile targets. i supose it could be done. is there not something already out there?

            i think it would be better to start off with the official version and take it from there. https://github.com/signalapp/libsignal

            my version is created specifically for the browser environment.

            1 Reply Last reply
            1
            0
            • R relay@relay.infosec.exchange shared this topic
            Reply
            • Reply as topic
            Log in to reply
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes


            • Login

            • Login or register to search.
            • First post
              Last post
            0
            • Categories
            • Recent
            • Tags
            • Popular
            • World
            • Users
            • Groups