如何处理C中的大整数

waz*_*bit 4 c cryptography

我想实现加密算法.所以我需要一个合适的数据类型来处理具有大量数字的整数.

许多最新的语言,如Java,Python和Ruby提供了本机方法.但是,我正在用C编程,我想知道在那里实现基本操作的最佳方法和最简单的方法是什么.

我想写它没有任何外部库.我想到了两个选择:

  1. 使用char数组(如字符串,这对加密/解密密钥有用)
  2. 使用位数组(我不知道怎么做,但我认为这将取决于编译器)

你会怎么做?

Olo*_*ell 6

(对我来说)显而易见的选择是GMP,其主要开发者TorbjörnGranlund是2000年赢得Simon Singh"Cipher Challenge"的瑞典五人团队的成员.

根据该网站,该代码可用于在AMD Phenom II @ 3.2 GHz上计算1957秒内的100亿个pi数字.

该代码自1991年开发.