author | ulf69 <ulf69> | 2004-09-15 17:53:22 (UTC) |
---|---|---|
committer | ulf69 <ulf69> | 2004-09-15 17:53:22 (UTC) |
commit | d3925ba5bd25224bc4a60d3d6a107c464994a1ea (patch) (side-by-side diff) | |
tree | 60f69da1d2b79ee3081e7ef5c09a46470ca6eda0 /pwmanager/pwmanager/rc2.h | |
parent | ce83a3479d23b9e8a59c745ccd0a0b14f64ef4e8 (diff) | |
download | kdepimpi-d3925ba5bd25224bc4a60d3d6a107c464994a1ea.zip kdepimpi-d3925ba5bd25224bc4a60d3d6a107c464994a1ea.tar.gz kdepimpi-d3925ba5bd25224bc4a60d3d6a107c464994a1ea.tar.bz2 |
initial revision
-rw-r--r-- | pwmanager/pwmanager/rc2.h | 50 |
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 |