Re: [RFCv2 13/20] Bluetooth: Add function to derive AMP key using hmac

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Dmitry,

* Andrei Emeltchenko <Andrei.Emeltchenko.news@xxxxxxxxx> [2012-07-24 16:21:54 +0300]:

> From: Dmitry Kasatkin <dmitry.kasatkin@xxxxxxxxx>
> 
> hmac(sha256) will be used for AMP key generation.
> 
> Signed-off-by: Dmitry Kasatkin <dmitry.kasatkin@xxxxxxxxx>
> Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@xxxxxxxxx>
> ---
>  net/bluetooth/pal.c |   35 +++++++++++++++++++++++++++++++++++
>  1 file changed, 35 insertions(+)
> 
> diff --git a/net/bluetooth/pal.c b/net/bluetooth/pal.c
> index 335cbc3..a405e88 100644
> --- a/net/bluetooth/pal.c
> +++ b/net/bluetooth/pal.c
> @@ -12,6 +12,7 @@
>  */
>  
>  #include <net/bluetooth/pal.h>
> +#include <crypto/hash.h>
>  
>  enum pal_states {
>  	DISCONNECTED,
> @@ -220,3 +221,37 @@ struct phy_link *phylink_lookup(struct amp_mgr *mgr, u8 local_id, u8 remote_id)
>  
>  	return found;
>  }
> +
> +int hmac_sha256(u8 *key, u8 ksize, char *plaintext, u8 psize, u8 *output)
> +{
> +	int ret = 0;
> +	struct crypto_shash *tfm;
> +
> +	tfm = crypto_alloc_shash("hmac(sha256)", 0, 0);
> +	if (IS_ERR(tfm)) {
> +		BT_DBG("crypto_alloc_ahash failed");
> +		return PTR_ERR(tfm);
> +	}
> +
> +	if (ksize) {

can you move the check for ksize to the beginning of the function? This avoid
unnecessary calls to crypto_alloc_ahash() in case ksize is zero.

	Gustavo
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux