Jump to content
Ivana

Recommended Cryptographic Library

Recommended Posts

Hi all.

I am new here so please forgive me if I don't ask my question properly.

 

So I am starting a new project that requires some Cryptographic algorithms for certain purposes which are

 

Elliptical curves algorithms inclusive of secp256k1, Ed25519 (should have the ability to generate keypairs too).

Asymmetric ciphers like AES, ChaCha20

Hashes like Sha256, Sha512, Sha3 and Blake2B.

 

The requirements for the Cryptographic library is cross platform, affordable (if possible free), should provide reasonable performance.

 

So I have come across TMS Cryptography Pack and decided to ask about people's experiences with it, performance wise, support wise and so on.

 

If anyone has alternatives that meet the requirements above, it would be nice to hear your suggestions.

 

Thanks and awaiting your responses.

 

 

Share this post


Link to post

Our Open-Source https://github.com/synopse/mORMot/blob/master/SynCrypto.pas has almost all that you require.

About performance, it is the only one in the Delphi area using AES-NI and optimized SSE3/SSE4.2 assembly - as far as I know. So it should blow alternatives.

It is cross-compiler (Delphi and FPC) and cross-platform (Windows, Linux, BSD... thanks to FPC).

 

For elliptical curves, see its sibbling https://github.com/synopse/mORMot/blob/master/SynEcc.pas

It supports only secp256r1 but it is feature complete (e.g. simple CA management) and fast (1 ms to create a key pair, 0.4 ms to sign or verify on x86-64) - also cross-platform and cross-compiler.

See the documentation at https://synopse.info/files/html/Synopse mORMot Framework SAD 1.18.html#TITL_187

 

Both are highly maintained, and used on production since years.
They don't require any external dll (like OpenSSL) which tends to be a maintenance nightmare on Windows.

Edited by Arnaud Bouchez
  • Like 2
  • Thanks 1

Share this post


Link to post
33 minutes ago, Arnaud Bouchez said:

Our Open-Source https://github.com/synopse/mORMot/blob/master/SynCrypto.pas has almost all that you require.

About performance, it is the only one in the Delphi area using AES-NI and optimized SSE3/SSE4.2 assembly - as far as I know. So it should blow alternatives.

It is cross-compiler (Delphi and FPC) and cross-platform (Windows, Linux, BSD... thanks to FPC).

 

For elliptical curves, see its sibbling https://github.com/synopse/mORMot/blob/master/SynEcc.pas

It supports only secp256r1 but it is feature complete (e.g. simple CA management) and fast (1 ms to create a key pair, 0.4 ms to sign or verify on x86-64) - also cross-platform and cross-compiler.

See the documentation at https://synopse.info/files/html/Synopse mORMot Framework SAD 1.18.html#TITL_187

 

Both are highly maintained, and used on production since years.
They don't require any external dll (like OpenSSL) which tends to be a maintenance nightmare on Windows.

Thanks a lot for your contributions, it is very much appreciated. I also noticed there is support for ECDH, something I need but forgot to indicate earlier on.

I will also wait for contributions from others as regards the missing components that are unfortunately not available in Mormot.

Thanks once again.

Share this post


Link to post

Hi Ivana and welcome to the forum.

To answer your question, CryptoLib4Pascal is the complete package and more.

The hashes you requested and more can be found here

sample for generating Key Pairs with Elliptic curves, signing and verifying can be found here and here

AES and Chacha20 sample here

 

Perks of CryptoLib4Pascal

Constantly developed and improved

Cross Platform and Cross Compiler support

used in the real world on various products

uses the friendly MIT License

Best of all, it's free.

 

 

 

  • Like 3
  • Thanks 1

Share this post


Link to post
10 hours ago, Ugochukwu Mmaduekwe said:

Hi Ivana and welcome to the forum.

To answer your question, CryptoLib4Pascal is the complete package and more.

The hashes you requested and more can be found here

sample for generating Key Pairs with Elliptic curves, signing and verifying can be found here and here

AES and Chacha20 sample here

 

Perks of CryptoLib4Pascal

Constantly developed and improved

Cross Platform and Cross Compiler support

used in the real world on various products

uses the friendly MIT License

Best of all, it's free.

 

 

 

Thanks a lot. Will surely look into this.

Share this post


Link to post
10 hours ago, Ugochukwu Mmaduekwe said:

Hi Ivana and welcome to the forum.

To answer your question, CryptoLib4Pascal is the complete package and more.

The hashes you requested and more can be found here

sample for generating Key Pairs with Elliptic curves, signing and verifying can be found here and here

AES and Chacha20 sample here

 

Perks of CryptoLib4Pascal

Constantly developed and improved

Cross Platform and Cross Compiler support

used in the real world on various products

uses the friendly MIT License

Best of all, it's free.

 

 

 

Thanks a lot. Will surely look into this.

Share this post


Link to post
8 minutes ago, Thijs van Dien said:

If you can get away with its limited functionality (which is sort of the point), just use libsodium.

Correct me if I am wrong but this will require him to port the headers first of all because the ones I see online are not crossplatform?

Share this post


Link to post
On 9/6/2019 at 4:47 AM, Ugochukwu Mmaduekwe said:

Hi Ivana and welcome to the forum.

To answer your question, CryptoLib4Pascal is the complete package and more.

The hashes you requested and more can be found here

sample for generating Key Pairs with Elliptic curves, signing and verifying can be found here and here

AES and Chacha20 sample here

 

Perks of CryptoLib4Pascal

Constantly developed and improved

Cross Platform and Cross Compiler support

used in the real world on various products

uses the friendly MIT License

Best of all, it's free.

Any installation and user guide?  :classic_rolleyes:

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×