gpt4 book ai didi

c - 如何使用RSA加密数据,SHA-256作为散列函数,MGF1作为掩码生成函数?

转载 作者:太空狗 更新时间:2023-10-29 17:02:07 25 4
gpt4 key购买 nike

我正在做一些密码学实验。现在我有了接收者的公钥,我想加密一些数据并传递给接收者。

我想使用 RSAES-OAEP 算法。以SHA-256为哈希函数,MGF1为掩码生成函数。

我想使用 openssl 来做到这一点。我找到了一个函数 RSA_public_encrypt() ,我们可以用这个函数指定填充。可用的填充选项之一是

RSA_PKCS1_OAEP_PADDING
EME-OAEP as defined in PKCS #1 v2.0 with SHA-1 , MGF1 .

他们正在使用 sha-1。

我想重新配置函数以将 SHA256 用作散列函数并将 MGF1 用作散列函数。我该怎么做?

最佳答案

以下摘录允许将 OAEP 与 SHA256 一起用于 MGF 和哈希函数。使用 OpenSSL 1.0.2L 测试

int flags = CMS_BINARY | CMS_PARTIAL | CMS_KEY_PARAM;
cms = CMS_encrypt(NULL, in, cipher, flags)
ri = CMS_add1_recipient_cert(cms, cert, flags);
pctx = CMS_RecipientInfo_get0_pkey_ctx(ri);
EVP_PKEY_CTX_set_rsa_padding(pctx, RSA_PKCS1_OAEP_PADDING);
EVP_PKEY_CTX_set_rsa_oaep_md(pctx, EVP_sha256());
EVP_PKEY_CTX_set_rsa_mgf1_md(pctx, EVP_sha256());

关于c - 如何使用RSA加密数据,SHA-256作为散列函数,MGF1作为掩码生成函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17784022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com