SSA-Products / hidata

Unfinished | A 100% end-to-end crypted and anonymous file hoster written in python

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This project is still ongoing! It will be migrated to another repo (hide-sh/hidata) and rewritten in Rust

In developement !

Hidata encryption system

Communication

RSA encryption, key exchange at the beginning of the commucation (using sockets) and then use websockets to send and recieve data

File upload and download

Client

  • Upload
data = bytes
key = str
client_id = str

encrypted_data = encrypt(data, key)

request = {
	"client_id": hash(client_id),
	"key": hash(key),
	"data": encrypted_data
}

response = {
	"file_id": file_id
}
  • Download
client_id = str
file_id = str
key = str

request = {
	"client_id": hash(client_id),
	"key": hash(key),
	"file_id" = file_id
}

response = {
	"data": encrypted_data
}

data = decrypt(response["data"], key)

Server

  • Upload (get)
response = {
	"client_id" = hash
	"key" = hash
	"data" = data
}

file_id = generate_id()
db.add(response["client_id"], response["data"], response["key"], file_id)

request = {
	"file_id": file_id
}
  • Download
response = {
	"client_id" = hash,
	"key" = hash,
	"file_id" = file_id
}

request = {
	"data" = db.find(response["client_id"], response["key"], response["file_id"])
}

About

Unfinished | A 100% end-to-end crypted and anonymous file hoster written in python