outer@utcsrgv.UUCP (Richard Outerbridge) (04/05/84)
After posting lucifer.c to net.sources (<3718@utcsrgv.UUCP>) I learned of several corrections to the FORTRAN routines upon which it was based. The differences between the posted code and the corrected code are: $ diff posted.c corrected.c 320,321c320,321 < static char S0[16] = { 48,64,112,144,224,192,208,160,240,96,176,\ 32,80,128,0,16 }; < static char S1[16] = { 14,3,12,6,7,8,0,1,4,11,13,15,9,5,2,10 }; --- > static char S0[16] = { 192,240,112,160,224,208,176,0,32,96,48,16,\ 144,64,80,128 }; > static char S1[16] = { 7,2,14,9,3,11,0,4,12,13,1,10,6,15,8,5 }; 348,349c348,349 < if(ks&*sbs++) val = S0[(*cp>>4)&017] | S1[*cp&017]; < else val = S0[*cp&017] | S1[(*cp>>4)&017]; --- > if(ks&*sbs++) val = S0[*cp&017] | S1[(*cp>>4)&017]; > else val = S0[(*cp>>4)&017] | S1[*cp&017]; 527,528c527,528 < * : 16 bytes : ab1b6fc7 60ec21b3 5a7cee07 fba37826 : < * (rwo/8403.30.14:52/V2.1) */ --- > * : 16 bytes : 32186510 6acf6094 87953eba 196f5a75 : > * (rwo/8404.03.14:06/V3.0) */ Note the new null-stream checksum value. Sorry for any inconvenience. Richard Outerbridge outer@utcsrgv University of Toronto CSRG