A large user-editable data file ("BED" file) allows customizing of an
encryption/decryption computer program and strengthens encryption by
making the difference between the input character code at a particular
target file position and the corresponding output character code very
variable and dependant on, importantly, the input character itself and the
user-controlled BED file, in addition to the key and particular target
file position. A pseudo-random number, ultimately dependant on the key and
target file position, selects a specific BED file page and also is added
to the input character code, the sum becoming a positional index into that
page, and the value at that index yielding the output character code. A
graphical user interface allows editing of each BED file page and
temporarily lists missing values and highlights illegal duplicates in
color. Colored number value sub-sets allow the state of randomness of each
page to be easily seen.