From d6869d1ec4bd24cd2c3eafa534f0849b25ec5607 Mon Sep 17 00:00:00 2001
From: Clyne Sullivan <tullivan99@gmail.com>
Date: Thu, 28 Feb 2019 17:04:22 -0500
Subject: added basic code

---
 arduino/libraries/BLEHomekit/src/crypto/srp/srp.h | 54 +++++++++++++++++++++++
 1 file changed, 54 insertions(+)
 create mode 100755 arduino/libraries/BLEHomekit/src/crypto/srp/srp.h

(limited to 'arduino/libraries/BLEHomekit/src/crypto/srp/srp.h')

diff --git a/arduino/libraries/BLEHomekit/src/crypto/srp/srp.h b/arduino/libraries/BLEHomekit/src/crypto/srp/srp.h
new file mode 100755
index 0000000..7d11bcd
--- /dev/null
+++ b/arduino/libraries/BLEHomekit/src/crypto/srp/srp.h
@@ -0,0 +1,54 @@
+/*
+ * srp.h
+ *
+ *  Created on: Jun 10, 2015
+ *      Author: tim
+ */
+
+#ifndef HOMEKIT_SRP_SRP_H_
+#define HOMEKIT_SRP_SRP_H_
+
+#define BIGNUM_BYTES        384
+#define BIGNUM_WORDS        (BIGNUM_BYTES / 4)
+
+#define DEBUG_SRP     0
+#define TEST_APPLE    0
+
+typedef struct
+{
+  uint8_t b[32];
+  uint8_t salt[16];
+  uint8_t v[384];
+  uint8_t B[384];
+
+  uint8_t K[64];
+  uint8_t M1[64];
+  uint8_t M2[64];
+
+  uint8_t clientM1:1;
+  uint8_t serverM1:1;
+} srp_keys_t;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+extern srp_keys_t srp;
+
+typedef void (*moretime_t)(void);
+
+extern void srp_init(void);
+extern void srp_start(void);
+extern uint8_t srp_setA(uint8_t* a, uint16_t length, moretime_t moretime);
+extern uint8_t srp_checkM1(uint8_t* m1, uint16_t length);
+extern uint8_t* srp_getSalt(void);
+extern uint8_t* srp_getB(void);
+extern uint8_t* srp_getM2(void);
+extern uint8_t* srp_getK(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* HOMEKIT_SRP_SRP_H_ */
-- 
cgit v1.2.3