1
+ /*
2
+ * Copyright (c) 2019 Arduino SA. All rights reserved.
3
+ *
4
+ * Permission is hereby granted, free of charge, to any person obtaining
5
+ * a copy of this software and associated documentation files (the
6
+ * "Software"), to deal in the Software without restriction, including
7
+ * without limitation the rights to use, copy, modify, merge, publish,
8
+ * distribute, sublicense, and/or sell copies of the Software, and to
9
+ * permit persons to whom the Software is furnished to do so, subject to
10
+ * the following conditions:
11
+ *
12
+ * The above copyright notice and this permission notice shall be
13
+ * included in all copies or substantial portions of the Software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
19
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ * SOFTWARE.
23
+ */
24
+
25
+ #include " Encryption.h"
26
+
27
+ EncryptionClass::EncryptionClass (int blockSize, int digestSize) :
28
+ _blockSize(blockSize),
29
+ _digestSize(digestSize)
30
+ {
31
+ _data = (uint8_t *)malloc (_digestSize);
32
+ _secret = (uint8_t *)malloc (_blockSize);
33
+ _ivector = (uint8_t *)malloc (_blockSize);
34
+ }
35
+
36
+ EncryptionClass::~EncryptionClass ()
37
+ {
38
+ if (_secret) {
39
+ free (_secret);
40
+ _secret = NULL ;
41
+ }
42
+
43
+ if (_data) {
44
+ free (_data);
45
+ _data = NULL ;
46
+ }
47
+
48
+ if (_ivector) {
49
+ free (_ivector);
50
+ _ivector = NULL ;
51
+ }
52
+ }
53
+
54
+ int EncryptionClass::runEnc (uint8_t *_secret, size_t _secretLength, uint8_t *_data, size_t _dataLength, uint8_t *_ivector)
55
+ {
56
+ return runEncryption (_secret, _secretLength, _data, _dataLength, _ivector);
57
+ }
58
+
59
+ int EncryptionClass::runDec (uint8_t *_secret, size_t _secretLength, uint8_t *_data, size_t _dataLength, uint8_t *_ivector)
60
+ {
61
+ return runDecryption (_secret, _secretLength, _data, _dataLength, _ivector);
62
+ }
0 commit comments