1# Crypto Architecture Kit 2 3- [Introduction to Crypto Architecture Kit](crypto-architecture-kit-intro.md) 4- Key Generation and Conversion<!--crypto-key-generation-conversion--> 5 - [Key Generation and Conversion Overview](crypto-key-generation-conversion-overview.md) 6 - Key Generation and Conversion Specifications<!--crypto-key-generation-conversion-spec--> 7 - [Symmetric Key Generation and Conversion Specifications](crypto-sym-key-generation-conversion-spec.md) 8 - [Asymmetric Key Generation and Conversion Specifications](crypto-asym-key-generation-conversion-spec.md) 9 - Key Generation and Conversion Development<!--crypto-key-generation-conversion-dev--> 10 - [Randomly Generating a Symmetric Key (ArkTS)](crypto-generate-sym-key-randomly.md) 11 - [Randomly Generating a Symmetric Key (C/C++)](crypto-generate-sym-key-randomly-ndk.md) 12 - [Converting Binary Data into a Symmetric Key (ArkTS)](crypto-convert-binary-data-to-sym-key.md) 13 - [Converting Binary Data into a Symmetric Key (C/C++)](crypto-convert-binary-data-to-sym-key-ndk.md) 14 - [Randomly Generating an Asymmetric Key Pair (ArkTS)](crypto-generate-asym-key-pair-randomly.md) 15 - [Randomly Generating an Asymmetric Key Pair (C/C++)](crypto-generate-asym-key-pair-randomly-ndk.md) 16 - [Converting Binary Data into an Asymmetric Key Pair (ArkTS)](crypto-convert-binary-data-to-asym-key-pair.md) 17 - [Converting Binary Data into an Asymmetric Key Pair (C/C++)](crypto-convert-binary-data-to-asym-key-pair-ndk.md) 18 - [Generating an Asymmetric Key Pair Based on Key Parameters (ArkTS)](crypto-generate-asym-key-pair-from-key-spec.md) 19 - [Converting a Compressed or Uncompressed ECC Public Key (ArkTS)](crypto-convert-compressed-or-uncompressed-ECC-pubkey.md) 20 - [Converting a Compressed or Uncompressed ECC Public Key (C/C++)](crypto-convert-compressed-or-uncompressed-ECC-pubkey-ndk.md) 21 - [Converting Compressed or Uncompressed ECC Point Data (ArkTS)](crypto-convert-compressed-or-uncompressed-ECC-point.md) 22 - [Converting a PEM String into an Asymmetric Key Pair (ArkTS)](crypto-convert-string-data-to-asym-key-pair.md) 23 - [Converting a PEM String into an Asymmetric Key Pair (C/C++)](crypto-convert-string-data-to-asym-key-pair-ndk.md) 24- Encryption and Decryption<!--crypto-encryption-decryption--> 25 - [Encryption and Decryption Overview](crypto-encryption-decryption-overview.md) 26 - Encryption and Decryption Algorithm Specifications<!--crypto-encrypt-decrypt-spec--> 27 - [Symmetric Key Encryption and Decryption Algorithm Specifications](crypto-sym-encrypt-decrypt-spec.md) 28 - [Asymmetric Key Encryption and Decryption Algorithm Specifications](crypto-asym-encrypt-decrypt-spec.md) 29 - [Encryption and Decryption by Segment](crypto-encrypt-decrypt-by-segment.md) 30 - Encryption and Decryption Development<!--crypto-encrypt-decrypt-dev--> 31 - [Encryption and Decryption with an AES Symmetric Key (GCM Mode) (ArkTS)](crypto-aes-sym-encrypt-decrypt-gcm.md) 32 - [Encryption and Decryption with an AES Symmetric Key (GCM Mode) (C/C++)](crypto-aes-sym-encrypt-decrypt-gcm-ndk.md) 33 - [Encryption and Decryption with an AES Symmetric Key (CCM Mode) (ArkTS)](crypto-aes-sym-encrypt-decrypt-ccm.md) 34 - [Encryption and Decryption with an AES Symmetric Key (CCM Mode) (C/C++)](crypto-aes-sym-encrypt-decrypt-ccm-ndk.md) 35 - [Encryption and Decryption with an AES Symmetric Key (CBC Mode) (ArkTS)](crypto-aes-sym-encrypt-decrypt-cbc.md) 36 - [Encryption and Decryption with an AES Symmetric Key (CBC Mode) (C/C++)](crypto-aes-sym-encrypt-decrypt-cbc-ndk.md) 37 - [Encryption and Decryption with an AES Symmetric Key (ECB Mode) (ArkTS)](crypto-aes-sym-encrypt-decrypt-ecb.md) 38 - [Encryption and Decryption with an AES Symmetric Key (ECB Mode) (C/C++)](crypto-aes-sym-encrypt-decrypt-ecb-ndk.md) 39 - [Encryption and Decryption by Segment with an AES Symmetric Key (GCM Mode) (ArkTS)](crypto-aes-sym-encrypt-decrypt-gcm-by-segment.md) 40 - [Encryption and Decryption by Segment with an AES Symmetric Key (GCM Mode) (C/C++)](crypto-aes-sym-encrypt-decrypt-gcm-by-segment-ndk.md) 41 - [Encryption and Decryption with a 3DES Symmetric Key (ECB Mode) (ArkTS)](crypto-3des-sym-encrypt-decrypt-ecb.md) 42 - [Encryption and Decryption with a 3DES Symmetric Key (ECB Mode) (C/C++)](crypto-3des-sym-encrypt-decrypt-ecb-ndk.md) 43 - [Encryption and Decryption with an SM4 Symmetric Key (ECB Mode) (ArkTS)](crypto-sm4-sym-encrypt-decrypt-ecb.md) 44 - [Encryption and Decryption with an SM4 Symmetric Key (ECB Mode) (C/C++)](crypto-sm4-sym-encrypt-decrypt-ecb-ndk.md) 45 - [Encryption and Decryption with an SM4 Symmetric Key (CBC Mode) (ArkTS)](crypto-sm4-sym-encrypt-decrypt-cbc.md) 46 - [Encryption and Decryption with an SM4 Symmetric Key (CBC Mode) (C/C++)](crypto-sm4-sym-encrypt-decrypt-cbc-ndk.md) 47 - [Encryption and Decryption with an SM4 Symmetric Key (GCM Mode) (ArkTS)](crypto-sm4-sym-encrypt-decrypt-gcm.md) 48 - [Encryption and Decryption with an SM4 Symmetric Key (GCM Mode) (C/C++)](crypto-sm4-sym-encrypt-decrypt-gcm-ndk.md) 49 - [Encryption and Decryption by Segment with an SM4 Symmetric Key (GCM Mode) (ArkTS)](crypto-sm4-sym-encrypt-decrypt-gcm-by-segment.md) 50 - [Encryption and Decryption by Segment with an SM4 Symmetric Key (GCM Mode) (C/C++)](crypto-sm4-sym-encrypt-decrypt-gcm-by-segment-ndk.md) 51 - [Encryption and Decryption with an RSA Asymmetric Key Pair (PKCS1)](crypto-rsa-asym-encrypt-decrypt-pkcs1.md) 52 - [Encryption and Decryption by Segment with an RSA Asymmetric Key Pair](crypto-rsa-asym-encrypt-decrypt-by-segment.md) 53 - [Encryption and Decryption with an RSA Asymmetric Key Pair (PKCS1_OAEP)](crypto-rsa-asym-encrypt-decrypt-pkcs1_oaep.md) 54 - [Encryption and Decryption with an SM2 Asymmetric Key Pair](crypto-sm2-asym-encrypt-decrypt.md) 55 - [Converting SM2 Ciphertext](crypto-sm2-ciphertext-conversion.md) 56- Signing and Signature Verification<!--crypto-sign-sig-verify--> 57 - [Signing and Signature Verification Overview and Algorithm Specifications](crypto-sign-sig-verify-overview.md) 58 - Signing and Signature Verification Development<!--crypto-sign-sig-verify-dev--> 59 - [Signing and Signature Verification with an RSA Key Pair (PKCS1 Mode) (ArkTS)](crypto-rsa-sign-sig-verify-pkcs1.md) 60 - [Signature Verification with an RSA Key Pair (PKCS1 Mode) (C/C++)](crypto-rsa-sign-sig-verify-pkcs1-ndk.md) 61 - [Signing and Signature Recovery Using an RSA Key Pair (PKCS1 Mode) (ArkTS)](crypto-rsa-sign-sig-verify-recover-pkcs1.md) 62 - [Signature Recovery Using an RSA Key Pair (PKCS1 Mode) (C/C++)](crypto-rsa-sign-sig-verify-recover-pkcs1-ndk.md) 63 - [Signing and Signature Verification by Segment with an RSA Key Pair (PKCS1 Mode) (ArkTS)](crypto-rsa-sign-sig-verify-pkcs1-by-segment.md) 64 - [Signature Verification by Segment with an RSA Key Pair (PKCS1 Mode) (C/C++)](crypto-rsa-sign-sig-verify-pkcs1-by-segment-ndk.md) 65 - [Signing and Signature Verification with an RSA Key Pair (PSS Mode) (ArkTS)](crypto-rsa-sign-sig-verify-pss.md) 66 - [Signature Verification with an RSA Key Pair (PSS Mode) (C/C++)](crypto-rsa-sign-sig-verify-pss-ndk.md) 67 - [Signing and Signature Verification with an ECDSA Key Pair (ArkTS)](crypto-ecdsa-sign-sig-verify.md) 68 - [Signature Verification with an ECDSA Key Pair (C/C++)](crypto-ecdsa-sign-sig-verify-ndk.md) 69 - [Signing and Signature Verification with an SM2 Key Pair (ArkTS)](crypto-sm2-sign-sig-verify-pkcs1.md) 70 - [Signature Verification with an SM2 Key Pair (C/C++)](crypto-sm2-sign-sig-verify-pkcs1-ndk.md) 71- Key Agreement<!--crypto-key-agreement--> 72 - [Key Agreement Overview and Algorithm Specifications](crypto-key-agreement-overview.md) 73 - Key Agreement Development<!--crypto-key-agreement-dev--> 74 - [Key Agreement Using ECDH](crypto-key-agreement-using-ecdh.md) 75 - [Key Agreement Using X25519](crypto-key-agreement-using-x25519.md) 76 - [Key Agreement Using DH](crypto-key-agreement-using-dh.md) 77- MD<!--crypto-generate-message--> 78 - [MD Overview and Algorithm Specifications](crypto-generate-message-digest-overview.md) 79 - MD Development<!--crypto-generate-message-digest-dev--> 80 - [Generating an MD Using SHA-256 (ArkTS)](crypto-generate-message-digest.md) 81 - [Generating an MD Using SHA-256 (C/C++)](crypto-generate-message-digest-ndk.md) 82 - [Generating an MD Using MD5 (ArkTS)](crypto-generate-message-digest-md5.md) 83 - [Generating an MD Using MD5 (C/C++)](crypto-generate-message-digest-md5-ndk.md) 84- [MAC Operations](crypto-compute-mac.md) 85- [Random Number Generation](crypto-generate-random-number.md) 86- Key Derivation<!--crypto-key-derivation--> 87 - [Key Derivation Overview and Algorithm Specifications](crypto-key-derivation-overview.md) 88 - [Key Derivation Using PBKDF2](crypto-key-derivation-using-pbkdf2.md) 89 - [Key Derivation Using HKDF](crypto-key-derivation-using-hkdf.md) 90