864d74c6a54ff0921756590decfe7c12537955ad
* harbour/src/rtl/Makefile
+ harbour/src/rtl/hbbfish.c
* harbour/include/Makefile
+ harbour/include/hbbfish.h
+ added support for BlowFish encryption at C level:
hb_blowfishInit(), hb_blowfishEncrypt(), hb_blowfishDecrypt()
This code implements BlowFish algorithm designed by Bruce Schneier.
The description of BlowFish algorithm can be found at:
http://www.schneier.com/paper-blowfish-fse.html
This code uses for initial s-boxes and p-array values PI hex digits
taken from tables public at:
http://www.schneier.com/blowfish.html
which can be downloaded from:
http://www.schneier.com/code/constants.txt
This should be quite fast implementation (probably much faster
then reference one) but please remember that in BlowFish algorithm
startup initialization of encryption tables is intentionally
designed to be expensive to strongly reduce the efficiency of
brute force attacks so call hb_blowfishInit() once for each
new password and then reuse initialized encryption tables in
hb_blowfishEncrypt() and hb_blowfishDecrypt().
I'll add .prg functions later.
TODO: add some asymmetric key encryption.
Description
Harbour Core — Reference source for Five development
Languages
C
80.3%
xBase
17.8%
Makefile
0.6%
C++
0.4%
Harbour
0.4%
Other
0.3%