Last Login:
November 20, 2017


User Profile

Hits: 167,652
Joined August 06, 2005
Games (19)

Elicti (Old version)
February 08, 2006
June 26, 2006
April 17, 2006
April 20, 2006
April 25, 2006
April 26, 2006
Elicti-Version 1.1.3
June 15, 2006
July 13, 2006
SWP 1.5
July 31, 2006
Total Pwnage
August 21, 2006
Elicti: Patch 1.1.8
September 17, 2006
August 25, 2006
September 01, 2006
November 02, 2006
Spinning Squares
December 02, 2006
Elicti: 2.0.1
December 10, 2006
December 25, 2006
King Cuko's Lost Gold
February 07, 2007
Kevin's Quest
January 01, 2007
Favorite Users

Side projects are still fun
Posted on October 23, 2017 at 08:23

I took a little bit of a break this weekend to work on a side project with the hopes of brushing up on some networking and cryptography. I am by no means an expert in either, but I find both fascinating.

I had an idea which I have begun to implement. I wanted to solve the problem of "how can I safely transfer data between two computers, where neither is acting as a server?" If you have a home internet provider with an anti-server clause, this can be an issue. So, instead of just googling for surely hundreds of answers, I home rolled something, because fuck it, this is 64Digits and thats what we do.

The concept implements what I refer to as a client-authority-server relationship. Basically, its encrypted middlemanning by design. An "authority" is spun up, and servers connect to it via TCP, and perform a handshake to initiate an encrypted connection. The server identifies itself and how it would like to be referred to. A client then connects to the same authority, and asks to be piped through to the server it wants. Requests are then piped thought the authority, with the client's public key sent along such that the server can encrypt the response, hiding the content from the authority.

In this way, running a "server" looks no different than being connected to a service over TCP.

I've got the handshake and data passing working between the authority and client. Next up is to build a basic server, which can receive requests and pass them to an arbitrary program to satisfy requests.

I don't really have an end goal here, it has just been fun to build so far, as I'm learning about RSA and hybrid encryption, and I'm writing it in TypeScript, which I've been pretty hype on recently, giving me the ease-of-use of JS with the structure and compile-time checking of a typed/compiled language.

Anyone else have rando side projects? It has been a while since I just threw something together as a learning project. I forgot how much I love it.


This is relevant to my interests.
Posted by Alert Games October 23, 2017 14:48 - 29 days ago
| [#1]

Recent Activity
Active Users (0)