瀏覽代碼

dsa_sign_hash: testing k < q

Karel Miko 12 年之前
父節點
當前提交
e600ab9d35
共有 1 個文件被更改,包括 2 次插入2 次删除
  1. 2 2
      src/pk/dsa/dsa_sign_hash.c

+ 2 - 2
src/pk/dsa/dsa_sign_hash.c

@@ -73,8 +73,8 @@ retry:
       /* read k */
       if ((err = mp_read_unsigned_bin(k, buf, key->qord)) != CRYPT_OK)                 { goto error; }
 
-      /* k > 1 ? */
-      if (mp_cmp_d(k, 1) != LTC_MP_GT)                                                 { goto retry; }
+      /* k > 1 and k < q ? */
+      if (mp_cmp_d(k, 1) != LTC_MP_GT || mp_cmp(k, key->q) != LTC_MP_LT)               { goto retry; }
 
       /* test gcd */
       if ((err = mp_gcd(k, key->q, tmp)) != CRYPT_OK)                                  { goto error; }