diff for duplicates of <20190106133608.820-5-vt@altlinux.org> diff --git a/a/1.txt b/N1/1.txt index cabd230..62f0f67 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -262,7 +262,7 @@ index ed1237115066..9a789926cc2a 100644 @@ -112,7 +115,7 @@ static void vli_clear(u64 *vli, unsigned int ndigits) } - /* Returns true if vli = 0, false otherwise. */ + /* Returns true if vli == 0, false otherwise. */ -static bool vli_is_zero(const u64 *vli, unsigned int ndigits) +bool vli_is_zero(const u64 *vli, unsigned int ndigits) { @@ -337,7 +337,7 @@ index ed1237115066..9a789926cc2a 100644 +EXPORT_SYMBOL(vli_cmp); /* Computes result = in << c, returning carry. Can modify in place - * (if result = in). 0 < shift < 64. + * (if result == in). 0 < shift < 64. @@ -239,8 +271,30 @@ static u64 vli_add(u64 *result, const u64 *left, const u64 *right, return carry; } @@ -649,12 +649,12 @@ index ed1237115066..9a789926cc2a 100644 + /* Currently, both NIST primes have -1 in lowest qword. */ + if (curve_prime[0] != -1ull) { + /* Try to handle Pseudo-Marsenne primes. */ -+ if (curve_prime[ndigits - 1] = -1ull) { ++ if (curve_prime[ndigits - 1] == -1ull) { + vli_mmod_special(result, product, curve_prime, + ndigits); + return true; -+ } else if (curve_prime[ndigits - 1] = 1ull << 63 && -+ curve_prime[ndigits - 2] = 0) { ++ } else if (curve_prime[ndigits - 1] == 1ull << 63 && ++ curve_prime[ndigits - 2] == 0) { + vli_mmod_special2(result, product, curve_prime, + ndigits); + return true; @@ -952,7 +952,7 @@ index f75a86baa3bd..6063dde083d8 100644 + * @ndigits: length of both vlis + * + * Returns sign of @left - @right, i.e. -1 if @left < @right, -+ * 0 if @left = @right, 1 if @left > @right. ++ * 0 if @left == @right, 1 if @left > @right. + */ +int vli_cmp(const u64 *left, const u64 *right, unsigned int ndigits); + @@ -1373,15 +1373,15 @@ index 000000000000..bf5ddd6e22ca + + /* Step 1: verify that 0 < r < q, 0 < s < q */ + if (vli_is_zero(r, ndigits) || -+ vli_cmp(r, ctx->curve->n, ndigits) = 1 || ++ vli_cmp(r, ctx->curve->n, ndigits) == 1 || + vli_is_zero(s, ndigits) || -+ vli_cmp(s, ctx->curve->n, ndigits) = 1) ++ vli_cmp(s, ctx->curve->n, ndigits) == 1) + return -EKEYREJECTED; + + /* Step 2: calculate hash (h) of the message (passed as input) */ + /* Step 3: calculate e = h \mod q */ + vli_from_le64(e, req->digest, ndigits); -+ if (vli_cmp(e, ctx->curve->n, ndigits) = 1) ++ if (vli_cmp(e, ctx->curve->n, ndigits) == 1) + vli_sub(e, e, ctx->curve->n, ndigits); + if (vli_is_zero(e, ndigits)) + e[0] = 1; @@ -1401,10 +1401,10 @@ index 000000000000..bf5ddd6e22ca + /* Step 6: calculate point C = z_1P + z_2Q, and R = x_c \mod q */ + ecc_point_mult_shamir(&cc, z1, &ctx->curve->g, z2, &ctx->pub_key, + ctx->curve); -+ if (vli_cmp(cc.x, ctx->curve->n, ndigits) = 1) ++ if (vli_cmp(cc.x, ctx->curve->n, ndigits) == 1) + vli_sub(cc.x, cc.x, ctx->curve->n, ndigits); + -+ /* Step 7: if R = r signature is valid */ ++ /* Step 7: if R == r signature is valid */ + if (!vli_cmp(cc.x, r, ndigits)) + return 0; + else @@ -1426,7 +1426,7 @@ index 000000000000..bf5ddd6e22ca + if (len < 3 || + k[0] != 0x04 || /* OCTET STRING */ + (k[1] < 0x80 && len != k[1] + 2) || -+ (k[1] = 0x81 && len != k[2] + 3) || ++ (k[1] == 0x81 && len != k[2] + 3) || + k[1] > 0x81) + return -EBADMSG; + offset = (k[1] < 0x80)? 2 : 3; @@ -1452,11 +1452,11 @@ index 000000000000..bf5ddd6e22ca + const u8 *p = params; + int i; + -+ if (algo = OID_gost2012PublicKey256) { ++ if (algo == OID_gost2012PublicKey256) { + ctx->digest = "streebog256"; + ctx->digest_oid = OID_gost2012Digest256; + ctx->digest_len = 256 / 8; -+ } else if (algo = OID_gost2012PublicKey512) { ++ } else if (algo == OID_gost2012PublicKey512) { + ctx->digest = "streebog512"; + ctx->digest_oid = OID_gost2012Digest512; + ctx->digest_len = 512 / 8; @@ -1475,11 +1475,11 @@ index 000000000000..bf5ddd6e22ca + p[i + 1] > paramlen - i - 2) + return -EBADMSG; + oid = look_up_OID(p + i + 2, p[i + 1]); -+ if (oid = OID__NR) ++ if (oid == OID__NR) + return -ENOPKG; + -+ if (oid = OID_gost2012Digest256 || -+ oid = OID_gost2012Digest512) { ++ if (oid == OID_gost2012Digest256 || ++ oid == OID_gost2012Digest512) { + if (oid != ctx->digest_oid) + return -ENOPKG; + } else { diff --git a/a/content_digest b/N1/content_digest index fa8fe30..f244711 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,7 +1,7 @@ "ref\020190106133608.820-1-vt@altlinux.org\0" "From\0Vitaly Chikunov <vt@altlinux.org>\0" "Subject\0[RFC PATCH 4/4] crypto: Add EC-RDSA algorithm\0" - "Date\0Sun, 06 Jan 2019 13:36:08 +0000\0" + "Date\0Sun, 6 Jan 2019 16:36:08 +0300\0" "To\0David Howells <dhowells@redhat.com>" Herbert Xu <herbert@gondor.apana.org.au> Mimi Zohar <zohar@linux.vnet.ibm.com> @@ -276,7 +276,7 @@ "@@ -112,7 +115,7 @@ static void vli_clear(u64 *vli, unsigned int ndigits)\n" " }\n" " \n" - " /* Returns true if vli = 0, false otherwise. */\n" + " /* Returns true if vli == 0, false otherwise. */\n" "-static bool vli_is_zero(const u64 *vli, unsigned int ndigits)\n" "+bool vli_is_zero(const u64 *vli, unsigned int ndigits)\n" " {\n" @@ -351,7 +351,7 @@ "+EXPORT_SYMBOL(vli_cmp);\n" " \n" " /* Computes result = in << c, returning carry. Can modify in place\n" - " * (if result = in). 0 < shift < 64.\n" + " * (if result == in). 0 < shift < 64.\n" "@@ -239,8 +271,30 @@ static u64 vli_add(u64 *result, const u64 *left, const u64 *right,\n" " \treturn carry;\n" " }\n" @@ -663,12 +663,12 @@ "+\t/* Currently, both NIST primes have -1 in lowest qword. */\n" "+\tif (curve_prime[0] != -1ull) {\n" "+\t\t/* Try to handle Pseudo-Marsenne primes. */\n" - "+\t\tif (curve_prime[ndigits - 1] = -1ull) {\n" + "+\t\tif (curve_prime[ndigits - 1] == -1ull) {\n" "+\t\t\tvli_mmod_special(result, product, curve_prime,\n" "+\t\t\t\t\t ndigits);\n" "+\t\t\treturn true;\n" - "+\t\t} else if (curve_prime[ndigits - 1] = 1ull << 63 &&\n" - "+\t\t\t curve_prime[ndigits - 2] = 0) {\n" + "+\t\t} else if (curve_prime[ndigits - 1] == 1ull << 63 &&\n" + "+\t\t\t curve_prime[ndigits - 2] == 0) {\n" "+\t\t\tvli_mmod_special2(result, product, curve_prime,\n" "+\t\t\t\t\t ndigits);\n" "+\t\t\treturn true;\n" @@ -966,7 +966,7 @@ "+ * @ndigits:\t\tlength of both vlis\n" "+ *\n" "+ * Returns sign of @left - @right, i.e. -1 if @left < @right,\n" - "+ * 0 if @left = @right, 1 if @left > @right.\n" + "+ * 0 if @left == @right, 1 if @left > @right.\n" "+ */\n" "+int vli_cmp(const u64 *left, const u64 *right, unsigned int ndigits);\n" "+\n" @@ -1387,15 +1387,15 @@ "+\n" "+\t/* Step 1: verify that 0 < r < q, 0 < s < q */\n" "+\tif (vli_is_zero(r, ndigits) ||\n" - "+\t vli_cmp(r, ctx->curve->n, ndigits) = 1 ||\n" + "+\t vli_cmp(r, ctx->curve->n, ndigits) == 1 ||\n" "+\t vli_is_zero(s, ndigits) ||\n" - "+\t vli_cmp(s, ctx->curve->n, ndigits) = 1)\n" + "+\t vli_cmp(s, ctx->curve->n, ndigits) == 1)\n" "+\t\treturn -EKEYREJECTED;\n" "+\n" "+\t/* Step 2: calculate hash (h) of the message (passed as input) */\n" "+\t/* Step 3: calculate e = h \\mod q */\n" "+\tvli_from_le64(e, req->digest, ndigits);\n" - "+\tif (vli_cmp(e, ctx->curve->n, ndigits) = 1)\n" + "+\tif (vli_cmp(e, ctx->curve->n, ndigits) == 1)\n" "+\t\tvli_sub(e, e, ctx->curve->n, ndigits);\n" "+\tif (vli_is_zero(e, ndigits))\n" "+\t\te[0] = 1;\n" @@ -1415,10 +1415,10 @@ "+\t/* Step 6: calculate point C = z_1P + z_2Q, and R = x_c \\mod q */\n" "+\tecc_point_mult_shamir(&cc, z1, &ctx->curve->g, z2, &ctx->pub_key,\n" "+\t\t\t ctx->curve);\n" - "+\tif (vli_cmp(cc.x, ctx->curve->n, ndigits) = 1)\n" + "+\tif (vli_cmp(cc.x, ctx->curve->n, ndigits) == 1)\n" "+\t\tvli_sub(cc.x, cc.x, ctx->curve->n, ndigits);\n" "+\n" - "+\t/* Step 7: if R = r signature is valid */\n" + "+\t/* Step 7: if R == r signature is valid */\n" "+\tif (!vli_cmp(cc.x, r, ndigits))\n" "+\t\treturn 0;\n" "+\telse\n" @@ -1440,7 +1440,7 @@ "+\tif (len < 3 ||\n" "+\t k[0] != 0x04 || /* OCTET STRING */\n" "+\t (k[1] < 0x80 && len != k[1] + 2) ||\n" - "+\t (k[1] = 0x81 && len != k[2] + 3) ||\n" + "+\t (k[1] == 0x81 && len != k[2] + 3) ||\n" "+\t k[1] > 0x81)\n" "+\t\treturn -EBADMSG;\n" "+\toffset = (k[1] < 0x80)? 2 : 3;\n" @@ -1466,11 +1466,11 @@ "+\tconst u8 *p = params;\n" "+\tint i;\n" "+\n" - "+\tif (algo = OID_gost2012PublicKey256) {\n" + "+\tif (algo == OID_gost2012PublicKey256) {\n" "+\t\tctx->digest\t= \"streebog256\";\n" "+\t\tctx->digest_oid\t= OID_gost2012Digest256;\n" "+\t\tctx->digest_len\t= 256 / 8;\n" - "+\t} else if (algo = OID_gost2012PublicKey512) {\n" + "+\t} else if (algo == OID_gost2012PublicKey512) {\n" "+\t\tctx->digest\t= \"streebog512\";\n" "+\t\tctx->digest_oid\t= OID_gost2012Digest512;\n" "+\t\tctx->digest_len\t= 512 / 8;\n" @@ -1489,11 +1489,11 @@ "+\t\t p[i + 1] > paramlen - i - 2)\n" "+\t\t\treturn -EBADMSG;\n" "+\t\toid = look_up_OID(p + i + 2, p[i + 1]);\n" - "+\t\tif (oid = OID__NR)\n" + "+\t\tif (oid == OID__NR)\n" "+\t\t\treturn -ENOPKG;\n" "+\n" - "+\t\tif (oid = OID_gost2012Digest256 ||\n" - "+\t\t oid = OID_gost2012Digest512) {\n" + "+\t\tif (oid == OID_gost2012Digest256 ||\n" + "+\t\t oid == OID_gost2012Digest512) {\n" "+\t\t\tif (oid != ctx->digest_oid)\n" "+\t\t\t\treturn -ENOPKG;\n" "+\t\t} else {\n" @@ -1602,4 +1602,4 @@ "-- \n" 2.11.0 -64780359c037bebf041bced9dcbec8bbcd9db1eb06312e3b34a08858d635e546 +90bf6dbe28f8afb5503153146e5702a393feed9cbe2e464f7fe4931f9bd6ebdf
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.