gpt4 book ai didi

c - 使用 libgcrypt 和 Elgamal 加密和解密时数据丢失

转载 作者:行者123 更新时间:2023-12-02 02:13:48 25 4
gpt4 key购买 nike

我正在使用 Libgcrypt 和 Elgamal 来加密一个字节块,但我遇到了两个问题:

  • 当我不使用填充并且我的字节块以零字节开始时,我在解密过程中丢失了第一个字节;
  • 如果我使用填充,加密效果很好,但是当我解密时,填充不会被删除。显然第一个零字节仍然存在。

  • 使用 RSA 我遇到了同样的问题:(

    我的测试代码在那里: www.tiago.eti.br/storage/post.c
    它不使用填充。

    要使用填充,您需要更改:
    #define PADDING "raw"


    #define PADDING "pkcs1"

    并更改加密算法更改:
    #define ALG "elg"


    #define ALG "rsa"

    要编译,您需要使用:
    gcc -Wall -g post.c -lgcrypt -o post

    我能做些什么来解决它?

    最佳答案

    我在 Libgcrypt 邮件列表中发布了同样的问题,我得到了答案。

    Libgcrypt 直到 1.5.0 才删除填充:它识别标志但不处理填充。

    所以解决方案是将 Libgcrypt 更新到 1.5.0。

    关于c - 使用 libgcrypt 和 Elgamal 加密和解密时数据丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11544954/

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