Crypto Architecture Kit屏蔽了第三方密码学算法库实现差异的算法框架，提供加解密、签名验签、消息认证码、哈希、安全随机数、密钥派生等相关功能。

开发者可以通过调用加解密算法框架服务，忽略底层不同第三方密码学算法库的差异，实现迅捷开发。

## 约束与限制

* Crypto Architecture Kit不支持多线程并发操作。
* Crypto Architecture Kit当前只支持OpenSSL。
* Crypto Architecture Kit提供了大部分常用的算法。然而，部分算法和规格并不适用于对安全要求较高的场景，例如 MD5。请开发者根据实际需求选择合适的算法。

## 能力范围

加解密算法库为开发者提供了以下相关功能，并提供了对应的算法规格说明和开发指导，请开发者参照开发。

* [密钥生成和转换](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/crypto-key-generation-conversion-overview)
* [加解密](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/crypto-encryption-decryption-overview)
* [签名验签](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/crypto-sign-sig-verify-overview)
* [密钥协商](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/crypto-key-agreement-overview)
* [消息摘要计算](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/crypto-generate-message-digest-overview)
* [消息认证码计算](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/crypto-compute-mac-overview)
* [安全随机数生成](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/crypto-generate-random-number)
* [密钥派生](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/crypto-key-derivation-overview)

## 基本概念

开发具体功能前，需要了解以下基本概念。

* 对称密钥

  加解密双方使用同一个密钥完成数据加密、解密的操作。即数据发送方使用某个加密密钥对明文进行特殊加密算法处理后，使其变成复杂的加密密文发送出去，接收方需使用同一个密钥及相同算法的逆算法解密，才能得到原来的可读明文。
* 非对称密钥

  非对称密钥使用公钥和私钥两个密钥来进行算法操作，公钥对外公开，私钥对外保密。

  对于加解密操作，一般使用公钥对明文加密形成密文；持有私钥的人即可解密密文。

  对于签名验签操作，使用私钥对明文进行签名；公钥持有者可以通过公钥对签名数据做验签，验证数据是否被篡改。

## 模拟器支持情况

本Kit支持模拟器。

模拟器与真机存在通用差异，详情请参见详情请参见[模拟器与真机的差异](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-emulator-specification)。

## 与相关Kit的关系

加解密算法库框架仅提供密钥的密码学操作，不提供密钥管理功能。因此，应用需自行保管密钥，适用于临时会话密钥等仅在内存中使用的场景，或自行实现密钥安全存储的场景。

如果业务需要由系统提供密钥管理功能（密钥存储等），请使用[Universal Keystore Kit（密钥管理服务）](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/huks-overview)。