~ubuntu-branches/ubuntu/trusty/grub2/trusty-updates

« back to all changes in this revision

Viewing changes to lib/libgcrypt/cipher/camellia.h

Tags: upstream-1.99~20101122
ImportĀ upstreamĀ versionĀ 1.99~20101122

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* camellia.h   ver 1.2.0
2
 
 *
3
 
 * Copyright (C) 2006,2007
4
 
 * NTT (Nippon Telegraph and Telephone Corporation).
5
 
 *
6
 
 * This library is free software; you can redistribute it and/or
7
 
 * modify it under the terms of the GNU Lesser General Public
8
 
 * License as published by the Free Software Foundation; either
9
 
 * version 2.1 of the License, or (at your option) any later version.
10
 
 *
11
 
 * This library is distributed in the hope that it will be useful,
12
 
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14
 
 * Lesser General Public License for more details.
15
 
 *
16
 
 * You should have received a copy of the GNU Lesser General Public
17
 
 * License along with this library; if not, write to the Free Software
18
 
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
19
 
 */
20
 
 
21
 
#ifndef HEADER_CAMELLIA_H
22
 
#define HEADER_CAMELLIA_H
23
 
 
24
 
/* To use Camellia with libraries it is often useful to keep the name
25
 
 * space of the library clean.  The following macro is thus useful:
26
 
 *
27
 
 *     #define CAMELLIA_EXT_SYM_PREFIX foo_
28
 
 *  
29
 
 * This prefixes all external symbols with "foo_".
30
 
 */
31
 
#ifdef HAVE_CONFIG_H
32
 
#include <config.h>
33
 
#endif
34
 
#ifdef CAMELLIA_EXT_SYM_PREFIX
35
 
#define CAMELLIA_PREFIX1(x,y) x ## y
36
 
#define CAMELLIA_PREFIX2(x,y) CAMELLIA_PREFIX1(x,y)
37
 
#define CAMELLIA_PREFIX(x)    CAMELLIA_PREFIX2(CAMELLIA_EXT_SYM_PREFIX,x)
38
 
#define Camellia_Ekeygen      CAMELLIA_PREFIX(Camellia_Ekeygen)
39
 
#define Camellia_EncryptBlock CAMELLIA_PREFIX(Camellia_EncryptBlock)
40
 
#define Camellia_DecryptBlock CAMELLIA_PREFIX(Camellia_DecryptBlock)
41
 
#define camellia_decrypt128   CAMELLIA_PREFIX(camellia_decrypt128)
42
 
#define camellia_decrypt256   CAMELLIA_PREFIX(camellia_decrypt256)
43
 
#define camellia_encrypt128   CAMELLIA_PREFIX(camellia_encrypt128)
44
 
#define camellia_encrypt256   CAMELLIA_PREFIX(camellia_encrypt256)
45
 
#define camellia_setup128     CAMELLIA_PREFIX(camellia_setup128)
46
 
#define camellia_setup192     CAMELLIA_PREFIX(camellia_setup192) 
47
 
#define camellia_setup256     CAMELLIA_PREFIX(camellia_setup256)
48
 
#endif /*CAMELLIA_EXT_SYM_PREFIX*/
49
 
 
50
 
 
51
 
#ifdef  __cplusplus
52
 
extern "C" {
53
 
#endif
54
 
 
55
 
#define CAMELLIA_BLOCK_SIZE 16
56
 
#define CAMELLIA_TABLE_BYTE_LEN 272
57
 
#define CAMELLIA_TABLE_WORD_LEN (CAMELLIA_TABLE_BYTE_LEN / 4)
58
 
 
59
 
typedef unsigned int KEY_TABLE_TYPE[CAMELLIA_TABLE_WORD_LEN];
60
 
 
61
 
 
62
 
void Camellia_Ekeygen(const int keyBitLength,
63
 
                      const unsigned char *rawKey, 
64
 
                      KEY_TABLE_TYPE keyTable);
65
 
 
66
 
void Camellia_EncryptBlock(const int keyBitLength,
67
 
                           const unsigned char *plaintext, 
68
 
                           const KEY_TABLE_TYPE keyTable, 
69
 
                           unsigned char *cipherText);
70
 
 
71
 
void Camellia_DecryptBlock(const int keyBitLength, 
72
 
                           const unsigned char *cipherText, 
73
 
                           const KEY_TABLE_TYPE keyTable, 
74
 
                           unsigned char *plaintext);
75
 
 
76
 
 
77
 
#ifdef  __cplusplus
78
 
}
79
 
#endif
80
 
 
81
 
#endif /* HEADER_CAMELLIA_H */