summaryrefslogtreecommitdiff
path: root/mesh/crypto.h
diff options
context:
space:
mode:
authorInga Stotland <johan.hedberg@gmail.com>2018-06-21 23:32:00 -0700
committerMarcel Holtmann <marcel@holtmann.org>2018-07-06 13:03:33 +0200
commitef05f4957dce261ca4aa4def2d360015f8be6eed (patch)
tree9b50f62c2cfe1f61e359641e459772e800493a5a /mesh/crypto.h
parentf0d0c48e82e485d79393bcd30091cfdc5ee201e7 (diff)
downloadbluez-ef05f4957dce261ca4aa4def2d360015f8be6eed.tar.gz
tools: Move meshctl sources under tools/mesh directory
This is a temporary location until the unified mesh solution is provided
Diffstat (limited to 'mesh/crypto.h')
-rw-r--r--mesh/crypto.h120
1 files changed, 0 insertions, 120 deletions
diff --git a/mesh/crypto.h b/mesh/crypto.h
deleted file mode 100644
index e8f16f35d..000000000
--- a/mesh/crypto.h
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- *
- * BlueZ - Bluetooth protocol stack for Linux
- *
- * Copyright (C) 2017 Intel Corporation. All rights reserved.
- *
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- *
- */
-
-#include <stdbool.h>
-#include <stdint.h>
-
-bool mesh_crypto_aes_ccm_encrypt(const uint8_t nonce[13], const uint8_t key[16],
- const uint8_t *aad, uint16_t aad_len,
- const uint8_t *msg, uint16_t msg_len,
- uint8_t *out_msg, void *out_mic,
- size_t mic_size);
-bool mesh_crypto_aes_ccm_decrypt(const uint8_t nonce[13], const uint8_t key[16],
- const uint8_t *aad, uint16_t aad_len,
- const uint8_t *enc_msg, uint16_t enc_msg_len,
- uint8_t *out_msg, void *out_mic,
- size_t mic_size);
-bool mesh_crypto_nkik(const uint8_t network_key[16], uint8_t identity_key[16]);
-bool mesh_crypto_nkbk(const uint8_t network_key[16], uint8_t beacon_key[16]);
-bool mesh_crypto_identity(const uint8_t net_key[16], uint16_t addr,
- uint8_t id[16]);
-bool mesh_crypto_identity_check(const uint8_t net_key[16], uint16_t addr,
- uint8_t id[16]);
-bool mesh_crypto_beacon_cmac(const uint8_t encryption_key[16],
- const uint8_t network_id[16],
- uint32_t iv_index, bool kr, bool iu,
- uint64_t *cmac);
-bool mesh_crypto_network_nonce(bool frnd, uint8_t ttl, uint32_t seq,
- uint16_t src, uint32_t iv_index,
- uint8_t nonce[13]);
-bool mesh_crypto_network_encrypt(bool ctl, uint8_t ttl,
- uint32_t seq, uint16_t src,
- uint32_t iv_index,
- const uint8_t net_key[16],
- const uint8_t *enc_msg, uint8_t enc_msg_len,
- uint8_t *out, void *net_mic);
-bool mesh_crypto_network_decrypt(bool frnd, uint8_t ttl,
- uint32_t seq, uint16_t src,
- uint32_t iv_index,
- const uint8_t net_key[16],
- const uint8_t *enc_msg, uint8_t enc_msg_len,
- uint8_t *out, void *net_mic, size_t mic_size);
-bool mesh_crypto_application_nonce(uint32_t seq, uint16_t src,
- uint16_t dst, uint32_t iv_index,
- bool aszmic, uint8_t nonce[13]);
-bool mesh_crypto_device_nonce(uint32_t seq, uint16_t src,
- uint16_t dst, uint32_t iv_index,
- bool aszmic, uint8_t nonce[13]);
-bool mesh_crypto_application_encrypt(uint8_t akf, uint32_t seq, uint16_t src,
- uint16_t dst, uint32_t iv_index,
- const uint8_t app_key[16],
- const uint8_t *aad, uint8_t aad_len,
- const uint8_t *msg, uint8_t msg_len,
- uint8_t *out, void *app_mic,
- size_t mic_size);
-bool mesh_crypto_application_decrypt(uint8_t akf, uint32_t seq, uint16_t src,
- uint16_t dst, uint32_t iv_index,
- const uint8_t app_key[16],
- const uint8_t *aad, uint8_t aad_len,
- const uint8_t *enc_msg, uint8_t enc_msg_len,
- uint8_t *out, void *app_mic, size_t mic_size);
-bool mesh_crypto_device_key(const uint8_t secret[32],
- const uint8_t salt[16],
- uint8_t device_key[16]);
-bool mesh_crypto_virtual_addr(const uint8_t virtual_label[16],
- uint16_t *v_addr);
-bool mesh_crypto_nonce(const uint8_t secret[32],
- const uint8_t salt[16],
- uint8_t nonce[13]);
-bool mesh_crypto_k1(const uint8_t ikm[16], const uint8_t salt[16],
- const void *info, size_t info_len, uint8_t okm[16]);
-bool mesh_crypto_k2(const uint8_t n[16], const uint8_t *p, size_t p_len,
- uint8_t net_id[1],
- uint8_t enc_key[16],
- uint8_t priv_key[16]);
-bool mesh_crypto_k3(const uint8_t n[16], uint8_t out64[8]);
-bool mesh_crypto_k4(const uint8_t a[16], uint8_t out5[1]);
-bool mesh_crypto_s1(const void *info, size_t len, uint8_t salt[16]);
-bool mesh_crypto_prov_prov_salt(const uint8_t conf_salt[16],
- const uint8_t prov_rand[16],
- const uint8_t dev_rand[16],
- uint8_t prov_salt[16]);
-bool mesh_crypto_prov_conf_key(const uint8_t secret[32],
- const uint8_t salt[16],
- uint8_t conf_key[16]);
-bool mesh_crypto_session_key(const uint8_t secret[32],
- const uint8_t salt[16],
- uint8_t session_key[16]);
-bool mesh_crypto_packet_encode(uint8_t *packet, uint8_t packet_len,
- const uint8_t network_key[16],
- uint32_t iv_index,
- const uint8_t privacy_key[16]);
-bool mesh_crypto_packet_decode(const uint8_t *packet, uint8_t packet_len,
- bool proxy, uint8_t *out, uint32_t iv_index,
- const uint8_t network_key[16],
- const uint8_t privacy_key[16]);
-
-bool mesh_crypto_aes_cmac(const uint8_t key[16], const uint8_t *msg,
- size_t msg_len, uint8_t res[16]);
-
-bool mesh_get_random_bytes(void *buf, size_t num_bytes);