Slides e códigos sobre os principais aspectos de Criptografia Simétrica, Assimétrica e Hashing.
Script em PHP que utiliza a libsodium para gerar uma informação (como um access token ou cookie) criptografada responsável por identificar um usuário e, com uma simples técnica de bit-flipping, fazer um ataque força-bruta para demonstrar a importância de sempre fazer o hashing para garantir integridade e autenticidade do dado.
Para rodar o teste, basta executar
$ php encrypt-without-hash.php
| Se você não possuir um ambiente com PHP configurado com a libsodium
, basta iniciar um novo Docker com:
$ ./run
Na pasta scripts/node
, há alguns scripts que devem ser rodados dentro de um Docker pois são necessários algumas
bibliotecas. Para rodar:
./run
node-rsa-encrypt.js
e node-rsa-decrypt.js
são scripts feitos em Node.js para implementar a criptografia híbrida com RSA
Para rodar os testes, basta executar
$ cd scripts/node/symmetric
$ node node-rsa-encrypt.js
# Digitar a mensagem que deseja criptografar
# Copiar o texto criptografado
$ node node-rsa-decrypt.js
# Colar o texto criptografado copiado anteriormente
Novamente, se quiser gerar sua própria chave simétrica, execute:
# Se não possuir o pwgen, você pode acessar algum site para gerar chaves
$ pwgen -sy1 32 > symmetric.key
node-rsa-encrypt.js
e node-rsa-decrypt.js
são scripts feitos em Node.js para implementar a criptografia híbrida com RSA
Para rodar os testes, basta executar
$ cd scripts/node/asymmetric
$ node node-rsa-encrypt.js
# Digitar a mensagem que deseja criptografar
# Copiar o texto criptografado
$ node node-rsa-decrypt.js
# Colar o texto criptografado copiado anteriormente
PS: as chaves assimétricas já foram geradas anteriormente para facilitar o processo. Se você quiser gerar as suas próprias chaves, basta executar:
$ ssh-keygen -t rsa -b 2048 -m PEM -f ./id_rsa && \
ssh-keygen -e -m PEM -f id_rsa > id_rsa.pub