- por exemplos da cli e tirar os curls
- agradecimentos ao prof
- Logging
- TLS
- RSA
- Routes
- Login
- Register
- Old
- Gen (key generation for previous times)
- Now
- Encrypt
- Decrypt
- Later
- Encrypt
- Subcommands
- Login
- Register
- Old
- Watch
- Encrypt
- Decrypt
TODO
- gerar chaves pseudo-aleatorias com uma cifra, dependentes do email, password, dia e hora (por exemplo SHA256) -> mostrar na pagina/cli
- gerar chaves para uma determinada hora tambem dependentes do mesmo, para cifrar um ficheiro com essa chave -> gerar codigo HMAC-SHA256 ligado à chave
- cifrar com essas chaves e devolver o ficheiro e o hmac do ficheiro ao utilizador
- permitir tentar decifrar um criptograma com uma chave que o utilizador da -> o sistema verifica o codigo HMAC ligado ao ficheiro e avisa o utilizador se nao estiver certo
- escolher entre varios tipos de cifra
- escolher HMAC entre 256 e 512
- keypairs RSA
- signup por email e password no cli
- signup por email e password no site
- permitir um user aceder qualquer chave que tenha usado no passado
- logs de atividade
- SSL/TLS ou LetsEncrypt para a ligacao do cli/site com o backend
# Server
cargo run --bin server
# Cli
cargo run --bin see-u-l4ter
# Example encrypt
cargo run --bin see-u-l4ter encrypt Cargo.lock -c 2 -m 1 -t 2024-05-13-21:47
# Example decrypt
cargo run --bin see-u-l4ter decrypt Cargo.lock.zip
nix build --impure