概述
----------------------------------------------------------------------------------------
ISCRYPT crypto SDK(ISCRYPT CSDK)为针对华大信安芯片而开发的密码算法函数库,支持
C语言和51汇编语言调用。支持对称算法、非对称算法和哈希算法,使用真随机数发生器。
其中,对称算法包括DES、3DES(EDE2),国标SM1、SM3和SM4。非对称算法包括
RSA(可支持的位长1024 < 64*k < 2048),ECC(可支持的位长为160、192、224和256),及国
标SM2椭圆曲线密码算法。
哈希算法包括SHA(SHA-1、SHA-256)和国标SM3杂凑算法。
对称算法为硬件实现,非对称算法和哈希算法均为软硬件结合实现。
ISCRYPT crypto SDK构成
----------------------------------------------------------------------------------------
CSDK整体由以下几部分构成:
CSDK
|
|
|-------Inc
|
|-------Lib
|
|-------Examples
| |
| |----iscrypt_sm1_lib_test
| |
| |----iscrypt_sm2_lib_test
| |
| |----iscrypt_sm2_ext_lib_test
| |
| |----iscrypt_sm3_lib_test
| |
| |----iscrypt_sm4_lib_test
| |
| |----iscrypt_des_tdes_lib_test
| |
| |----iscrypt_sha_lib_test
| |
| |----iscrypt_rsa_lib_test
| |
| |----iscrypt_ecc_lib_test
| |
| |----iscrypt_random_lib_test
| |
| |----iscrypt_hash_bkpt_rst_lib_test
|
|------------Docs
Inc为算法库的头文件目录;
Lib为算法库目录;
Examples中提供了算法库的C语言调用参考例程,涵盖算法库所支持的所有函数。同时参考例程
中会定义部分标准的参考数据,这些数据可供使用者调试时进行使用。
Docs为算法的使用说明文档目录。
注意事项
----------------------------------------------------------------------------------------
CSDK的使用,建议选Keil4及以上版本的编译器。
关于CSDK的其它问题可与北京华大信安科技有限公司的相关工作人员联系。
可邮件联系密码算法库的开发人员,提出针对应用,同时符合国标及国际规范的合理性建议。
Contact: peichao
Mail: peichao@istecc.com
Phone: (010) 84505609/29/39-8041
版本
----------------------------------------------------------------------------------------
最新版本 Version 1.1.0(RC)。
早期版本可提供列表如下,一切解释权归北京华大信安科技有限公司所有。
——————————————————————————————————————
| 早期版本号 | 日期
——————————————————————————————————————
| |
| 1.0(RC) | XXXX-XX-XX
| |
——————————————————————————————————————
| |
| 1.0.1(RC) | 2013-12-12
| |
——————————————————————————————————————
| |
| 1.0.2(RC) | 2014-01-24
| |
——————————————————————————————————————
| |
| 1.0.3(RC) | 2014-02-12
| |
——————————————————————————————————————
| |
| 1.0.4(RC) | 2014-03-7
| |
——————————————————————————————————————
| |
| 1.0.5(RC) | 2014-05-23
| |
——————————————————————————————————————
| |
| 1.1.0(RC) | 2014-05-28
| |
——————————————————————————————————————
| |
| 1.1.1(RC) | 2014-06-25
| |
——————————————————————————————————————
| |
| 1.1.2(RC) | 2014-11-21
| |
——————————————————————————————————————
更改记录
----------------------------------------------------------------------------------------
历史版本
|
|
Version 1.0(RC)
|
|
Version 1.0.1(RC)
| |
| |-------1. 修复RSA-2048加密和STD解密时内部数据DMA搬运过多可能造成的芯片异常的问题。
| | 该问题同样针对RSA-2048的STD签名和验证。
| |
| |-------2. 修改了iscrypt_rsa.h中关于RSA签名和验证函数的声明和定义方式,修改了IS_BUFFER_RSA
| | 的定义方式,RSA签名和验证函数的定义由提供的源文件iscrypt_rsa_sv.c支持。
|
|
Version 1.0.2(RC)
| |
| |-------1. 调整RSA密钥生成函数的实现,避免出现多BANK调用的问题。
| |
| |-------2. 调整了IS_BUFFER_RSA定义的位置。
|
|
Version 1.0.3(RC)
| |
| |-------1. 增加了各算法接口函数中,对PCON寄存器的保存和恢复。
| |
| |-------2. 对相应算法接口中,增加了保证DES和PKU及ISCRYPT IP的互斥开启。
| |
| |-------3. 对算法库使用手册中,补充了部分SM2函数接口的使用介绍。
|
|
Version 1.0.4(RC)
| |
| |-------1. 增加了各算法接口函数中,对RAM校验的操作。
|
|
Version 1.0.5(RC)
| |
| |-------1. 修正各哈希算法中Final函数对55字节长度数据处理的错误问题。
|
|
Version 1.1.0(RC)
| |
| |-------1. 增加算法库功能,使支持通用的ECC密码算法,其中包括对曲线位长的支持(160、192、224和256);
| | 以及对算法协议的支持(ECDSA、ECES)。
| |
| |-------2. 此功能的增加需要更新副版本号。
|
|
Version 1.1.1(RC)
| |
| |-------1. 修正SM2解密函数中R2寄存器保护错误的问题,但是堆栈数目是正确的。
|
|
Version 1.1.2(RC)
| |
| |-------1. 调整RSA头文件中关于签名函数的定义方式。
|
|
|
.
.
.