使用libgmp构建文件的RSA签名

时间:2018-11-26 11:58:41

标签: c rsa digital-signature signature gmp

我想实现RSA签名,在这里我可以计算文件的签名并验证文件的签名。因此,我使用库gmp。 但是,当我要打印文件数据时,即使文件不为空,它也始终打印0。这是我的代码:

//compiled with gcc rsa-sig.c -O3 -Wall -l gmp -o rsa-sig

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <assert.h>
#include <math.h>
#include <gmp.h> /* GNU Multi Precision library */

int main(int argc, char *argv[])
{
    int r;
    mpz_t modulus;
    mpz_init(modulus);
    r=mpz_set_str(modulus, "FFFF",16); //just an example modulus
    mpz_t data;
    mpz_init(data);

    FILE * stream;
    stream = fopen("file.bin", "rb");
    r= mpz_inp_str(data, stream,16);

    mpz_mod(data,data,modulus);
    gmp_printf("%Zd\n",data);
}

我不知道为什么输出为0。也许你们中的一个有一个主意。 谢谢!

0 个答案:

没有答案