• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Crypto Architecture Kit (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    - [Generating an Asymmetric Key Pair Based on Key Parameters (C/C++)](crypto-generate-asym-key-pair-from-key-spec-ndk.md)
20    - [Converting a Compressed or Uncompressed ECC Public Key (ArkTS)](crypto-convert-compressed-or-uncompressed-ECC-pubkey.md)
21    - [Converting a Compressed or Uncompressed ECC Public Key (C/C++)](crypto-convert-compressed-or-uncompressed-ECC-pubkey-ndk.md)
22    - [Converting Compressed or Uncompressed ECC Point Data (ArkTS)](crypto-convert-compressed-or-uncompressed-ECC-point.md)
23    - [Converting Compressed or Uncompressed ECC Point Data (C/C++)](crypto-convert-compressed-or-uncompressed-ECC-point-ndk.md)
24    - [Converting a PEM String into an Asymmetric Key Pair (ArkTS)](crypto-convert-string-data-to-asym-key-pair.md)
25    - [Converting a PEM String into an Asymmetric Key Pair (C/C++)](crypto-convert-string-data-to-asym-key-pair-ndk.md)
26    - [Encoding and Decoding with an RSA Private Key (ArkTS)](crypto-rsa-encoded-decoded.md)
27    - [Encoding and Decoding with an RSA Private Key (C/C++)](crypto-rsa-encoded-decoded-ndk.md)
28- Encryption and Decryption<!--crypto-encryption-decryption-->
29  - [Encryption and Decryption Overview](crypto-encryption-decryption-overview.md)
30  - Encryption and Decryption Algorithm Specifications<!--crypto-encrypt-decrypt-spec-->
31    - [Symmetric Key Encryption and Decryption Algorithm Specifications](crypto-sym-encrypt-decrypt-spec.md)
32    - [Asymmetric Key Encryption and Decryption Algorithm Specifications](crypto-asym-encrypt-decrypt-spec.md)
33    - [Encryption and Decryption by Segment](crypto-encrypt-decrypt-by-segment.md)
34  - Encryption and Decryption Development<!--crypto-encrypt-decrypt-dev-->
35    - [Encryption and Decryption with an AES Symmetric Key (GCM Mode) (ArkTS)](crypto-aes-sym-encrypt-decrypt-gcm.md)
36    - [Encryption and Decryption with an AES Symmetric Key (GCM Mode) (C/C++)](crypto-aes-sym-encrypt-decrypt-gcm-ndk.md)
37    - [Encryption and Decryption with an AES Symmetric Key (CCM Mode) (ArkTS)](crypto-aes-sym-encrypt-decrypt-ccm.md)
38    - [Encryption and Decryption with an AES Symmetric Key (CCM Mode) (C/C++)](crypto-aes-sym-encrypt-decrypt-ccm-ndk.md)
39    - [Encryption and Decryption with an AES Symmetric Key (CBC Mode) (ArkTS)](crypto-aes-sym-encrypt-decrypt-cbc.md)
40    - [Encryption and Decryption with an AES Symmetric Key (CBC Mode) (C/C++)](crypto-aes-sym-encrypt-decrypt-cbc-ndk.md)
41    - [Encryption and Decryption with an AES Symmetric Key (ECB Mode) (ArkTS)](crypto-aes-sym-encrypt-decrypt-ecb.md)
42    - [Encryption and Decryption with an AES Symmetric Key (ECB Mode) (C/C++)](crypto-aes-sym-encrypt-decrypt-ecb-ndk.md)
43    - [Encryption and Decryption by Segment with an AES Symmetric Key (GCM Mode) (ArkTS)](crypto-aes-sym-encrypt-decrypt-gcm-by-segment.md)
44    - [Encryption and Decryption by Segment with an AES Symmetric Key (GCM Mode) (C/C++)](crypto-aes-sym-encrypt-decrypt-gcm-by-segment-ndk.md)
45    - [Encryption and Decryption with a DES Symmetric Key (ECB Mode) (ArkTS)](crypto-des-sym-encrypt-decrypt-ecb.md)
46    - [Encryption and Decryption with a DES Symmetric Key (ECB Mode) (C/C++)](crypto-des-sym-encrypt-decrypt-ecb-ndk.md)
47    - [Encryption and Decryption with a 3DES Asymmetric Key Pair (ArkTS)](crypto-3des-sym-encrypt-decrypt-ecb.md)
48    - [Encryption and Decryption with a 3DES Asymmetric Key Pair (C/C++)](crypto-3des-sym-encrypt-decrypt-ecb-ndk.md)
49    - [Encryption and Decryption with an SM4 Symmetric Key (ECB Mode) (ArkTS)](crypto-sm4-sym-encrypt-decrypt-ecb.md)
50    - [Encryption and Decryption with an SM4 Symmetric Key (ECB Mode) (C/C++)](crypto-sm4-sym-encrypt-decrypt-ecb-ndk.md)
51    - [Encryption and Decryption with an SM4 Symmetric Key (CBC Mode) (ArkTS)](crypto-sm4-sym-encrypt-decrypt-cbc.md)
52    - [Encryption and Decryption with an SM4 Symmetric Key (CBC Mode) (C/C++)](crypto-sm4-sym-encrypt-decrypt-cbc-ndk.md)
53    - [Encryption and Decryption with an SM4 Symmetric Key (GCM Mode) (ArkTS)](crypto-sm4-sym-encrypt-decrypt-gcm.md)
54    - [Encryption and Decryption with an SM4 Symmetric Key (GCM Mode) (C/C++)](crypto-sm4-sym-encrypt-decrypt-gcm-ndk.md)
55    - [Encryption and Decryption by Segment with an SM4 Symmetric Key (GCM Mode) (ArkTS)](crypto-sm4-sym-encrypt-decrypt-gcm-by-segment.md)
56    - [Encryption and Decryption by Segment with an SM4 Symmetric Key (GCM Mode) (C/C++)](crypto-sm4-sym-encrypt-decrypt-gcm-by-segment-ndk.md)
57    - [Encryption and Decryption with an RSA Asymmetric Key Pair (PKCS1) (ArkTS)](crypto-rsa-asym-encrypt-decrypt-pkcs1.md)
58    - [Encryption and Decryption with an RSA Asymmetric Key Pair (PKCS1) (C/C++)](crypto-rsa-asym-encrypt-decrypt-pkcs1-ndk.md)
59    - [Encryption and Decryption by Segment with an RSA Asymmetric Key Pair (ArkTS)](crypto-rsa-asym-encrypt-decrypt-by-segment.md)
60    - [Encryption and Decryption by Segment with an RSA Asymmetric Key Pair (C/C++)](crypto-rsa-asym-encrypt-decrypt-by-segment-ndk.md)
61    - [Encryption and Decryption with an RSA Asymmetric Key Pair (PKCS1_OAEP)](crypto-rsa-asym-encrypt-decrypt-pkcs1_oaep.md)
62    - [Encryption and Decryption with an SM2 Asymmetric Key Pair (ArkTS)](crypto-sm2-asym-encrypt-decrypt.md)
63    - [Encryption and Decryption with an SM2 Asymmetric Key Pair (C/C++)](crypto-sm2-asym-encrypt-decrypt-ndk.md)
64    - [Converting SM2 Ciphertext (ArkTS)](crypto-sm2-ciphertext-conversion.md)
65    - [Converting SM2 Ciphertext (C/C++)](crypto-sm2-ciphertext-conversion-ndk.md)
66- Signing and Signature Verification<!--crypto-sign-sig-verify-->
67  - [Signing and Signature Verification Overview and Algorithm Specifications](crypto-sign-sig-verify-overview.md)
68  - Signing and Signature Verification Development<!--crypto-sign-sig-verify-dev-->
69    - [Signing and Signature Verification with an RSA Key Pair (PKCS1 Mode) (ArkTS)](crypto-rsa-sign-sig-verify-pkcs1.md)
70    - [Signing and Signature Verification with an RSA Key Pair (PKCS1 Mode) (C/C++)](crypto-rsa-sign-sig-verify-pkcs1-ndk.md)
71    - [Signing and Signature Recovery Using an RSA Key Pair (PKCS1 Mode) (ArkTS)](crypto-rsa-sign-sig-verify-recover-pkcs1.md)
72    - [Signature Recovery Using an RSA Key Pair (PKCS1 Mode) (C/C++)](crypto-rsa-sign-sig-verify-recover-pkcs1-ndk.md)
73    - [Signing and Signature Verification by Segment with an RSA Key Pair (PKCS1 Mode) (ArkTS)](crypto-rsa-sign-sig-verify-pkcs1-by-segment.md)
74    - [Signing and Signature Verification by Segment with an RSA Key Pair (PKCS1 Mode) (C/C++)](crypto-rsa-sign-sig-verify-pkcs1-by-segment-ndk.md)
75    - [Signing and Signature Verification with an RSA Key Pair (PSS Mode) (ArkTS)](crypto-rsa-sign-sig-verify-pss.md)
76    - [Signing and Signature Verification with an RSA Key Pair (PSS Mode) (C/C++)](crypto-rsa-sign-sig-verify-pss-ndk.md)
77    - [Signing and Signature Verification with an ECDSA Key Pair (ArkTS)](crypto-ecdsa-sign-sig-verify.md)
78    - [Signing and Signature Verification with an ECDSA Key Pair (C/C++)](crypto-ecdsa-sign-sig-verify-ndk.md)
79    - [Signing and Signature Verification with an SM2 Key Pair (ArkTS)](crypto-sm2-sign-sig-verify-pkcs1.md)
80    - [Signing and Signature Verification with an SM2 Key Pair (C/C++)](crypto-sm2-sign-sig-verify-pkcs1-ndk.md)
81    - [Converting SM2 Signature Formats (ArkTS)](crypto-sm2-sign-data-format-conversion.md)
82    - [Converting SM2 Signature Formats (C/C++)](crypto-sm2-sign-data-format-conversion-ndk.md)
83- Key Agreement<!--crypto-key-agreement-->
84  - [Key Agreement Overview and Algorithm Specifications](crypto-key-agreement-overview.md)
85  - Key Agreement Development<!--crypto-key-agreement-dev-->
86    - [Key Agreement Using ECDH (ArkTS)](crypto-key-agreement-using-ecdh.md)
87    - [Key Agreement Using ECDH (C/C++)](crypto-key-agreement-using-ecdh-ndk.md)
88    - [Key Agreement Using X25519 (ArkTS)](crypto-key-agreement-using-x25519.md)
89    - [Key Agreement Using X25519 (C/C++)](crypto-key-agreement-using-x25519-ndk.md)
90    - [Key Agreement Using DH (ArkTS)](crypto-key-agreement-using-dh.md)
91    - [Key Agreement Using DH (C/C++)](crypto-key-agreement-using-dh-ndk.md)
92- MD<!--crypto-generate-message-->
93  - [MD Overview and Algorithm Specifications](crypto-generate-message-digest-overview.md)
94  - MD Development<!--crypto-generate-message-digest-dev-->
95    - [Generating an MD Using SHA-256 (ArkTS)](crypto-generate-message-digest.md)
96    - [Generating an MD Using SHA-256 (C/C++)](crypto-generate-message-digest-ndk.md)
97    - [Generating an MD Using MD5 (ArkTS)](crypto-generate-message-digest-md5.md)
98    - [Generating an MD Using MD5 (C/C++)](crypto-generate-message-digest-md5-ndk.md)
99- MAC<!--crypto-compute-mac-->
100  - [MAC Overview and Algorithm Specifications](crypto-compute-mac-overview.md)
101  - [Generating an HMAC (ArkTS)](crypto-compute-hmac.md)
102  - [Generating an HMAC (C/C++)](crypto-compute-hmac-ndk.md)
103  - [Generating a CMAC (ArkTS)](crypto-compute-cmac.md)
104  - [Generating a CMAC (C/C++)](crypto-compute-cmac-ndk.md)
105- [Generating Secure Random Numbers (ArkTS)](crypto-generate-random-number.md)
106- [Generating Secure Random Numbers (C/C++)](crypto-generate-random-number-ndk.md)
107- Key Derivation<!--crypto-key-derivation-->
108  - [Key Derivation Overview and Algorithm Specifications](crypto-key-derivation-overview.md)
109  - [Key Derivation Using PBKDF2 (ArkTS)](crypto-key-derivation-using-pbkdf2.md)
110  - [Key Derivation Using PBKDF2 (C/C++)](crypto-key-derivation-using-pbkdf2-ndk.md)
111  - [Key Derivation Using HKDF (ArkTS)](crypto-key-derivation-using-hkdf.md)
112  - [Key Derivation Using HKDF (C/C++)](crypto-key-derivation-using-hkdf-ndk.md)
113  - [Key Derivation Using Scrypt (ArkTS)](crypto-key-derivation-using-scrypt.md)
114  - [Key Derivation Using Scrypt (C/C++)](crypto-key-derivation-using-scrypt-ndk.md)
115