Donatien Garnier / MiniTLS-GPL

Dependents:   MiniTLS-HTTPS-Example

Committer:
MiniTLS
Date:
Tue Jun 10 14:22:36 2014 +0000
Revision:
3:eb324ffffd2b
Fixes for mbed

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MiniTLS 3:eb324ffffd2b 1 /*
MiniTLS 3:eb324ffffd2b 2 MiniTLS - A super trimmed down TLS/SSL Library for embedded devices
MiniTLS 3:eb324ffffd2b 3 Author: Donatien Garnier
MiniTLS 3:eb324ffffd2b 4 Copyright (C) 2013-2014 AppNearMe Ltd
MiniTLS 3:eb324ffffd2b 5
MiniTLS 3:eb324ffffd2b 6 This program is free software; you can redistribute it and/or
MiniTLS 3:eb324ffffd2b 7 modify it under the terms of the GNU General Public License
MiniTLS 3:eb324ffffd2b 8 as published by the Free Software Foundation; either version 2
MiniTLS 3:eb324ffffd2b 9 of the License, or (at your option) any later version.
MiniTLS 3:eb324ffffd2b 10
MiniTLS 3:eb324ffffd2b 11 This program is distributed in the hope that it will be useful,
MiniTLS 3:eb324ffffd2b 12 but WITHOUT ANY WARRANTY; without even the implied warranty of
MiniTLS 3:eb324ffffd2b 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
MiniTLS 3:eb324ffffd2b 14 GNU General Public License for more details.
MiniTLS 3:eb324ffffd2b 15
MiniTLS 3:eb324ffffd2b 16 You should have received a copy of the GNU General Public License
MiniTLS 3:eb324ffffd2b 17 along with this program; if not, write to the Free Software
MiniTLS 3:eb324ffffd2b 18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
MiniTLS 3:eb324ffffd2b 19 *//**
MiniTLS 3:eb324ffffd2b 20 * \file crypto_arc4.h
MiniTLS 3:eb324ffffd2b 21 * \copyright Copyright (c) AppNearMe Ltd 2014
MiniTLS 3:eb324ffffd2b 22 * \author Donatien Garnier
MiniTLS 3:eb324ffffd2b 23 */
MiniTLS 3:eb324ffffd2b 24
MiniTLS 3:eb324ffffd2b 25 #ifndef CRYPTO_ARC4_H_
MiniTLS 3:eb324ffffd2b 26 #define CRYPTO_ARC4_H_
MiniTLS 3:eb324ffffd2b 27
MiniTLS 3:eb324ffffd2b 28 #ifdef __cplusplus
MiniTLS 3:eb324ffffd2b 29 extern "C" {
MiniTLS 3:eb324ffffd2b 30 #endif
MiniTLS 3:eb324ffffd2b 31
MiniTLS 3:eb324ffffd2b 32 typedef struct __crypto_arc4
MiniTLS 3:eb324ffffd2b 33 {
MiniTLS 3:eb324ffffd2b 34 int i;
MiniTLS 3:eb324ffffd2b 35 int j;
MiniTLS 3:eb324ffffd2b 36 uint8_t state[256];
MiniTLS 3:eb324ffffd2b 37 } crypto_arc4_t;
MiniTLS 3:eb324ffffd2b 38
MiniTLS 3:eb324ffffd2b 39 void crypto_arc4_init(crypto_arc4_t* arc4, const uint8_t* key, size_t key_size);
MiniTLS 3:eb324ffffd2b 40
MiniTLS 3:eb324ffffd2b 41 void crypto_arc4_encrypt(crypto_arc4_t* arc4, const uint8_t* plaintext, uint8_t* ciphertext, size_t length);
MiniTLS 3:eb324ffffd2b 42 #define crypto_arc4_decrypt(arc4, ciphertext, plaintext, length) crypto_arc4_encrypt(arc4, ciphertext, plaintext, length)
MiniTLS 3:eb324ffffd2b 43
MiniTLS 3:eb324ffffd2b 44 void crypto_arc4_process(crypto_arc4_t* arc4, buffer_t* buffer);
MiniTLS 3:eb324ffffd2b 45
MiniTLS 3:eb324ffffd2b 46
MiniTLS 3:eb324ffffd2b 47
MiniTLS 3:eb324ffffd2b 48 #ifdef __cplusplus
MiniTLS 3:eb324ffffd2b 49 }
MiniTLS 3:eb324ffffd2b 50 #endif
MiniTLS 3:eb324ffffd2b 51
MiniTLS 3:eb324ffffd2b 52 #endif /* CRYPTO_ARC4_H_ */