Send encrypted messages and decrypt them without sharing keys. Built using the Handshake blockchain.

Overview

zmsg

Encrypt and decrypt messages using AEAD with an ephemeral key

Learn more by joining the Handshake Discord Community

I noticed that there wasn't an encrypt/decrypt function natively provided in Handshake, so I built this using concepts introduced earlier in the Bitcoin space. The benefit of this implementation is that it is complete because of Handshake names. Zooko's Triangle is solved with Handshake making crypto better than ever!

1

2

3

4

How it works

zmsg

Basically, your private key is used in conjunction with the recipient's public key to generate a common key. This common key is ephemeral. Instead, you can simply share the ciphertext. The system uses hsencrypt

Also go on chain

You can also use zmsg-broadcast which is the same as zmsg, except it will put your message on chain. Then, someone can use zmsgpull to pull messages, and then zmsgread to read them.

The benefit of this is that you can encrypt messages and send them. The world will know you encrypted a message and sent it, but it will not know to whom it was for or what it said.

Of course, opponents might have issue with using a chain for this purpose, but I feel the benefits outweight the cons.

Installation Instructions

  1. Clone
git clone https://github.com/publiusfederalist/zmsg
  1. Get the npms
cd zooko-msg
npm install hsd hs-client readline stream hsencrypt consoleinout
  1. Setup your hsd keys folder
echo "someapikey" > keys/node
echo "somewalletkey" > keys/wallet

You can get these with hsd. Make sure hsd has all the index-tx, index-address and other options enabled.

  1. Run commands!

Commands

Encryption

zmsg <wallet> <yourname> <theirname> "<msg>"

Decryption

zmsg <wallet> <theirname> <yourname> <encrypted> d

Blockchain

You can also use zmsg-broadcast which will actually write this to the blockchain.

Copyright

Copyright (c) 2022 Publius Federalist

All Rights Reserved

MIT LICENSED.

You might also like...

A completely decentralized way of sharing temporary messages.

Debin A completely decentralized way of sharing temporary and permanent messages. Debin uses Waku and IPFS decentralized networks to temporarily or pe

Jun 29, 2022

Send messages to this bot and almacenate it on selected Notion's Database

Send messages to this bot and almacenate it on selected Notion's Database

Telegram to Notion Bot What can do this bot? With this bot you can authorize that it receive the text that you send and store it on one selected datab

Dec 11, 2022

πŸš€ Send a load of requests with nodejs using cluster and with/without Tor for anonymisation πŸ™ˆ

Accumulator πŸš€ Send a load of requests with nodejs using cluster and with/without Tor for anonymisation πŸ™ˆ ⚠️ Disclamer, This repo has been created fo

Nov 21, 2022

This is a Webpack based to-do-list project. With this app, users can add thier daily routine tasks to the list, mark them as complet, edit them or delete them.

To Do List This is a Webpack based to-do-list project. With this app, users can add thier daily routine tasks to the list, mark them as complet, edit

Oct 30, 2022

A chat logs online saver for discord bots to save messages history & cleared messages online

A chat logs online saver for discord bots to save messages history & cleared messages online

Chat Logs NPM package that saves messages online to view it later Useful for bots where users can save messages history & cleared messages online Supp

Dec 28, 2022

Keyauth v1 example, includes a demo and is encrypted using aes.

Keyauth v1 example, includes a demo and is encrypted using aes.

Keyauth Keyauth V1.0 api wrapper in nodejs that includes requests being encrypted using aes. Discord & Support Server . Keyauth Example const Keyauth

Nov 27, 2022

A shared, encrypted cloud storage using Nostr.

nostr-storage A shared, encrypted cloud data store using Nostr. Installation This package is designed to work in both the browser and nodejs. !-- Bro

Dec 21, 2022

HackMIT 2022. 2nd Place in Blockchain for Society sponsored by Jump Crypto. A revolutionary web application that leverages machine learning and blockchain technology to improve the crowdsourcing experience!

HackMIT 2022. 2nd Place in Blockchain for Society sponsored by Jump Crypto. A revolutionary web application that leverages machine learning and blockchain technology to improve the crowdsourcing experience!

πŸ“• Wikisafe πŸ“• Wikisafe is a revolutionary new crowdsourcing web application that innovates the process of crowdsourcing information. This application

Dec 8, 2022

It is a very basic implementation of how blockchain works, mainly how the bitcoin blockchain.

How to run this program npm install node core/blockchain.js What is this It is a very basic implementation of how blockchain works, mainly how the bit

May 9, 2022
Owner
Publius Federalist
[email protected] - One for All
Publius Federalist
A service for sharing encrypted Markdown notes from Obsidian. Notes are end-to-end-encrypted and are only stored temporarily.

?? Noteshare.space Noteshare.space is a service for sharing encrypted Markdown notes from Obsidian. Notes are end-to-end-encrypted and are only stored

Maxime Cannoodt 56 Dec 26, 2022
Using decentralized identities with Web 2 to create a no login required website. Built using the Handshake blockchain.

Blending Web 2/3, is this Web .666? ( ‒̀ᴗ‒́ )و Μ‘Μ‘ Learn more by joining the Handshake Discord Community applause is a platform I built using centraliz

Publius Federalist 13 Mar 3, 2022
A simple to do list webpage where you can log the daily tasks you have to do, mark them as checked, modify them, reorder them and remove them. Made using HTML, CSS and JavaScript.

To-Do-List This Webpage is for an app called To-Do-List which helps you add, remove or check tasks you have to do. It is a simple web page which conta

Zeeshan Haider 9 Mar 12, 2022
A template repo that contains a NodeJS app that will consume messages from a RabbitMQ queue and immediately send them to an Azure EventHub.

README.md Summary This repo (RabbitMQ to EventHub Shovel) is a template that contains a NodeJS app that will consume messages from a RabbitMQ queue an

Valtech San Diego 6 Jul 2, 2022
Util for kafkajs to buffer messages and send them in batches, inspired by node-rdkafka

kafkjajs-buffer Plugin for kafkajs to buffer messages and send them in batches, inspired by node-rdkafka Overview kafkajs-buffer adds queue/buffer cap

Alberto Juan 7 Sep 7, 2022
Support documentation for Decrypt's applications, token, and community.

Website This website is built using Docusaurus 2, a modern static website generator. Installation npm install Local Development npm start This command

Decrypt 83 Dec 8, 2022
Input a list of Handshake top-level domains, outputs names sorted into 4 arrays: available, registered, reserved, or invalid.

name-check A simple NodeJS package that, given a flat list of top-level domain names, queries the Handshake (HNS) blockchain in order to classify each

Neel Yadav 2 Jan 8, 2022
MagicSniffer is a amazing tool could help you decrypt GI traffic by MAGIC of WindSeedClientNotify

MagicSniffer We have posted an article about this on sdl.moe: 原η₯ž 2.8 KCP ιͺŒθ―ε―†ι’₯δΊ€δΊ’ζ΅η¨‹θ§£ζžδΈŽζ΅ι‡θ§£ε―† As everyone knows, RSA is the most secure way to encrypt data

Sorapointa 49 Dec 29, 2022
A file sharing service, where you can upload files and provide a download link for anyone on the internet by sharing the link πŸ”— or via mail βœ‰οΈ which remains active for 24hours πŸ•™.

eShare | File Sharing App A file sharing service, where you can upload files and provide a download link for anyone on the internet by sharing the lin

Akhil Bhalerao 7 Nov 20, 2022
A messaging app built on top of Solana blockchain where you can store and view your messages.

Message App on Solana ?? This Message application written Rust using Anchor βš“ Setting up the Environment: Rust Installation curl --proto '=https' --tl

Ritesh 10 Oct 2, 2022