Print this page
4896 Performance improvements for KCF AES modes
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/common/crypto/blowfish/blowfish_impl.h
+++ new/usr/src/common/crypto/blowfish/blowfish_impl.h
1 1 /*
2 2 * CDDL HEADER START
3 3 *
4 4 * The contents of this file are subject to the terms of the
5 5 * Common Development and Distribution License (the "License").
6 6 * You may not use this file except in compliance with the License.
7 7 *
8 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 9 * or http://www.opensolaris.org/os/licensing.
10 10 * See the License for the specific language governing permissions
11 11 * and limitations under the License.
12 12 *
13 13 * When distributing Covered Code, include this CDDL HEADER in each
14 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
↓ open down ↓ |
14 lines elided |
↑ open up ↑ |
15 15 * If applicable, add the following below this CDDL HEADER, with the
16 16 * fields enclosed by brackets "[]" replaced with your own identifying
17 17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 18 *
19 19 * CDDL HEADER END
20 20 */
21 21 /*
22 22 * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
23 23 * Use is subject to license terms.
24 24 */
25 +/*
26 + * Copyright 2015 by Saso Kiselkov. All rights reserved.
27 + */
25 28
26 29 #ifndef _BLOWFISH_IMPL_H
27 30 #define _BLOWFISH_IMPL_H
28 31
29 -#pragma ident "%Z%%M% %I% %E% SMI"
30 -
31 32 /*
32 33 * Common definitions used by Blowfish.
33 34 */
34 35
35 36 #ifdef __cplusplus
36 37 extern "C" {
37 38 #endif
38 39
39 40 #define BLOWFISH_COPY_BLOCK(src, dst) \
40 41 (dst)[0] = (src)[0]; \
41 42 (dst)[1] = (src)[1]; \
42 43 (dst)[2] = (src)[2]; \
43 44 (dst)[3] = (src)[3]; \
44 45 (dst)[4] = (src)[4]; \
45 46 (dst)[5] = (src)[5]; \
46 47 (dst)[6] = (src)[6]; \
47 48 (dst)[7] = (src)[7]
48 49
49 50 #define BLOWFISH_XOR_BLOCK(src, dst) \
50 51 (dst)[0] ^= (src)[0]; \
51 52 (dst)[1] ^= (src)[1]; \
52 53 (dst)[2] ^= (src)[2]; \
53 54 (dst)[3] ^= (src)[3]; \
54 55 (dst)[4] ^= (src)[4]; \
55 56 (dst)[5] ^= (src)[5]; \
56 57 (dst)[6] ^= (src)[6]; \
57 58 (dst)[7] ^= (src)[7]
58 59
59 60 #define BLOWFISH_MINBITS 32
60 61 #define BLOWFISH_MINBYTES (BLOWFISH_MINBITS >> 3)
61 62 #define BLOWFISH_MAXBITS 448
62 63 #define BLOWFISH_MAXBYTES (BLOWFISH_MAXBITS >> 3)
63 64
64 65 #define BLOWFISH_IV_LEN 8
65 66 #define BLOWFISH_BLOCK_LEN 8
66 67 #define BLOWFISH_KEY_INCREMENT 8
↓ open down ↓ |
26 lines elided |
↑ open up ↑ |
67 68 #define BLOWFISH_DEFAULT 128
68 69
69 70 extern int blowfish_encrypt_contiguous_blocks(void *, char *, size_t,
70 71 crypto_data_t *);
71 72 extern int blowfish_decrypt_contiguous_blocks(void *, char *, size_t,
72 73 crypto_data_t *);
73 74 extern int blowfish_encrypt_block(const void *, const uint8_t *, uint8_t *);
74 75 extern int blowfish_decrypt_block(const void *, const uint8_t *, uint8_t *);
75 76 extern void blowfish_init_keysched(uint8_t *, uint_t, void *);
76 77 extern void *blowfish_alloc_keysched(size_t *, int);
77 -extern void blowfish_copy_block(uint8_t *, uint8_t *);
78 -extern void blowfish_xor_block(uint8_t *, uint8_t *);
78 +extern void blowfish_copy_block(const uint8_t *, uint8_t *);
79 +extern void blowfish_xor_block(const uint8_t *, uint8_t *);
79 80 #ifdef __cplusplus
80 81 }
81 82 #endif
82 83
83 84 #endif /* _BLOWFISH_IMPL_H */
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX