Page 1 G L O B A L S E C U R I T Y ------------------------------------ A Data Security Program ------------------------------------ RECORD OF CHANGES AND MODIFICATIONS Release 1.0 1 October 1993 Release 1.1 1 February 1994 1. Fixed error in determining if enough room on disk to put enciphered or deciphered file. 2. Added routines to select destination drive and path to put enciphered or deciphered file into. 3. Added routines to allow compression of file before enciphereing and automtic decompression of a deciphered file if required. 4. Made File Selection Screen a little easier to use. 5. Added option to "WIPE" original file after enciphering it. 6. The "F9" Key cycles through 5 different mouse cursors. 7. Program returns screen back to its original colors upon exit. 8. Data integrity checks added for enciphering/deciphering and compress/decompress routines. Release 1.2 1 April 1994 1. Corrected error in identifying the 80286 chip. GS16.EXE will now correctly identify the 80286 chip and run on an 80286 computer. 2. Correct file extension is appended to a deciphered and/or decompressed file. You no longer have to rename a deciphered/decompressed file to give it the correct file extension. Page 2 G L O B A L S E C U R I T Y ------------------------------------ A Data Security Program ------------------------------------ RECORD OF CHANGES AND MODIFICATIONS Release 2.0 1 May 1994 Since release 2.0 is a major revision of Global Security the encipher/decipher routines are no longer compatable with earlier versions. 1. Changed file header for encipher/decipher routines which will make future expansion of Global Security very easy. 2. Added routines to prepare and encipher/decipher text or binary files for transmission by any Electronic Mail (E-Mail) Service. 3. Changed routine for file name entry for Prime Number File. Can no longer enter a space in the middle of a file name. If you created a file with a space in its name you could not delete the file from the DOS prompt, or with many file utility programs. The only way I could delete the file was with a disk sector editor that allowed you to change Directory entries. 4. Added Insert/Overlay status to data entry routines. 5. Made more improvements to the File Selection Screen. 6. Upgraded numerous routines in Global Security to make them faster, easier to maintain, or easier to add future upgrades to. 7. If you elected to compress a file before enciphering it and entered less that 7 password characters, or no password at all, you could not decipher the file. This has been corrected. 8. The full original file name is now passed in the header. If a file of that name already exists in the directory you decipher the file into, it will still be given the same name as the original but with a file extension of "001", or "002", etc. all the way up to "999". 9. The GLOBAL.PRN File that you save screen images to on disk is now compatable with any text editor that can read ASCII files. Page 3 G L O B A L S E C U R I T Y ------------------------------------ A Data Security Program ------------------------------------ RECORD OF CHANGES AND MODIFICATIONS Release 2.0 (cont) 1 May 1994 10. The data integrity check routines have been upgraded to use industry standard CRC32 check values. 11. Special Instructions for the person deciphering a file or message can be passed in the headers. They can be up to 70 characters long. 12. Corrected a positioning error for the Quit Bar when printing. 13. Buffers used to encipher/decipher files are wiped before Global Security terminates. It would have have been possible to recover sensitive data left in memory if a person immediately scanned or dumped memory after Global Security was terminated and no other programs had been executed yet. Release 2.1 1 July 1994 1. Corrected error in using the DOS Version number. If your system does not have a mouse it would always report that DOS version 3.x or higher was required to run Global Security. Page 4 G L O B A L S E C U R I T Y ------------------------------------ A Data Security Program ------------------------------------ RECORD OF CHANGES AND MODIFICATIONS Release 3.00 10 January 1995 Release 3.0 is major upgrade with a new, improved compression, decompression routine that allows compression of many files into one file. If you have any compressed, enciphered files on disk by an older version of Global Security please decipher and decompress them with the old version. Then use Release 3.0 to compress and encipher them again. 1. I wish to thank William H. Lake of Santa Barbara, Ca. whose letter helped me to track down and correct an error that prevented probably all 8086 computers and many of the newer computers with corrected BIOS's from using Global Security. It has to do with what I consider an error in the BIOS (AMI 80386 BIOS dtd 30 Mar. 1989) on my computer. BIOS interrupt 1AH Function 04H, read date from the real-time clock, ALWAYS returns with the interrupt flag set (interrupts recognized). If you disable interrupts (clear the interrupt flag) before doing this BIOS interrupt, interrupts will be turned back on when this BIOS interrupt is completed. This error in my BIOS masked an error in the code of my program. I had turned interrupts off, read the date from the real-time clock, and then went into a routine that required interrupts to be on, but I had not turned them on yet. This automatic turning on of interrupts by my BIOS code when I had turned interrupts off allowed the following code to execute properly when in fact it should have gone into an endless loop because interrupts were turned off. This going into an endless loop is exactly what happened on any 8086 computer which used DOS functions to read the date and time, and any of the newer computers with corrected Real-Time Clock BIOS code. If my BIOS had been correct I would have found this error in the code immediately because the code would not have worked properly in the first place. 2. Upgraded the File Selection Screen so you can Mark, Unmark, Mark All, or UnMark All files. This is used by the Pack/UnPack and Wipe/Delete routines. Page 5 G L O B A L S E C U R I T Y ------------------------------------ A Data Security Program ------------------------------------ RECORD OF CHANGES AND MODIFICATIONS 3. Added seperate Pack/Unpack routines to pack more than one file into a single file for enciphering and transmission, or just storage on disk. Improved the LZW compression algorithm to give up to 7% better compression. The LZW algorithm now uses a 9 to 14 bit code with reset of code size when the 16,384 element code table is full. Percent compression includes the size of the file headers in the calculations unlike most compression programs on the market. 4. Corrected two errors in the display of the menu bars in the file selection screen. You would have really had to try to encounter these errors. 5. Changed using the first letter of a file or directory name to Hot Key to a file or directory, to a Ctrl Key plus first letter combination. 6. While using the Hot Key Combination to get to a directory or file in the File Selection Screen, it will now wrap around to the beginning of the list if the desired directory or file name comes before the highlighted one. 7. Added command line parameter /V to disable the use of the VGA brighten, dim, reset, and blank routines. Some multi-tasking software may not be compatable with the code that performs these routines. 8. Added command line parameter /T to force the program to use DOS to get the data and time instead of a Real Time Clock. This does not apply when using GS16.EXE on an 8086 computer which does not have a Real Time Clock. 9. Added seperate Wipe/Delete Files routine. You may now select any number of files in a directory to delete or wipe in one single operation. Allows the wiping or deleting of files with the read-only, hidden, or system attributes set. This is a very powerful routine so please be very careful when using it. As a default setting confirmation is asked on every file before you wipe or delete it. With the command line parameter /C you can turn this off and confirmation will be asked only for files with the read-only, hidden, or system attributes set. Page 6 G L O B A L S E C U R I T Y ------------------------------------ A Data Security Program ------------------------------------ RECORD OF CHANGES AND MODIFICATIONS 10. Removed the Help Command Bar from the File Selection Screen and replaced it with the Sort Command Bar. (You can still access the Help System with the F1 Key.) Allows you to sort the files in ascending or descending order by name, extension, date, time, or size. When sorting by extension it is alphabetical by name within extension, and when by date it by date and time. This required an upgrade in the sorting routine to allow it to accept a structure that defines the sort parameters for any type of sorting job. 11. Changed and upgraded many of the pop up display screens. As much as possible, upgraded the black and white display screens so they are more uniform and presentable. 12. The procedure used to wipe a file is now IAW DoD 5220.22-M, the Governments own procedure on wiping files for security purposes. 13. Upgraded the Critical Error Reporting System screen to display the disk drive that caused the critical error. 14. Corrected error in creating GLOBAL.PRN file specification. In some rare cases screen images would be appended to the GS32.EXE or GS16.EXE files instead of creating and appending the images to the GLOBAL.PRN file. 15. Mouse would not be available for use if a Critical Error or Extended Error occured while saving the current screen image with the F6 Key. This has been corrected 16. Every time the File Selection Screen is called it now gets the current drive and directory from DOS instead of displaying what was left in the tables which could be invalid particularly when working with floppy disks. 17. Corrected video detection routines so they now work correctly with all modes. 18. Added Release VM Timeslice code to input routine to tell Windows and OS/2 not to wait around while Global Security is waiting for input. 19. Changed the order the input routines processes mouses presses and releases. This caused some problems with the command bar shadows when processing floppy disks. Page 7 G L O B A L S E C U R I T Y ------------------------------------ A Data Security Program ------------------------------------ RECORD OF CHANGES AND MODIFICATIONS 20. Added dynamic memory allocation for text window buffers. 21. Made some changes to the appearance of the Extended Error Reporting Sytem screen. 22. Threw out the encipher/decipher routines for E-Mail. Changed them to Transform, Extract, and Reconstruct files for transmission by E-Mail using the High RADIX 64 File Format which is should be good over any E-Mail Service. Now just encipher a file and transform it for E-Mail. 23. Added Frequency Distribution Tests that can be conducted on enciphered files so anyone can tell how random an enciphered file is. Includes Frequency Distribution Table, Phi Test, and Chi Test. 24. Made sure that files with the same time but different dates do not use the same set of keys to encipher with if they use the same set of Group Files. 25. Added a CRC_32 check routine so Global Security can check its EXE file on disk to see if it has been tampered with every time it is executed. Since this may be incompatable with some virus checking programs that append data to the end of EXE files you can turn this feature off with the /I command line parameter. Release 3.10 24 February 1995 1. Corrected errors in Critical Error Reporting System so dynamic memory allocation for screens and use of DOS to get the date and time will not cause the program to crash because you are using DOS INT 21H Functions above 0CH. Because of this, on all 8086 systems, and if /T switch is set, the date and time will not be updated during a critical error. Page 7 G L O B A L S E C U R I T Y ------------------------------------ A Data Security Program ------------------------------------ RECORD OF CHANGES AND MODIFICATIONS Release 3.20 10 March 1995 1. Corrected error in INSTALL.EXE so it can handle a path entered in small letters when executed in a different directory. 2. Corrected error with Phi and Chi Tests Help screen. The correct help screen is now displayed. Release 3.30 15 April 1995 1. Corrected errors in File Selection Screen that overwrote about 15 bytes in memory where video font patterns are stored. 2. Rearranged some startup code so it would execute in a more logical manner. 3. Corrected one gramatical error in Quick Help Reference System and removed one sentence that was no longer required. 4. Improved error detection in the save screen image to disk file procedure. 5. Fixed Print Screen procedure. If the DOS Data area at 0050:0000 was equal to 0FFH, which indicated a failed print screen from DOS or a prior application, Global Security would not print the screen. This has been fixed. 6. Improved tracking of the DISK_PRT variable which tells the program if it can print the GLOBAL.PRN file. It is no longer turned off and left off as it used to be in some cases. RELEASE 3.40 4 July 1995 1. Improved file compression time by approximately 50%. 2. Corrected calculation of negative modulus in Day of the Week procedure so all Saturdays will be correct when Zeller's Congruence returns a negative number. The first date that would have been wrong was 4 March 2000. Page 7 G L O B A L S E C U R I T Y ------------------------------------ A Data Security Program ------------------------------------ RECORD OF CHANGES AND MODIFICATIONS Release 3.40 (Cont.) 4 July 1995 3. Corrected calculation of mouse delay variable in GS16.EXE that could have triggered a "Divide by 0" CPU error (also triggered when the answer to a division is too large for the designated register) on very fast 80486 and Pentium computers. This would have caused the computer to lock up requiring a reboot. 4. Corrected the code for the Mark and Umark Command Bars in the File Selection Screen so it will recognize the small "M" and "U" Hot Keys. 5. Corrected error in selecting what size to break a file up into, for transmission by E-Mail, using the keyboard. It would always leave it the original size instead of breaking it up into smaller sizes. Selecting the size with the mouse did not have this error. 6. Corrected error in the prime number generation procedure that caused it skip prime numbers in the range 4,294,901,760 to 4,294,967,295, and a wrap around error when the test number exceeded 4,294,967,295 which caused it to select even numbers as prime numbers. This error was in the 16 bit version only. 7. Made changes to the CHIME procedure in the 16 bit version so it will not produce strange results in some rare cases when its 16 bit counter is near its limit of 65,535.