Hi Andrew,
On 09/05/2015 04:00 PM, Andrew Zaborowski wrote:
> +static int crypto_akcipher_init(struct crypto_tfm *tfm, u32 type, u32 mask)
> +{
> +     return 0;
> +}
> +

This is not needed I think.

> 
> +static int pkcs1pad_decrypt_complete(struct akcipher_request *req, int err)
> +{
> +     struct akcipher_request *child_req = akcipher_request_ctx(req);
> +     int pos;
> +     uint8_t *dst = child_req->dst;
> +
> +     BUG_ON(err == -EOVERFLOW);
> +
> +     if (err)
> +             goto done;
> +
> +     if (dst[0] != 0x00) {
> +             err = -EINVAL;
> +             goto done;
> +     }

This won't work I'm afraid, because MPI strips all leading zeors. 

> +     if (dst[1] != 0x02) {
> +             err = -EINVAL;
> +             goto done;
> +     }
> 
> +static int pkcs1pad_verify_complete(struct akcipher_request *req, int err)
> +{
> +     struct akcipher_request *child_req = akcipher_request_ctx(req);
> +     int pos;
> +     uint8_t *dst = child_req->dst;
> +
> +     BUG_ON(err == -EOVERFLOW);
> +
> +     if (err)
> +             goto done;
> +
> +     if (dst[0] != 0x00) {
> +             err = -EINVAL;
> +             goto done;
> +     }

same here the zero will be stripped off.

--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to