3
我使用Libgcrypt與Elgamal的加密字節塊解密和我有2個問題:數據丟失時,用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
我能做些什麼來解決呢?
我不確定在解密塊時我會期待填充被刪除。 – argentage 2012-07-18 15:34:07
在文檔中,你可以發現這一點: 「功能:gcry_error_t gcry_pk_decrypt(gcry_sexp_t * r_plain,gcry_sexp_t數據,gcry_sexp_t SKEY) (...)這個函數不從數據在默認情況下刪除填充,以讓Libgcrypt去除填充,在'flags'中給出提示,告訴加密時使用哪種填充方法: (標記填充方法)「 我做到了。但它沒有工作.... – 2012-07-18 17:51:12