No description
Find a file
2024-12-17 20:41:30 +02:00
.vscode started working o nstuff yay 2024-12-14 17:17:58 +02:00
client more progress :D 2024-12-17 20:41:30 +02:00
lib more progress :D 2024-12-17 20:41:30 +02:00
server more progress :D 2024-12-17 20:41:30 +02:00
.gitignore ignore keys 2024-12-17 17:51:10 +02:00
online_security_project.sln started working o nstuff yay 2024-12-14 17:17:58 +02:00
protocol.md more progress :D 2024-12-17 20:41:30 +02:00
README.md more progress :D 2024-12-17 20:41:30 +02:00

Project - TODO:

[ ] Create a skeleton protocol [ ] implement most of the skeleton [ ] Create basic TCP server [ ] Create basic client that connects to the server [ ] Send ping message from client to server [ ] Add more items based on skeleton protocol [ ] Refine protocol using the implementation (and update stuff that got changed in impl) [ ] Finish implementing the protocol [ ] Update the protocol file with the latest structs and stuff

Protocol todo:

[ ] Figure out how a message and message ack payload will look [ ] Figure out server responses (hopefully manages to be stuck in a 512 bit block as well)

client todo:

[ ] Check for key when turned on [x] generate key and register if no key is preset, and save it after registration is done [ ] if key is present, start by establishing connection (which makes sure we are signed in) [ ] use AES to get basic packets from the server [ ] use RSA private key to read normal messages

Server todo:

[ ] Laucnh task for each new connection [ ] use RSA key to get first message and extract AES key [ ] verify the user using its public RSA key [ ] if it was a register session save the key into the BIG DATA STRUCTURE [ ] Keep lists of incoming messages (doesnt need to know from who, they are just big blobs of shlomp) [ ] When user asks for incoming messages, make basic packet and append the incoming messages - last byte is the "how many messages are left" byte - each byte in the extra data will be the length of the next message, so if there are 3 messages of length 128, 200, 300 bytes it will be [128, 200, 300, 0 ...] and the actual position in the payload is easy to calculate ([128, 200+128=328, 300+328=628, ...])