#include <string.h>#include "abkrand.h"#include "abkMD5.h"Include dependency graph for Tausworthe.cxx:

Go to the source code of this file.
Functions | |
| void | numToStr (char *str, unsigned num) |
| unsigned | trim (unsigned arg) |
| unsigned | addMod (unsigned x, unsigned y) |
| unsigned | times5 (unsigned x) |
| unsigned | timesTwoTo16 (unsigned x) |
Variables | |
| const unsigned | cryptMod = 0xfffffffb |
| const unsigned | initVector = 0xa90acaf7 |
| const unsigned | twoTo16 = 0x10000 |
| const unsigned | twoTo31 = 0x80000000 |
| const char | padding [] |
|
||||||||||||
|
Definition at line 97 of file Tausworthe.cxx. References trim(), and twoTo31. Referenced by Tausworthe::_multmod(), times5(), and timesTwoTo16().
00098 {
00099 bool bigX=false,bigY=false;
00100 unsigned retval;
00101 if (x>=twoTo31) {x-=twoTo31;bigX=true;}
00102 if (y>=twoTo31) {y-=twoTo31;bigY=true;}
00103 if (bigX&&bigY)
00104 {
00105 retval = trim(trim(x+y)+5) ;//mod 2^32-5
00106 }
00107 else if (bigX||bigY)
00108 {
00109 if ((x+y)<twoTo31)
00110 retval = trim(x+y+twoTo31);
00111 else
00112 retval = trim(((x+y)-twoTo31)+5);
00113 }
00114 else
00115 retval = trim(x+y);
00116 return retval;
00117 }
|
Here is the call graph for this function:

|
||||||||||||
|
Definition at line 58 of file Tausworthe.cxx. Referenced by Tausworthe::_encryptBufMultipartiteSeed().
00059 {
00060 str[0] = (num & 0xf) +1;
00061 num >>= 4;
00062 str[1] = (num & 0xf) +1;
00063 num >>= 4;
00064 str[2] = (num & 0xf) +1;
00065 num >>= 4;
00066 str[3] = (num & 0xf) +1;
00067 num >>= 4;
00068 str[4] = (num & 0xf) +1;
00069 num >>= 4;
00070 str[5] = (num & 0xf) +1;
00071 num >>= 4;
00072 str[6] = (num & 0xf) +1;
00073 num >>= 4;
00074 str[7] = (num & 0xf) +1;
00075 }
|
|
|
Definition at line 119 of file Tausworthe.cxx. References addMod(). Referenced by Tausworthe::_multmod().
00120 {
00121 unsigned x2=addMod(x,x);
00122 unsigned x4=addMod(x2,x2);
00123 return addMod(x,x4);
00124 /*
00125 unsigned lowerX = x & 0x0000ffff;
00126 unsigned upperX = x >> 16;
00127 unsigned upTimes5=upperX*5; //can't overflow or exceed cryptMod
00128 unsigned upTerm;
00129 if (upTimes5>=twoTo16)
00130 upTerm=(upTimes5-twoTo16)*twoTo16+5; //can't overflow or exceed cryptMod
00131 else
00132 upTerm=upTimes5*twoTo16; // can't overflow or exceed cryptMod
00133 unsigned lowTerm=lowerX*5; //can't overflow or exceed cryptMod
00134 return addMod(upTerm,lowTerm);
00135 */
00136 }
|
Here is the call graph for this function:

|
|
Definition at line 138 of file Tausworthe.cxx. References addMod(), and twoTo16. Referenced by Tausworthe::_multmod().
|
Here is the call graph for this function:

|
|
Definition at line 93 of file Tausworthe.cxx. References cryptMod. Referenced by Tausworthe::_multmod(), and addMod().
|
|
|
Definition at line 48 of file Tausworthe.cxx. Referenced by trim(). |
|
|
Definition at line 49 of file Tausworthe.cxx. Referenced by Tausworthe::_encryptBufWithSeed(). |
|
|
Initial value: "I am I, Don Quixote, the Lord of La Mancha, my " "destiny calls and I go. And the wild winds of " "fortune shall carry me onwards, o whithersoever " "they blow" Definition at line 53 of file Tausworthe.cxx. Referenced by Tausworthe::_encryptBufMultipartiteSeed(). |
|
|
Definition at line 50 of file Tausworthe.cxx. Referenced by timesTwoTo16(). |
|
|
Definition at line 51 of file Tausworthe.cxx. Referenced by addMod(). |
1.3.2