1# Crypto Architecture Kit简介 2 3<!--Kit: Crypto Architecture Kit--> 4<!--Subsystem: Security--> 5<!--Owner: @zxz--3--> 6<!--Designer: @lanming--> 7<!--Tester: @PAFT--> 8<!--Adviser: @zengyawen--> 9 10Crypto Architecture Kit屏蔽了第三方密码学算法库实现差异的算法框架,提供加解密、签名验签、消息认证码、哈希、安全随机数、密钥派生等相关功能。 11 12开发者可以通过调用加解密算法框架服务,忽略底层不同第三方密码学算法库的差异,实现迅捷开发。 13 14## 约束与限制 15 16- Crypto Architecture Kit不支持多线程并发操作。 17 18- Crypto Architecture Kit当前只支持OpenSSL。 19 20- Crypto Architecture Kit提供了大部分常用的算法。然而,部分算法和规格并不适用于对安全要求较高的场景,例如 MD5。请开发者根据实际需求选择合适的算法。 21 22## 能力范围 23 24加解密算法库为开发者提供了以下相关功能,并提供了对应的算法规格说明和开发指导,请开发者参照开发。 25 26- [密钥生成和转换](crypto-key-generation-conversion-overview.md) 27 28- [加解密](crypto-encryption-decryption-overview.md) 29 30- [签名验签](crypto-sign-sig-verify-overview.md) 31 32- [密钥协商](crypto-key-agreement-overview.md) 33 34- [消息摘要计算](crypto-generate-message-digest-overview.md) 35 36- [消息认证码计算](crypto-compute-mac-overview.md) 37 38- [安全随机数生成](crypto-generate-random-number.md) 39 40- [密钥派生](crypto-key-derivation-overview.md) 41 42## 基本概念 43 44开发具体功能前,需要了解以下基本概念。 45 46- 对称密钥 47 48 加解密双方使用同一个密钥对完成数据加密、解密的操作。即数据发送方使用某个加密密钥对明文进行特殊加密算法处理后,使其变成复杂的加密密文发送出去,接收方需使用同一个密钥及相同算法的逆算法解密,才能得到原来的可读明文。 49 50- 非对称密钥 51 52 非对称密钥使用公钥和私钥两个密钥来进行算法操作,公钥对外公开,私钥对外保密。 53 54 对于加解密操作,一般使用公钥对明文加密形成密文;持有私钥的人即可解密密文。 55 56 对于签名验签操作,使用私钥对明文进行签名;公钥持有者可以通过公钥对签名数据做验签,验证数据是否被篡改。 57 58## 与相关Kit的关系 59 60加解密算法库框架仅提供密钥的密码学操作,不提供密钥管理功能。因此,应用需自行保管密钥,适用于临时会话密钥等仅在内存中使用的场景,或自行实现密钥安全存储的场景。 61 62如果业务需要由系统提供密钥管理功能(密钥存储等),请使用[Universal Keystore Kit(密钥管理服务)](../UniversalKeystoreKit/huks-overview.md)。 63