]>
git.ipfire.org Git - thirdparty/openssl.git/blob - crypto/bf/bf_skey.c
2 * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
4 * Licensed under the Apache License 2.0 (the "License"). You may not use
5 * this file except in compliance with the License. You can obtain a copy
6 * in the file LICENSE in the source distribution or at
7 * https://www.openssl.org/source/license.html
11 * BF low level APIs are deprecated for public use, but still ok for internal
14 #include "internal/deprecated.h"
18 #include <openssl/blowfish.h>
22 void BF_set_key(BF_KEY
*key
, int len
, const unsigned char *data
)
25 BF_LONG
*p
, ri
, in
[2];
26 const unsigned char *d
, *end
;
28 memcpy(key
, &bf_init
, sizeof(BF_KEY
));
31 if (len
> ((BF_ROUNDS
+ 2) * 4))
32 len
= (BF_ROUNDS
+ 2) * 4;
36 for (i
= 0; i
< (BF_ROUNDS
+ 2); i
++) {
61 for (i
= 0; i
< (BF_ROUNDS
+ 2); i
+= 2) {
68 for (i
= 0; i
< 4 * 256; i
+= 2) {