Lines Matching refs:in
12 This program is distributed in the hope that it will be useful,
38 To more rapidly understand the code in this package, inspect desSmallFips.i
40 up in a parameterized fashion so it can easily be modified by speed-daemon
41 hackers in pursuit of that last microsecond. You will find it more
43 and then move on to the common abstract skeleton with this one in mind.
56 since i was interested in fast des filters rather than crypt(3)
58 the key setting routine. also, i have no interest in re-implementing
59 all the other junk in the mit kerberos des library, so i've just
61 used as drop-in replacements with mit's code or any of the mit-
73 in full gory detail (ALT_ECB is a libdes variant):
83 the comments in my first release of desCore on version 1.92:
87 of the optimizations which i did in my encryption routines.
89 it's 39%-106% slower. because he was interested in fast crypt(3) and
92 (at some point i may do the same in my package). he also implements
115 as in crypt above, the des routine is buried in a loop. it's
123 so despite the comments in this code, it was possible to get
147 movement (in particular, his use of L1, R1, L2, R2), and it was full of
154 than one (and using a MUCH larger table in the process) emboldened me to
156 by the larger table size. in his case he didn't realize you don't need to keep
157 the working data in TWO forms, one for easy use of half the sboxes in
159 it in the form for the first half and use a simple rotate to get the other
161 the table size. in fairness though he might be encoding something particular
162 to crypt(3) in his tables - i didn't check.
166 than versions hand-written in assembly for the sparc!
176 obfuscate the code and in the end were slower than a simpler machine
188 if `unsigned long' is not 32 bits, change the typedef in desCore.h.
192 in the data loading and storing code surrounding the key iterations
213 1) with the lack of a bit rotate operator in C, rotates have to be synthesized
215 has rotates, as explained above in (3) (not necessary if you use gcc).
228 to put everything in registers(!), and generate about 370 instructions apiece
236 up to 8 more registers are used to hold constants in some configurations.
239 a) additionally, i have tried to put the larger constants in registers.
242 greater than 127 in value (can't use movq or byte immediate on CISC)
261 increasing the chance that everything will fit in the registers.
270 bits are manipulated in this arrangement most of the time (S7 S5 S3 S1):
291 call this before using any other routine with `Quick' in its name.
301 m is filled in from k so that when one of the routines below
304 you supply a standard 56bit key; however, if you fill in
312 provide a routine that converts 128 6-bit bytes (specified in
322 and stored in a nonstandard bit order (FIPS w/o IP/FP).
333 there are no machine-dependencies in the code (see porting),
334 except perhaps the `now()' macro in desTest.c.
342 note that i have included a kerberos-compatible interface in desUtil.c
351 the macros in desCode.h would be very useful for putting inline des
352 functions in more complicated encryption routines.