Last update 2020.07.31
This project is my personal project devised by graduation class word
Current project goal: AES encrypted communcation
originally, this project goal was make encrypted storage. this project was stopped so long times ago. so, change the project goal from encrypted storage to encrypted socket communcation I was started this project for implmented AES cryptography using C lang. Altough project goal changed, my goal was not changed.
Encrypt type: AES (CTR mode)
Network way: TCP socket
Rand function: rand of openssl
-
Make simple socket (test by chat)
-
Connect Database and work test
-
Make Convert Character to Hex
-
Make AES module (Also Inverse Function)
- Make Add Round Key
- Make Sub Byte
- Make Shift Rows
- Make Mix Columns
- Make Key Expansion
-
Test AES module
- Key Expansion
- Sub Byte
- Shift Rows
- Mix Columns <-
find bug at this function
-
Make CTR mode
- Encrypt function
- Decrypt function
Don't confuse between int type and uint8_t type :(
- Original Message: Hello World!!
- Communcation flow
- Client send: Hello World
- Server send: Hello World too.
- You can see payload data
- Communcation flow
- Client send: Hello World
- Server send: Hello World too.
- You can't see payload data (encrypted)
- but, endpoint host can see payload data
# make
### AES Cryptograph function test
./test/aes_test
### AES encryptied communcation test
# Plain text communcation
./bin/server_plain
./bin/client_plain
# Encyprted text communcation
./bin/server
./bin/client