C for Linux中的公钥实现

Mr *_*eph 4 c linux encryption public-key-encryption

我正在尝试使用公钥加密签名并稍后验证文件.该文件是一个简单的纯文本文件,其中包含用于创作目的的用户信息.

我为公钥加密算法的C实现尝试了不同的站点,但我没有找到任何东西.许多站点都指向使用证书(x.509等),但这远远超出我的需要.我只是在寻找一种生成公钥和私钥的方法,并使用一种相对众所周知的算法来签名和验证文件.

有没有指向纯C实现的指针?重点是我可以重用的代码,而不是外部库.主要问题是我不想链接完整的lib及其依赖关系,以便拥有一个非常基本的公钥系统.

谢谢.

sam*_*moz 10

OpenSSL是一个非常好的包.您可以使用加密库部分,它提供基本的RSA实现.这可能符合您的要求.

Cryptlib是另一种可能适合您的替代方案.它有一些奇怪的许可问题,所以请考虑一下,具体取决于你将如何使用它.

Crypto ++是一组不同的加密技术,包括RSA,所以你可以试试.

最后,RSA的实现并不十分复杂,因此您甚至可以使用GMP自行实现它,它提供了您需要的必要数学函数.

  • 同意,OpenSSL是你想要的方式. (3认同)
  • 我已经试过了.2个问题.1)我不想链接到完整的openssl lib,因此我可以拥有基本的公钥功能; 2)我不能强制运行程序的任何计算机必须安装openssl.我处理的几个盒子没有它.这就是我寻找可以用我自己的代码使用的代码的原因. (2认同)
  • 只有它确实存在,它带来了一大堆依赖关系,可能存在于所有计算机中,也可能不存在. (2认同)

tem*_*def 5

您可能希望查看备受推崇,经过调试和测试的OpenSSL库.尽管OpenSSL主要用于SSL/TLS网络,但它包含许多加密协议的非常好的实现,这些协议通常用于一般加密.

希望这可以帮助!

  • Downvoters-你能否解释一下这个答案有什么问题(特别是因为另一个答案给出了相同的链接/答案?)如果可能的话,我想改进这个答案. (2认同)