mbed TLS v2.2.0
|
Blowfish block cipher.
Copyright (C) 2006-2015, ARM Limited, All Rights Reserved SPDX-License-Identifier: Apache-2.0
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
This file is part of mbed TLS (https://tls.mbed.org)
Definition in file blowfish.h.
Go to the source code of this file.
Data Structures | |
struct | mbedtls_blowfish_context |
Blowfish context structure. More... | |
Macros | |
#define | MBEDTLS_BLOWFISH_ENCRYPT 1 |
#define | MBEDTLS_BLOWFISH_DECRYPT 0 |
#define | MBEDTLS_BLOWFISH_MAX_KEY_BITS 448 |
#define | MBEDTLS_BLOWFISH_MIN_KEY_BITS 32 |
#define | MBEDTLS_BLOWFISH_ROUNDS 16 |
Rounds to use. More... | |
#define | MBEDTLS_BLOWFISH_BLOCKSIZE 8 /* Blowfish uses 64 bit blocks */ |
#define | MBEDTLS_ERR_BLOWFISH_INVALID_KEY_LENGTH -0x0016 |
Invalid key length. More... | |
#define | MBEDTLS_ERR_BLOWFISH_INVALID_INPUT_LENGTH -0x0018 |
Invalid data input length. More... | |
Functions | |
void | mbedtls_blowfish_init (mbedtls_blowfish_context *ctx) |
Initialize Blowfish context. More... | |
void | mbedtls_blowfish_free (mbedtls_blowfish_context *ctx) |
Clear Blowfish context. More... | |
int | mbedtls_blowfish_setkey (mbedtls_blowfish_context *ctx, const unsigned char *key, unsigned int keybits) |
Blowfish key schedule. More... | |
int | mbedtls_blowfish_crypt_ecb (mbedtls_blowfish_context *ctx, int mode, const unsigned char input[MBEDTLS_BLOWFISH_BLOCKSIZE], unsigned char output[MBEDTLS_BLOWFISH_BLOCKSIZE]) |
Blowfish-ECB block encryption/decryption. More... | |
#define MBEDTLS_BLOWFISH_BLOCKSIZE 8 /* Blowfish uses 64 bit blocks */ |
Definition at line 40 of file blowfish.h.
#define MBEDTLS_BLOWFISH_DECRYPT 0 |
Definition at line 36 of file blowfish.h.
#define MBEDTLS_BLOWFISH_ENCRYPT 1 |
Definition at line 35 of file blowfish.h.
#define MBEDTLS_BLOWFISH_MAX_KEY_BITS 448 |
Definition at line 37 of file blowfish.h.
#define MBEDTLS_BLOWFISH_MIN_KEY_BITS 32 |
Definition at line 38 of file blowfish.h.
#define MBEDTLS_BLOWFISH_ROUNDS 16 |
Rounds to use.
When increasing this value, make sure to extend the initialisation vectors
Definition at line 39 of file blowfish.h.
#define MBEDTLS_ERR_BLOWFISH_INVALID_INPUT_LENGTH -0x0018 |
Invalid data input length.
Definition at line 43 of file blowfish.h.
#define MBEDTLS_ERR_BLOWFISH_INVALID_KEY_LENGTH -0x0016 |
Invalid key length.
Definition at line 42 of file blowfish.h.
int mbedtls_blowfish_crypt_ecb | ( | mbedtls_blowfish_context * | ctx, |
int | mode, | ||
const unsigned char | input[MBEDTLS_BLOWFISH_BLOCKSIZE], | ||
unsigned char | output[MBEDTLS_BLOWFISH_BLOCKSIZE] | ||
) |
Blowfish-ECB block encryption/decryption.
ctx | Blowfish context |
mode | MBEDTLS_BLOWFISH_ENCRYPT or MBEDTLS_BLOWFISH_DECRYPT |
input | 8-byte input block |
output | 8-byte output block |
void mbedtls_blowfish_free | ( | mbedtls_blowfish_context * | ctx | ) |
Clear Blowfish context.
ctx | Blowfish context to be cleared |
void mbedtls_blowfish_init | ( | mbedtls_blowfish_context * | ctx | ) |
Initialize Blowfish context.
ctx | Blowfish context to be initialized |
int mbedtls_blowfish_setkey | ( | mbedtls_blowfish_context * | ctx, |
const unsigned char * | key, | ||
unsigned int | keybits | ||
) |
Blowfish key schedule.
ctx | Blowfish context to be initialized |
key | encryption key |
keybits | must be between 32 and 448 bits |