summaryrefslogtreecommitdiffabout
path: root/pwmanager/pwmanager/rc2.h
authorulf69 <ulf69>2004-09-15 17:53:22 (UTC)
committer ulf69 <ulf69>2004-09-15 17:53:22 (UTC)
commitd3925ba5bd25224bc4a60d3d6a107c464994a1ea (patch) (side-by-side diff)
tree60f69da1d2b79ee3081e7ef5c09a46470ca6eda0 /pwmanager/pwmanager/rc2.h
parentce83a3479d23b9e8a59c745ccd0a0b14f64ef4e8 (diff)
downloadkdepimpi-d3925ba5bd25224bc4a60d3d6a107c464994a1ea.zip
kdepimpi-d3925ba5bd25224bc4a60d3d6a107c464994a1ea.tar.gz
kdepimpi-d3925ba5bd25224bc4a60d3d6a107c464994a1ea.tar.bz2
initial revision
Diffstat (limited to 'pwmanager/pwmanager/rc2.h') (more/less context) (ignore whitespace changes)
-rw-r--r--pwmanager/pwmanager/rc2.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/pwmanager/pwmanager/rc2.h b/pwmanager/pwmanager/rc2.h
new file mode 100644
index 0000000..d321da6
--- a/dev/null
+++ b/pwmanager/pwmanager/rc2.h
@@ -0,0 +1,50 @@
+/***************************************************************************
+ * *
+ * Header file for rc2 implementation by Matthew Palmer <mjp16@uow.edu.au> *
+ * Modified to run with PwM by Michael Buesch <mbuesch@freenet.de> *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License version 2 *
+ * as published by the Free Software Foundation. *
+ * *
+ ***************************************************************************/
+
+/***************************************************************************
+ * copyright (C) 2004 by Ulf Schenk
+ * This file is originaly based on version 1.0.1 of pwmanager
+ * and was modified to run on embedded devices that run microkde
+ *
+ * $Id$
+ **************************************************************************/
+
+#ifndef RC2_H
+#define RC2_H
+
+/** implementation of the RC2 encryption algorithm. */
+class Rc2
+{
+public:
+ Rc2();
+ ~Rc2();
+
+ void rc2_expandkey(char key[], int length, int ekl);
+ void rc2_encrypt(unsigned short input[4]);
+ void rc2_decrypt(unsigned short input[4]);
+
+protected:
+ void _rc2_mix(unsigned short *);
+ void _rc2_mash(unsigned short *);
+ void _rc2_rmix(unsigned short *);
+ void _rc2_rmash(unsigned short *);
+ int _rc2_pow(int, int);
+ unsigned short _rc2_ror(unsigned short, int);
+ unsigned short _rc2_rol(unsigned short, int);
+
+protected:
+ /** Expanded Key */
+ unsigned char _rc2_expkey[128];
+ /** global integer variable used in mixing */
+ int _rc2_counter;
+};
+
+#endif