mirror of
https://github.com/guanzhi/GmSSL.git
synced 2026-05-18 22:36:25 +08:00
Updated SM2公钥加密 (markdown)
@@ -63,7 +63,7 @@ int main(int argc, char **argv)
|
||||
|
||||
## 密文编码问题
|
||||
|
||||
SM2密文由C1、C2、C3三部分构成,如何对SM2密文进行编码在相关的两个标准中有所不同,在早期公布的《SM2椭圆曲线公钥密码算法 第4部分:公钥加密算法》中,SM2密文中的三部分依次输出,没有采用如Tag-Length-Value形式的编码,我们称其为Plain编码。在之后公布的GM/T国标中,SM2密文采用ASN.1/DER方式编码。
|
||||
SM2密文由C1、C2、C3三部分构成,如何对SM2密文进行编码在已经公布的两个标准中有所不同,在早期公布的《SM2椭圆曲线公钥密码算法 第4部分:公钥加密算法》中,SM2密文中的三部分依次输出,没有采用如Tag-Length-Value形式的编码,我们称其为Plain编码。在之后公布的GM/T国标中,SM2密文采用ASN.1/DER方式编码。
|
||||
|
||||
GmSSL通过`SM2_CIPHERTEXT_VALUE`对象来表示密文数据结构,函数`SM2_do_encrypt()`和`SM2_do_decrypt()`可以生成`SM2_CIPHERTEXT_VALUE`对象及对其解密,函数`SM2_CIPHERTEXT_VALUE_encode()`和`SM2_CIPHERTEXT_VALUE_decode()`实现该对象的Plain编解码。GmSSL预计还会通过函数`i2d_SM2_CIPHERTEXT_VALUE()`和`d2i_SM2_CIPHERTEXT_VALUE()`实现该密文对象的ASN.1/DER编解码,以支持最新的GM/T国密标准。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user