summaryrefslogtreecommitdiff
path: root/noncore/apps/zsafe/krc2.h
Unidiff
Diffstat (limited to 'noncore/apps/zsafe/krc2.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/zsafe/krc2.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/noncore/apps/zsafe/krc2.h b/noncore/apps/zsafe/krc2.h
new file mode 100644
index 0000000..87b5d29
--- a/dev/null
+++ b/noncore/apps/zsafe/krc2.h
@@ -0,0 +1,35 @@
1/*
2** $Id$
3*/
4
5#ifndef _KRC2_H_
6#define _KRC2_H_
7
8/* Header file for rc2 implementation by Matthew Palmer <mjp16@uow.edu.au> */
9
10class Krc2
11{
12public:
13 Krc2();
14 ~Krc2();
15
16 /* Externally worked functions */
17 void rc2_expandkey(char key[], int length, int ekl);
18 void rc2_encrypt(unsigned short *input);
19 void rc2_decrypt(unsigned short *input);
20
21private:
22 /* The internals */
23 void _rc2_mix(unsigned short *input);
24 void _rc2_mash(unsigned short *input);
25 void _rc2_rmix(unsigned short *input);
26 void _rc2_rmash(unsigned short *input);
27 int _rc2_pow(int base, int exponent);
28 unsigned short _rc2_ror(unsigned short input, int places);
29 unsigned short _rc2_rol(unsigned short input, int places);
30
31};
32#endif // _KRC2_H_
33
34
35