PowerRSA, implémentation de RSA en PowerShell

RSA en PowerShell

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 !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.