PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Cryptage RSA PKCS#1 v1.5
Cryptage RSA PKCS#1 v1.5
Débuté par _Uriel_, 09 nov. 2017 11:30 - 6 réponses
Membre enregistré
5 messages
Popularité : +1 (1 vote)
Posté le 09 novembre 2017 - 11:30
Bonjour,

Je dois crypter des données en utilisant l'algorithme RSA (PKCS #1 v1.5) avec clés de 1024 bits.
Je ne trouve pas cet algorythme dans les fonctions CrypteStandard et DecrypteStandard.
Existe-t-il des bibliothèques externes (Windows ou autres) permettant de faire ce cryptage?

Merci d'avance :)
Membre enregistré
948 messages
Popularité : +30 (92 votes)
Posté le 09 novembre 2017 - 11:49
Coucou,

Je pense que tu va devoir passé par un assembly DotNet ^^

https://msdn.microsoft.com/en-us/library/system.security.cryptography.rsapkcs1signatureformatter.aspx


(Simpas ton avatar ;))

--
Charly CanDo - In üs we trust - #92i
Do. Or do not. There is no try - #y0d4

(#Compétence & #rapidité & #implication & #references) > #PasDeCV
Je suis disponible pour du consulting Windev (#debug #Optimization #System #Etc)
Membre enregistré
5 messages
Popularité : +1 (1 vote)
Posté le 09 novembre 2017 - 12:05
Merci Charly, je vais aller farfouiller dans cette direction.
Membre enregistré
5 messages
Popularité : +1 (1 vote)
Posté le 17 novembre 2017 - 12:16
Bonjour,

Je suis passé par un assemblage .NET, en intégrant mscorlib.

Je fais les déclarations suivantes :
gtabPK est un tableau dynamique d'entiers sans signe sur 1 octet
gclRSA est un System.Security.Cryptography.RSACryptoServiceProvider
gclRSAParameters est un System.Security.Cryptography.RSAParameters

Puis lorsque je tente de manipuler un membre, j'ai une erreur :
POUR i = 1 _A_ Dimension(gtabPK)
gclRSAParameters.Modulus[i] = gtabPK[i] // L'erreur se déclenche ici
gclRSAParameters.Exponent[i] = gtabPK[i]
FIN

Erreur :
Impossible d'accéder au sous-élément.

Code erreur : 1151

Une idée du pb?
Membre enregistré
5 messages
Popularité : +1 (1 vote)
Posté le 17 novembre 2017 - 16:58
Bon à priori quand je mets ce code, j'ai plus l'erreur (mais aucune idée de savoir si l'affectation se fait correctement) :

gclRSAParameters.Modulus = gtabPK
gclRSAParameters.Exponent = gtabPK


J'ai cependant une autre erreur quand j'appelle plus loin la méthode Encrypt : Longueur incorrecte
gtabDataCrypted <= gclRSA:Encrypt(gtabDataDecrypted,Faux)


Le tableau gtabDataDecrypted est un tableau dynamique d'entiers sans signe sur 1 octet
En effet la méthode de System.Security.Cryptography.RSACryptoServiceProvider est déclarée ainsi :

// Encrypt
//
// Paramètres :
// rgb : Tableau de entier sans signe sur 1 octet
// fOAEP : booléen
// Valeur de retour :
// tableau

[ <Résultat> = ] Encrypt (LOCAL RGB est un(e) tableau de entier sans signe sur 1 octet, LOCAL fOAEP est un(e) booléen)


Le tableau gtabDataDecrypted est alimenté par une chaine dont chaque caractère est converti en son code Ascii.
Membre enregistré
948 messages
Popularité : +30 (92 votes)
Posté le 18 novembre 2017 - 01:38
Coucou,

comme finalement j suis le seul a avoir repondu,
tu me contact direct ?

charly.cando.anywhere@gmail.com ^^

--
WINDEV TOUR 23 - C'EST PARTI !
----
Si tu veux, traite moi de commercial bidon ça m'est égal,
Membre enregistré
5 messages
Popularité : +1 (1 vote)
Posté le 20 novembre 2017 - 13:58
Problème résolu : il faut déclarer les chaînes en UNICODE avant de les transférer dans des tableaux d'entiers pour les fonctions Encrypt et Decrypt.

A bon entendeur ;)