鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

创建RSA context和创建blk块内存池

也可不创建,直接基于第一步中的q用wd_send/wd_recv接口RSA算法消息的收发,但需严格按照算法消息结构要求来填写,且输入以及key均需采用WD基于上述第一步中的q所预留的内存,接口为内存预留接口节所示的接口。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
memset(&psetup, 0, sizeof(psetup));
psetup.block_size = key_size;
psetup.block_num = 64;
psetup.align_size = 64;/*block buffer start address 64bytes align */
pool = wd_blkpool_create(q, psetup);

        struct wcrypto_rsa_ctx_setup setup;
struct wd_blkpool_setup psetup;
        void *ctx = NULL, *pool = NULL;
        memset(&setup, 0, sizeof(setup));
        setup.is_crt = true;/* RSA CRT模式 */
        setup.key_bits = 2048; /* 密钥宽度为2048位 */
        setup.ops.alloc = (void *)wd_alloc_blk;
        setup.ops.free = (void *)wd_free_blk;
        setup.ops.dma_map = (void *)wd_blk_iova_map;
        setup.ops.dma_unmap = (void *)wd_blk_iova_unmap;
        setup.ops.usr = pool;
        ctx = wcrypto_create_rsa_ctx(q, &setup);