2 Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; version 2 of the License.
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
13 You should have received a copy of the GNU General Public License
14 along with this program; see the file COPYING. If not, write to the
15 Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
19 /* rabbit.hpp defines Rabbit
23 #ifndef TAO_CRYPT_RABBIT_HPP
24 #define TAO_CRYPT_RABBIT_HPP
31 // Rabbit encryption and decryption
35 typedef Rabbit Encryption
;
36 typedef Rabbit Decryption
;
38 enum RabbitCtx
{ Master
= 0, Work
= 1 };
42 void Process(byte
*, const byte
*, word32
);
43 void SetKey(const byte
*, const byte
*);
54 void NextState(RabbitCtx
);
55 void SetIV(const byte
*);
57 Rabbit(const Rabbit
&); // hide copy
58 const Rabbit
operator=(const Rabbit
&); // and assign
64 #endif // TAO_CRYPT_RABBIT_HPP