=========================================================================== BBS: The Abacus * HST/DS * Potterville MI Date: 04-19-93 (09:16) Number: 149 From: DAVID COLSTON Refer#: NONE To: ALL Recvd: NO Subj: File Scramble 3/3 Conf: (35) Quick Basi --------------------------------------------------------------------------- DEFINT A-Z FUNCTION DRnd% (B()) STATIC 'psuedo-random number generator. It is well 'distributed in high dimensions and has a crack length 'of over 256^256 if run bare. It is only as good as the 'seed string. IF Here = 0 THEN 'Intialize the generator Here = -1 'Do NOT mess with these intialization 'values. They are there to assure a 'good mix. T = 255 U = 82 V = 254 W = 127 END IF B(U) = (B(T) + B(U)) AND 255 DRnd% = (B(W) + B(V)) AND 255 T = T - 1 IF T = 0 THEN T = 255 U = U - 1 IF U = 0 THEN U = 255 V = V - 1 IF V = 0 THEN V = 254 W = W - 1 IF W = 0 THEN W = 255 IF W = V THEN W = 127 IF W = U AND V = T OR W = T AND U = V THEN W = T + 1 END FUNCTION DEFLNG A-Z SUB FillChart (B%(), Seed$) STATIC 'This routine takes random seed starts and converts them 'into 255 eight bit numbers which are stored in the B% array 'and used by the DRnd% function. It is CASE SENSITIVE! IF Seed$ = "" THEN PRINT "You must enter a Pass Phrase" END END IF WHILE LEN(Seed$) < 128 'pad out the seed$ Seed$ = Seed$ + Seed$ WEND ERASE B% FOR I% = 1 TO 127 'load the registers for DRnd function B%(I%) = ASC(MID$(Seed$, I%, 1)) NEXT FOR I% = 128 TO 255'assure enough one bits in appropriate 'places. B%(I%) = B%(I% - 127) XOR 255 NEXT END SUB * JABBER v1.1 * Colston & Associates, Inc. (501) 452-4948 --- WM v2.08/92-0178 * Origin: Paradox of Arkansas 501-484-0944 (1:3822/1) SEEN-BY: 1/211 11/2 4 13/13 101/1 108/89 109/25 110/69 114/5 123/19 124/1 SEEN-BY: 153/752 154/40 77 157/2 159/100 125 430 575 950 203/23 209/209 SEEN-BY: 280/1 390/1 396/1 15 397/2 2230/100 2440/5 3603/20