RadioShuttle Lib for the STM32 L4 Heltec Board

Dependents:   Turtle_RadioShuttle

Committer:
Helmut64
Date:
Wed Feb 06 15:26:48 2019 +0000
Revision:
0:0c31756924a2
new lib

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Helmut64 0:0c31756924a2 1 /*
Helmut64 0:0c31756924a2 2 * The file is licensed under the Apache License, Version 2.0
Helmut64 0:0c31756924a2 3 * (c) 2019 Helmut Tschemernjak
Helmut64 0:0c31756924a2 4 * 30826 Garbsen (Hannover) Germany
Helmut64 0:0c31756924a2 5 */
Helmut64 0:0c31756924a2 6
Helmut64 0:0c31756924a2 7 #include "sha256.h"
Helmut64 0:0c31756924a2 8 #include "aes.h"
Helmut64 0:0c31756924a2 9
Helmut64 0:0c31756924a2 10 class RadioSecurity : public RadioSecurityInterface {
Helmut64 0:0c31756924a2 11 public:
Helmut64 0:0c31756924a2 12 RadioSecurity();
Helmut64 0:0c31756924a2 13 virtual ~RadioSecurity();
Helmut64 0:0c31756924a2 14 virtual int GetSecurityVersion(void);
Helmut64 0:0c31756924a2 15 /*
Helmut64 0:0c31756924a2 16 * The hash block size for SHA256 in bytes
Helmut64 0:0c31756924a2 17 */
Helmut64 0:0c31756924a2 18 virtual int GetHashBlockSize(void);
Helmut64 0:0c31756924a2 19 virtual void HashPassword(void *seed, int seedLen, void *password, int pwLen, void *hashResult);
Helmut64 0:0c31756924a2 20
Helmut64 0:0c31756924a2 21 virtual int GetEncryptionBlockSize(void);
Helmut64 0:0c31756924a2 22 virtual void *CreateEncryptionContext(void *key, int keyLen, void *seed = NULL, int seedlen = 0);
Helmut64 0:0c31756924a2 23 virtual void DestroyEncryptionContext(void *context);
Helmut64 0:0c31756924a2 24 virtual void EncryptMessage(void *context, const void *input, void *output, int len);
Helmut64 0:0c31756924a2 25 virtual void DecryptMessage(void *context, const void *input, void *output, int len);
Helmut64 0:0c31756924a2 26 virtual void EncryptTest(void);
Helmut64 0:0c31756924a2 27 private:
Helmut64 0:0c31756924a2 28 static int const _securityVers = 1;
Helmut64 0:0c31756924a2 29 };