Sto crittografando qualcosa con una chiave pubblica generata usando la curva ed25519, con OpenPGP.js. Va qualcosa del genere:
var options = {
data: str,
publicKeys: publicKeys,
armor: false
};
openpgp.encrypt(options).then(function(ciphertext) {
var bytes = ciphertext.message.packets.write();
});
Da quello che posso osservare, l'output è deterministico - cioè è lo stesso output ogni volta senza un componente casuale. Sto sfruttando questo fatto nel mio progetto di database, e quindi ho bisogno che sia sempre deterministico.
È questo qualcosa che posso assumere? È documentato da qualche parte? È un comportamento corretto per OpenPGP?
Ora mi sento in dubbio perché questo post specifica che dovrebbe avere un componente casuale: Crittografa lo stesso file con GnuPG e la stessa chiave produce lo stesso testo cifrato?