创建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); |
父主题: RSA同步接口使用示例