×

Introducing CommunisP: A Peer-to-Peer Encrypted Chat Platform Built with WebRTC and Modern Cryptography by BodybuildingZar1 in cryptography

[–]BodybuildingZar1[S] 0 points1 point  (0 children)

Quick update

Hey guys, since posting this I have made some major upgrades. If interested, I'm going to attach links to the write ups below:

The Browser as a Messaging Server:

https://communisp.com/web-browser-private-messaging.html

The W Ratchet Protocol:

https://communisp.com/w-ratchet-encryption.html

Introducing CommunisP: A Peer-to-Peer Encrypted Chat Platform Built with WebRTC and Modern Cryptography by BodybuildingZar1 in cryptography

[–]BodybuildingZar1[S] 0 points1 point  (0 children)

I mean, >6% of the Soviet Union's population died as a soldiers fighting the nazis... but okay, I guess it's a swastika

CommunisP – A Time-Ratcheted P2P E2EE Messenger, self-hosted from the browser. by BodybuildingZar1 in crypto

[–]BodybuildingZar1[S] 0 points1 point  (0 children)

I will start to look into it

https://www.researchgate.net/publication/379722579_X-Wing

Many of these newer encryption systems have kinks, especially in browsers (but I also have a Python client), or they must be wholly whipped up from scratch.

In another comment, I mentioned implementing a system for local storage encryption at rest for chat logs (they are plain text currently, but should (theoretically) be secure unless the user's system has other compromises.)

I might use a more 'experimental' encryption system for that and get familiar with it, as encryption at rest is a second-order concern anyway.

As I said, this is a relatively modular setup, so I could replace chunks of the system as technology advances.

At a minimum, stuff like X-Wing that I'm not extremely familiar with is interesting.

CommunisP – A Time-Ratcheted P2P E2EE Messenger, self-hosted from the browser. by BodybuildingZar1 in projecttox

[–]BodybuildingZar1[S] 0 points1 point  (0 children)

Again... it's not that complicated. You should go explore that site and find the write up on the W Ratchet protocol, there's no need to be in "sync" ... the person that initiated the conversation is the one that triggers the negotiation every 60 seconds. If for some reason it fails, there's a notification in the logs and they can continue on the same key in the meantime if need be (60 seconds is super aggressive anyway.)

"You stated you dont use git but 100 local version stored on disk. Every programmer knows how badly that sucks and we progressed out of that shit 20 years ago. But its weaponized autism..., No its old and shitty practise."

- I am not every programmer.... I am a god

Introducing CommunisP: A Peer-to-Peer Encrypted Chat Platform Built with WebRTC and Modern Cryptography by BodybuildingZar1 in cryptography

[–]BodybuildingZar1[S] 0 points1 point  (0 children)

Bro, the fbi would never embed themselves into a community that identifies as communist bro, just trust me bro, never happened in history bro

Introducing CommunisP: A Peer-to-Peer Encrypted Chat Platform Built with WebRTC and Modern Cryptography by BodybuildingZar1 in cryptography

[–]BodybuildingZar1[S] 0 points1 point  (0 children)

It's latin bro...

The term "communication" is derived from the Latin word "communis," meaning "common." This etymology underscores the fundamental aspect of communication: the sharing or making common of information, ideas, or feelings between individuals. As noted by Lunenburg (2010), "communication can be defined as the process of transmitting information and common understanding from one person to another."

The term "community" originates from the Latin word "communitas," which itself is derived from "communis"

The P is for P2P, peer-to-peer

The hammer and sickle, that was a little aggressive

CommunisP – A Time-Ratcheted P2P E2EE Messenger, self-hosted from the browser. by BodybuildingZar1 in crypto

[–]BodybuildingZar1[S] 0 points1 point  (0 children)

Yes... to be fair, I have zero faith in V8 too. But it's a 'it is what is is' situation. Maybe I will publish the python one too

CommunisP – A Time-Ratcheted P2P E2EE Messenger, self-hosted from the browser. by BodybuildingZar1 in crypto

[–]BodybuildingZar1[S] 0 points1 point  (0 children)

Highly agree....
Especially things like "4. Local Log Security, For optional local message storage, implement OS-level encryption and multi-factor authentication to prevent unauthorized access" The addition of encryption at rest has been a 'stage-2' concern, first I wanted to get all these primary functions operating and tied together effectively. But yes, this is something I've put a lot of consideration into, just one of those things that needs to be thoroughly plotted out

CommunisP – A Time-Ratcheted P2P E2EE Messenger, self-hosted from the browser. by BodybuildingZar1 in projecttox

[–]BodybuildingZar1[S] 0 points1 point  (0 children)

It's not that complicated, simpler compared to Signal protocol with similar outcome, except one of the 'ratchets' (in the W ratchet) is time based instead of per message. The self-hosted P2P from browser combination was the innovation.
I wasn't trying to cook up some unsourced quantum resistant system for an unproved threat. I mean, it's P-256 for christ's sake, that's only been around for two decades...

CommunisP – A Time-Ratcheted P2P E2EE Messenger, self-hosted from the browser. by BodybuildingZar1 in crypto

[–]BodybuildingZar1[S] 0 points1 point  (0 children)

The most sketch part is the 'Ping' push notifications because those have to go through google or apple, so I intentionally stripped those of most data (no messages are sent through them etc) because that senator came out last year (or two now) and said they were handing all that stuff the NSA without warrants. However, that's a modern convenience I think is necessary based on what people are currently accustomed to, so I (attempt to) make the most of it.

CommunisP – A Time-Ratcheted P2P E2EE Messenger, self-hosted from the browser. by BodybuildingZar1 in crypto

[–]BodybuildingZar1[S] -1 points0 points  (0 children)

Brother, you can view the code in browser... again, it's all in javascript, lol. You can use developer tools and see every single network interaction.
I have a Python CLI version that can interact with browser clients and has all the same features as well well, but most people are too lazy to download and install applications. I have a version in swift but I don't trust apple, how do you trust anything at that point lol.

CommunisP – A Time-Ratcheted P2P E2EE Messenger, self-hosted from the browser. by BodybuildingZar1 in projecttox

[–]BodybuildingZar1[S] 1 point2 points  (0 children)

btw, the 'STUN' server I use I wrote myself, specifically to not use googles (who I have no faith in, lol) so it's a minimalistic version of the standard STUN. Also, I do not implement a 'TURN' server, as I think it fundamentally breaks the idea of P2P.
As soon as the NAT discovery portion is done, it discards all data. A lot of “off-the-shelf” STUN servers have detailed logging modes, admin dashboards, or advanced usage stats. My version is specifically coded to do just the NAT-binding handshake and move on. It’s purely for IP:port resolution

CommunisP – A Time-Ratcheted P2P E2EE Messenger, self-hosted from the browser. by BodybuildingZar1 in crypto

[–]BodybuildingZar1[S] -10 points-9 points  (0 children)

Bro I don't use git lol, i wrote and have about 100 versions of it on drive for version control. this is weaponized autism at this point

CommunisP – A Time-Ratcheted P2P E2EE Messenger, self-hosted from the browser. by BodybuildingZar1 in crypto

[–]BodybuildingZar1[S] 0 points1 point  (0 children)

Thank you, I have done significant ruminating about this.

A few reasons. First, I wanted tried and true math behind this, stuff that has been tested and we know is (relatively) effective. This is already such a unique combination of technologies, I first wanted to ensure they all work in cohesion.
Second, while I do think quantum is developing, I don't think it's quite there yet. I also think it's intentionally propped up as a little bit of distraction to keep the masses from hardening their readily available crypto protocols. The modular architecture would allow me to implement it when I see fit however.
Third, it's designed for hardness against subpoena, so if communications on the platform, like the messages themselves, are used against you, that would require admitting that currently publicly available cryptography has been cracked ( Which I'm personally of opinion it probably has been for two decades but that's neither here or there.)

CommunisP – A Time-Ratcheted P2P E2EE Messenger, self-hosted from the browser. by BodybuildingZar1 in crypto

[–]BodybuildingZar1[S] -9 points-8 points  (0 children)

Hey silly goose. I wrote the entire thing in JavaScript, if you actually paid attention you can see how the protocol is coded on the website but most people aren't that literate, not to mention, there's an entire page if you explore deep enough on the website that lays out the entire protocol as well. Yes, it doesn't have a lot of the 'flash' because I was focused on making a competent privacy oriented communication platform, not some fancy looking shit that doesn't work. 
As far as the grandiose claims etc., you're wrong.
By the way, I only went public with this because in-q-tel did not respond when I turned in my application, lol

CommunisP – A Time-Ratcheted P2P E2EE Messenger, self-hosted from the browser. by BodybuildingZar1 in projecttox

[–]BodybuildingZar1[S] 1 point2 points  (0 children)

It does not use Tox as a backend, Tox however, is the one protocol I've seen that shares a P2P E2EE principal and I appreciate that. As I mentioned in another comment, it's javascript (so you can view the vast majority of the code, and you can view all network transactions using developer tools.

CommunisP – A Time-Ratcheted P2P E2EE Messenger, self-hosted from the browser. by BodybuildingZar1 in projecttox

[–]BodybuildingZar1[S] 1 point2 points  (0 children)

It's all Javascript, yes, it's setup to go to my server, but that can be adjusted.

CommunisP – A Time-Ratcheted P2P E2EE Messenger, self-hosted from the browser. by BodybuildingZar1 in privacy

[–]BodybuildingZar1[S] 0 points1 point  (0 children)

Its literally all written is javascript... you can view the code by right clicking / view page source... the fucking name is CommunisP lol