User Tools

Site Tools


en:kriptografik_suit

Cryptographic Suite

General Information

Cryptographic algorithms are weakening day by day and there is a need to transition to new algorithms. RSA algorithm is used for signature creation in the current structure. The RSA algorithm was one of the first public key cryptography algorithms developed by Ron Rivest, Adi Shamir and Leonard Adleman in 1977. Although the RSA algorithm is still secure, the use of elliptic curves in cryptography is increasing and the elliptic curves play an important role in many public key cryptosystems.

Elliptic Curve Cryptography (ECC) was first proposed by Neal Koblitz and Victor Miller in 1985. While the reliability of the RSA algorithm is based on the difficulty of solving the factorization problem, the reliability of the ECC algorithm is based on the difficulty of solving the discrete logarithm problem. Elliptic curve encryption can provide security equivalent to the security provided by classical encryption algorithms with much shorter keys. It can also encrypt faster than RSA algorithm for the same key size. The elliptic curve encryption with a small key size means less processing costs and less memory consumption. With these features, ECC is the candidate to replace the RSA algorithm.

In order for the Elliptic Curve Signature Algorithm (ECDSA) to be used without any problems, hardware, software and libraries that create and validate electronic signatures must be compatible with this algorithm. In this context, a cryptographic suite was created to test the interoperability of the verification mechanisms of e-signature applications with different signature and hash algorithms.

Procedure

The following table provides the names and properties of the signature files created within the cryptographic suite:

Signed Document Name Signed Document Property Signature Algorithm
EC256 Valid signature created by using certificate with EC256 signing key ECDSA_SHA256
EC384 Valid signature created by using certificate with EC384 signing key ECDSA_SHA384
EC521 Valid signature created by using certificate with EC521 signing key ECDSA_SHA512
RSA2048_PSS_SHA256 Valid signature created by using certificate with RSA2048 signing key RSA_PSS_SHA256
RSA2048_PSS_SHA384 Valid signature created by using certificate with RSA2048 signing key RSA_PSS_SHA384
RSA2048_PSS_SHA512 Valid signature created by using certificate with RSA2048 signing key RSA_PSS_SHA512
RSA2048_SHA256 Valid signature created by using certificate with RSA2048 signing key RSA_SHA256
RSA2048_SHA384 Valid signature created by using certificate with RSA2048 signing key RSA_SHA384
RSA2048_SHA512 Valid signature created by using certificate with RSA2048 signing key RSA_SHA512
RSA3072_PSS_SHA256 Valid signature created by using certificate with RSA3072 signing key RSA_PSS_SHA256
RSA3072_PSS_SHA384 Valid signature created by using certificate with RSA3072 signing key RSA_PSS_SHA384
RSA3072_PSS_SHA512 Valid signature created by using certificate with RSA3072 signing key RSA_PSS_SHA512
RSA3072_SHA256 Valid signature created by using certificate with RSA3072 signing key RSA_SHA256
RSA3072_SHA384 Valid signature created by using certificate with RSA3072 signing key RSA_SHA384
RSA3072_SHA512 Valid signature created by using certificate with RSA3072 signing key RSA_SHA512

Cryptographic Suite Packages

Hash Algorithm for Elliptic Curve Keys

While there is no cryptographic restriction on the selection of the hash algorithm according to the key size in the RSA algorithm, a hash algorithm suitable for the key length should be used in order for the signatures created using the Elliptic Curve key to be considered cryptographically secure. Accordingly, signature creation applications should consider the key and hash algorithm combinations given in the table below. In addition, e-signature applications should determine the key of the signer certificate and should not leave the choice of signature algorithm for Elliptic Curve keys to user preference.

EC Key Hash Algorithm Signature Algorithm
NIST P-256 (OID: 1.2.840.10045.3.1.7)SHA-256ECDSA_SHA256
NIST P-384 (OID: 1.3.132.0.34)SHA-384ECDSA_SHA384
NIST P-521 (OID: 1.3.132.0.35)SHA-512ECDSA_SHA512
en/kriptografik_suit.txt · Last modified: 2023/07/14 12:55