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