General comments on the UBASIC source code for the CURRIN Method factoring programs. NOTE : The complete UBASIC system, including several general method factoring programs and primality utilities, is included in the file UB865.zip. The UBHELP.xxx text file, included in UB865.zip, is the full documentation for the UBASIC environment. The UBASIC programs are distributed publicly as demonstrations of the factoring algorithms developed by Fletcher Currin and the Currin Research Group. UBASIC version 8.2 was obtained by the Group from a Compuserve posting as an environment for manipulating large integers with IBM-compatible personal computers. Through subsequent communications with one of UBASIC's creators, Yuji Kida (kida@rikkyo.ac.jp), the Group obtained a later release, version 8.65. To run the Currin UBASIC (*.ub) programs, only the UBIBM32.exe (Intel 386 and up) and UBCONST7.dat files are required. These files should be in the same directory with the programs. Run UBIBM32.exe and use the PC Function Keys - F1, ENTER to load a UBASIC (*.ub) program F5 to run a program Ctrl-Break to interrupt F10 to resume type "system" to exit UBASIC The demonstration programs are generic in nature. There are no special functions or UBASIC-specific routines implemented (except the "randomize" function in RAND4272.ub). The source codes (see SOURCE.txt document) could easily be keyed into any BASIC interpreter/compiler and run, though the size of integers handled will be limited by the software. These demonstration programs have been presented in a simple format intentionally. The avoidance of subroutine structures will make them easy to rewrite in other languages if desired. There has been no attempt to optimize the programs for a particular hardware or software environment. The variable names used may seem quite illogical. The variables and constants used by the Currin Research Group have been derived over months and years of work. In many cases, the current alpha letters and names are abbreviations of highly descriptive references used during the research and development effort. We have decided to retain our "pet" names. We apologize for any confusion. The programs : 1) NEWALG01.ub This program factors composite odd integers into all factors, prime or composite. Note that this program starts with the two largest factors of the composite; that is, the large factors closest in value to each other. (The program ends when the original composite is the first factor ("A") and and 1 is the second factor ("B"). This will be the only solution for a prime number, and it is a primality proof). 2) NEWALG02.ub This is esssentially the same program as NEWALG01.ub, except the factors ("A" and "B") are computed from a different combination of internal variables. 3) PFACTORS.ub This program has been personally developed by Fletcher Currin to demonstrate a unique PRIME factoring algorithm. This program can handle odd or even integer input. Some factors are not factored to primes, but these will be small enough (1 or 2 digits) to be obvious. This is very much a "work in progress" as an optimization method. 4) RAND4272.ub This program accepts an input integer ("Y") greater than 800 and less than 4273. It uses this as a power of 2 (2^Y - 1), computes factors using a randomize function, multiplies the factors to form composites, then factors the randomized composites. The program will generally factor the composites, regardless of size, in 0 to 500 iterations ("N"=0 to 500). The constraints of the construction of the composites are : The two large factors have the same number of digits. The factors have the same values in the first 51% of the digits. The factors have randomized values in the last 49% of the digits. NOTE : At INPUT integer ("Y") greater that 1270, solution occurs at "N"=0. 5) RSA129XX.ub This is essentially NEWALG01.ub with the number of iterations (variable "N") preset to factor the 129-digit composite known as RSA 129. This composite number was factored in 1994 by a joint effort of numerous volunteers and computers around the world. The program demonstrates that the CURRIN Method is capable of factoring large RSA Data Security, Inc. public key composites. None of the sample programs is currently optimized to factor such large composites any faster than other traditional methods.