#!/bin/sh
clear
openssl="/usr/bin/openssl"
key=0
key_alice="key_alice"
key_bob="key_bob"
title()
{
printf "\e[1;33m"
printf "[+] $1"
printf "\e[0m\n"
}
title_b()
{
printf "\e[1;34m"
printf "[+] $1"
printf "\e[0m\n"
}
title_a()
{
printf "\e[1;35m"
printf "[+] $1"
printf "\e[0m\n"
}
rm -f $filedest $fileclrr.*
clear
if [ $key -eq 1 ]; then
printf "\n\e[1;33mGeneration du code PIN de \e[0m\e[1;34mBob : $RANDOM$RANDOM\e[0m\n"
printf "\e[1;33mGeneration du code PIN de \e[0m\e[1;35mAlice : $RANDOM$RANDOM\e[0m\n\n"
fi
echo
echo "βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ"
echo
title_b "π¨ : π Generation de la clΓ© privΓ©e de Bob"
if [ $key -eq 1 ]; then
$openssl genrsa -des3 -out "$key_bob.pem"
else
$openssl genrsa -out "$key_bob.pem" >/dev/null 2>&1
fi
sleep 1
title_b "π¨ : π Extraction de la clΓ© public de Bob depuis sa clΓ© privΓ©e"
if [ $key -eq 1 ]; then
$openssl rsa -in "$key_bob.pem" -pubout -out "$key_bob.pub"
else
$openssl rsa -in "$key_bob.pem" -pubout -out "$key_bob.pub" >/dev/null 2>&1
fi
sleep 1
echo
echo "βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ"
echo
title_a "π© : π Generation de la clΓ© privΓ©e de Alice"
if [ $key -eq 1 ]; then
$openssl genrsa -des3 -out "$key_alice.pem"
else
$openssl genrsa -out "$key_alice.pem" >/dev/null 2>&1
fi
sleep 1
title_a "π© : π Extraction de la clΓ© public de Alice depuis sa clΓ© privΓ©e"
if [ $key -eq 1 ]; then
$openssl rsa -in "$key_alice.pem" -pubout -out "$key_alice.pub"
else
$openssl rsa -in "$key_alice.pem" -pubout -out "$key_alice.pub" >/dev/null 2>&1
fi
sleep 1
echo
echo "βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ"
echo
title_b "π¨ : π Bob Γ©crit un message Γ Alice"
dest="message_de_Bob_pour_Alice"
echo "Bonjour Alice, je t'envoie ce message confidentiel, avec ton mot de passe pour notre site : 1A2B3C4D5E" > $dest.txt
sleep 2
title_b "π¨ : π© π Bob va chercher la clΓ© publique de Alice pour chiffrer le message"
cp -f "$key_alice.pub" "fichier_de_Bob-$key_alice.pub"
sleep 1
title_b "π¨ : π§ Bob va chiffre le message avec la clΓ© publique de Alice"
$openssl rsautl -encrypt -in message_de_Bob_pour_Alice.txt -pubin -inkey "fichier_de_Bob-$key_alice.pub" -out $dest.enc -pkcs
sleep 1
title_b "π¨ : π« Bob envoie le message chiffrΓ© Γ Alice"
fichier_alice="fichier_pour_Alice-$dest"
cp -f "$dest.enc" "$fichier_alice.enc"
sleep 1
title_b "π¨ : πͺ Bob envoie l'intΓ©gritΓ© du message Γ Alice"
bob_hash=$($openssl dgst -sha512 "$fichier_alice.enc")
sleep 1
echo
echo "βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ"
echo
title_a "π© : πͺ Alice vΓ©rifie l'intΓ©gritΓ© du fichier de Bob"
alice_hash=$($openssl dgst -sha512 "$fichier_alice.enc")
sleep 1
if [ "$alice_hash" = "$bob_hash" ] ; then
title_a "π© : π¬ Alice constate que le transfert s'est bien dΓ©roulΓ©"
fi
sleep 1
title_a "π© : π Alice dΓ©chiffre le fichier de Bob avec sa clΓ© privΓ©e"
rm -f fichier_de_Alice-message_*_Bob_pour_Alice.txt
$openssl rsautl -decrypt -in "$fichier_alice.enc" -inkey "$key_alice.pem" -out "$fichier_alice.txt"
sleep 1
title_a "π© : π Alice peut consulter le fichier dΓ©chiffrΓ©"
cat "$fichier_alice.txt"
sleep 1
printf "\n\n"