Développement d'applications - cybersécurité - radiogéolocalisation et radionavigation

Actualités à ne pas manquer

Venez nous rencontrer lors de nos conférences.

Notre savoir faire

Technologies et services

Notre entreprise

Cyberens est une société de conseil fondée en 2010 qui est spécialisée dans ​​les technologies de défense, de sécurité et de l’espace. Située à Bordeaux , nos clients sont français et internationaux.

TMS Cryptography pack 2.5.0.0: chiffrer un message en utilisant une clé dérivée d'un mot de passe

Cet exemple utilise les algorithmes Argon2d, ed25519 et AES avec les composants TArgon2KeyDerivation, TECCEncSign et TAESEncryption.
Alice veut envoyer un message à Bob, donc elle possède sa clé privée (il utilise l’algorithme ed25519).
Le mot de passe peut être demandé à Alice en utilisant une boîte de dialogue.
Alice utilise la fonction suivante pour chiffrer un message à Bob :

function EncryptMessageToBob(password: string; input: string; BobPublicKey: string): string;

var

  aesKey: string;

  eccCipher, aesCipher : string;

begin

  Argon2.StringSalt := ‘0123456789012345’;

  Argon2.outputFormat := raw;

  aesKey := Argon2.GenerateKey(password);

  ECC.PublicKey := BobPublicKey;

  eccCipher := ecc.Encrypt(aesKey);

  aes.Key := aesKey;

  aesCipher := aes.Encrypt(input);

  Result := eccCipher + ‘+’ + aesCipher;

end;

Pour déchiffrer le message d’Alice, Bob utilise la fonction suivante :

function DecryptMessageFromAlice(input: string; BobPrivateKey: string): string;

var

  eccCipher, aesCipher: string;

  aesKey: string;

begin

  eccCipher := input.subString(0, Pos(‘+’, input) – 1);

  aesCipher := input.subString(Pos(‘+’, input), input.Length);

  ECC.PrivateKey := BobPrivateKey;

  aesKey := ecc.Decrypt(eccCipher);

  aes.Key := aesKey;

  Result := aes.Decrypt(aesCipher);

end;

Pour les messages suivants, Alice et Bob peuvent enregistrer la clé aesKey et ne pas envoyer la chaîne eccCipher.

Syntaxe du code grâce à http://markup.su/highlighter/

cyberens-blanc

Tour 6,

74 rue Georges Bonnac

33000 Bordeaux

Mentions Légales

©copyright Cyberens 2024