c - C中ECC的实现

标签 c cryptography public-key-encryption

我想使用非对称椭圆曲线密码术而不是 RSA 或 ElGamal 等其他算法来实现“我自己的混合加密引擎”。

假设我想使用提供更高安全性的曲线,我应该使用哪些曲线?根据我读过的内容,我认为 521 位曲线可能是理想的。是否有更安全的方案?

在 C/C++(不使用 C++ STL)中最安全的实现是什么,例如,防止侧信道攻击?我想将它作为一个“单独的”模块来实现,所以我希望能有干净的源代码或好的引用资料。

最佳答案

在考虑是否有任何标准曲线可能不够安全之前,我先去确保加密模式确实是安全的,可以抵御普通的旧式选择密文攻击。 我认为 Cramer 和 Shoup 的论文“针对自适应选择密文攻击的实用公钥加密方案的设计和分析”,2003 年是分析混合加密方案的良好起点。

至于定时攻击:OpenSSL 包含已实现的少量选定曲线的实现,以便它们在恒定时间内运行。

关于c - C中ECC的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6566093/

相关文章:

c - NTRUEncrypt C 实现

python - 计算丢失的比特币私钥的校验和比特币

c - 两个数字相加 CUDA

macos - 在 OS X 上使用 X509Certificate2 时避免使用钥匙串(keychain)

cryptography - Thales Payshield HSM RSA 私钥

azure - 使用 Azure Keyvault SignData 进行 SignedXml

java - 为 Java 客户端设置 SFTP 服务器以仅允许使用公钥下载

c - CLAPACK 中的四元数或替代 C 样式四元数库

c - 如何在 Windows 10 中使用 calloc/malloc 正确分配大块 RAM?

c - 如何在嵌入式 C 代码库中查找与数据一致性相关的问题?