blob: 7d11bcdcdc807ce2520a3f103596458c381dae90 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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_ */
|