====== 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===== Cryptographic suite packages for selected signature types are given in the table below. ^** Cryptographic Suite Package **^ |[[ https://yazilim.kamusm.gov.tr/?q=tr/system/files/private/kripto_eyp2.0.rar |e-Correspondence Package]]| |[[ https://yazilim.kamusm.gov.tr/?q=tr/system/files/private/kripto_cades_xlong_ayrik.rar |CAdES-X Long Detached]]| |[[ https://yazilim.kamusm.gov.tr/?q=tr/system/files/private/kripto_cades_xlong_butunlesik.rar |CAdES-X Long Attached]]| |[[ https://yazilim.kamusm.gov.tr/?q=tr/system/files/private/kripto_cades_esa_ayrik.rar |CAdES-A Detached]]| |[[ https://yazilim.kamusm.gov.tr/?q=tr/system/files/private/kripto_cades_esa_butunlesik.rar |CAdES-A Attached]]| |[[ https://yazilim.kamusm.gov.tr/?q=tr/system/files/private/kripto_p4_cades_xlong_ayrik.rar |P4 CAdES-X Long Detached]]| |[[ https://yazilim.kamusm.gov.tr/?q=tr/system/files/private/kripto_p4_cades_xlong_butunlesik.rar |P4 CAdES-X Long Attached]]| |[[ https://yazilim.kamusm.gov.tr/?q=tr/system/files/private/kripto_p4_cades_esa_ayrik.rar |P4 CAdES-A Detached]]| |[[ https://yazilim.kamusm.gov.tr/?q=tr/system/files/private/kripto_p4_cades_esa_butunlesik.rar |P4 CAdES-A Attached]]| |[[ https://yazilim.kamusm.gov.tr/?q=tr/system/files/private/kripto_xades_xl1_detached.rar |XAdES-X Long Type 1 Detached]]| |[[ https://yazilim.kamusm.gov.tr/?q=tr/system/files/private/kripto_xades_xl1_enveloping.rar |XAdES-X Long Type 1 Enveloping]]| |[[ https://yazilim.kamusm.gov.tr/?q=tr/system/files/private/kripto_xades_esa_detached.rar |XAdES-A Detached]]| |[[ https://yazilim.kamusm.gov.tr/?q=tr/system/files/private/kripto_xades_esa_enveloping.rar |XAdES-A Enveloping]]| |[[ https://yazilim.kamusm.gov.tr/?q=tr/system/files/private/kripto_p4_xades_xl1_detached.rar |P4 XAdES-X Long Type 1 Detached]]| |[[ https://yazilim.kamusm.gov.tr/?q=tr/system/files/private/kripto_p4_xades_xl1_enveloping.rar |P4 XAdES-X Long Type 1 Enveloping]]| |[[ https://yazilim.kamusm.gov.tr/?q=tr/system/files/private/kripto_p4_xades_esa_detached.rar |P4 XAdES-A Detached]]| |[[ https://yazilim.kamusm.gov.tr/?q=tr/system/files/private/kripto_p4_xades_esa_enveloping.rar |P4 XAdES-A Enveloping]]| |[[ https://yazilim.kamusm.gov.tr/?q=tr/system/files/private/kripto_pades_lt.rar |PAdES LT-Level]]| |[[ https://yazilim.kamusm.gov.tr/?q=tr/system/files/private/kripto_pades_lta.rar |PAdES LTA-Level]]| |[[ https://yazilim.kamusm.gov.tr/?q=tr/system/files/private/kripto_p4_pades_lt.rar |P4 PAdES LT-Level]]| |[[ https://yazilim.kamusm.gov.tr/?q=tr/system/files/private/kripto_p4_pades_lta.rar |P4 PAdES LTA-Level]]| =====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-256|ECDSA_SHA256| |NIST P-384 (OID: 1.3.132.0.34)|SHA-384|ECDSA_SHA384| |NIST P-521 (OID: 1.3.132.0.35)|SHA-512|ECDSA_SHA512|