Well looking for an extra information, i found this nice page, explaining in short the differences between 3 RSA encryptions
https://www.cryptosys.net/pki/manpki...saschemes.html
as for ECIES
https://en.wikipedia.org/wiki/Integr...ryption_Scheme
Looks confusing at first, but if you look at
https://download.tmssoftware.com/Dow...graphyPack.pdf
we see this example for ECIES encryption
Code:
var
ecc: TECCEncSign;
cipher: string;
begin
ecc:= TECCEncSign.Create;
ecc.ECCType:= cc25519;
ecc.OutputFormat:= base64;
ecc.Unicode:= noUni;
ecc.NaCl := naclno;
ecc.GenerateKeys();
cipher:= ecc.Encrypt('test');
ecc.Free;
end;
Few things can be adjusted in many ways, but the simplest for your usage, you should replace ecc.GenerateKeys() with different algorithm that derive ECC private key from password (namely PBKDF2 or any better), i don't think you need the OutputFormat to be base64, also strangely enough there is no raw data feeding for most TMS cryptography classes, it is strings everywhere !
I don't think it is a huge problem as i am almost sure the RawData types handling routines are there but not public, (don't own the library so can't tell, but assuming based on my memory using their library form more than 10 years ago when i had subscription)