Salut à tous, une brève pour aujourd’hui avec RSA en PowerShell.. Je ne sais pas si vous vous rappelez, mais il y a quelques temps j’avais proposé sur le site quelques implémentations d’algorithmes de chiffrement en mode « tuto débutant » : César, Vigenère, et Enigma et sa cryptanalyse, et on avait été, jusqu’à DES. Aujourd’hui je vais vous pointer une implémentation home-made dans la droite lignée de ces articles : PowerRSA.
En effet, il y a quelques temps de cela, est sortie sur le technet cet article Implementing the RSA algorithm (PowerRSA) qui propose une implémentation de RSA en PowerShell… Et voilà, je ne sais pas pourquoi vous pourriez avoir besoin de ça, mais pourquoi pas ?
Cela peut être intéressant, par exemple, si vous avez besoin de décortiquer le fonctionnement de RSA pour un papier ou une présentation. PowerShell restant un langage interprété et facilement lisible ce qui permet de détricoter l’algorithme tranquillement.
Un petit exemple d’usage de PowerRSA :
> .\PowerRSA.ps1 -Method GenKeys
Keys generating…
Keys saved in C:\Users\titi\Desktop\PowerRSA\20190212193137
> .\PowerRSA.ps1 -Method Enc -Exponent .\20190212193137\PublicKey -Modulus .\20190212093137\Modulus
Enter message to encrypt: trolololololololoo
Data saved in C:\Users\titi\Desktop\PowerRSA\20190212193444
> Get-Content .\20190212093444\Data
42950C7C3C8996C3C45FC8CB57B1AE3E6965BF00E582CCAFF77340911FA19539937D087B084379142FD546[...]
> .\PowerRSA.ps1 -Method Dec -Data .\20190212093444\Data -Exponent .\20190212093137\PrivateKey -Modulus .\20190212193137\Modulus
trolololololololoo
Et voilà, on ne peut pas vraiment recommander son utilisation puisque PowerShell supporte via le .NET et la classe RSACryptoServiceProvide et l’usage de certificats X509 traditionnels. Ce qui permet de faire du chiffrement RSA « proprement ». Mais je suis sûr que vos esprits tordus trouveront un cas d’usage à PowerRSA !