Je ne suis pas un adepte du dotnet, du coup, je lis sans vraiment tout comprendre, mais sinon, dans les grandes lignes, si j'ai bien compris :
-> On récupére la clé dans un tableau de BYTE (je l'ai par défaut dans un tableau);
-> On utilise DecodeX509PublicKey sur la clé (j'ai un équivalent sous OpenSSL je crois);
-> On chiffre le (salt + key en UTF8) avec la key.
Mais je pense oublié quelque chose :x