aboutsummaryrefslogtreecommitdiffstats
path: root/Source/lib/crypto/crypters/crypter.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/lib/crypto/crypters/crypter.h')
-rw-r--r--Source/lib/crypto/crypters/crypter.h153
1 files changed, 0 insertions, 153 deletions
diff --git a/Source/lib/crypto/crypters/crypter.h b/Source/lib/crypto/crypters/crypter.h
deleted file mode 100644
index 9c219f5cc..000000000
--- a/Source/lib/crypto/crypters/crypter.h
+++ /dev/null
@@ -1,153 +0,0 @@
-/**
- * @file crypter.h
- *
- * @brief Interface crypter_t
- *
- */
-
-/*
- * Copyright (C) 2005 Jan Hutter, Martin Willi
- * Hochschule fuer Technik Rapperswil
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * for more details.
- */
-
-#ifndef CRYPTER_H_
-#define CRYPTER_H_
-
-#include <types.h>
-
-typedef enum encryption_algorithm_t encryption_algorithm_t;
-
-/**
- * @brief Encryption algorithm, as in IKEv2 RFC 3.3.2.
- *
- * Currently only the following algorithms are implemented and therefore supported:
- * - ENCR_AES_CBC
- *
- * @todo Implement more enryption algorithms, such as 3DES
- *
- * @ingroup crypters
- */
-enum encryption_algorithm_t {
- ENCR_UNDEFINED = 1024,
- ENCR_DES_IV64 = 1,
- ENCR_DES = 2,
- ENCR_3DES = 3,
- ENCR_RC5 = 4,
- ENCR_IDEA = 5,
- ENCR_CAST = 6,
- ENCR_BLOWFISH = 7,
- ENCR_3IDEA = 8,
- ENCR_DES_IV32 = 9,
- ENCR_NULL = 11,
- /**
- * Implemented in class aes_cbc_crypter_t.
- */
- ENCR_AES_CBC = 12,
- ENCR_AES_CTR = 13
-};
-
-/**
- * String mappings for encryption_algorithm_t.
- */
-extern mapping_t encryption_algorithm_m[];
-
-
-typedef struct crypter_t crypter_t;
-
-/**
- * @brief Generic interface for symmetric encryption algorithms.
- *
- * @b Constructors:
- * - crypter_create()
- *
- * @ingroup crypters
- */
-struct crypter_t {
- /**
- * @brief Encrypt a chunk of data and allocate space for the encrypted value.
- *
- * @param this calling object
- * @param data data to encrypt
- * @param iv initializing vector
- * @param[out] encrypted pointer where the encrypted bytes will be written
- * @return
- * - SUCCESS
- * - INVALID_ARG if data size not a multiple of block size
- */
- status_t (*encrypt) (crypter_t *this, chunk_t data, chunk_t iv, chunk_t *encrypted);
-
- /**
- * @brief Decrypt a chunk of data and allocate space for the decrypted value.
- *
- * @param this calling object
- * @param data data to decrypt
- * @param iv initializing vector
- * @param[out] encrypted pointer where the decrypted bytes will be written
- * @return
- * - SUCCESS
- * - INVALID_ARG if data size not a multiple of block size
- */
- status_t (*decrypt) (crypter_t *this, chunk_t data, chunk_t iv, chunk_t *decrypted);
-
- /**
- * @brief Get the block size of this crypter_t object.
- *
- * @param this calling object
- * @return block size in bytes
- */
- size_t (*get_block_size) (crypter_t *this);
-
- /**
- * @brief Get the key size of this crypter_t object.
- *
- * @param this calling object
- * @return key size in bytes
- */
- size_t (*get_key_size) (crypter_t *this);
-
- /**
- * @brief Set the key for this crypter_t object.
- *
- * @param this calling object
- * @param key key to set
- * @return
- * - SUCCESS
- * - INVALID_ARG if key length invalid
- */
- status_t (*set_key) (crypter_t *this, chunk_t key);
-
- /**
- * @brief Destroys a crypter_t object.
- *
- * @param this calling object
- */
- void (*destroy) (crypter_t *this);
-};
-
-/**
- * @brief Generic constructor for crypter_t objects.
- *
- * Currently only the following algorithms are implemented and therefore supported:
- * - ENCR_AES_CBC
- *
- * The key_size is ignored for algorithms with fixed key size.
- *
- * @param encryption_algorithm Algorithm to use for crypter
- * @param key_size size of the key in bytes
- * @return
- * - crypter_t object
- * - NULL if encryption algorithm/key_size is not supported
- */
-crypter_t *crypter_create(encryption_algorithm_t encryption_algorithm, size_t key_size);
-
-#endif /*CRYPTER_H_*/