A method for the dynamic management of the encryption and decryption of a target data element including at least one target data sub-element provided by a local sender for transmission to a remote user, the method comprising:
- a. providing an encryption configuration application for installation on a local computer processor, the encryption configuration application configured to receive the target data element from the local sender and to transmit an encrypted target data element over a communication channel to a remote computer processor within the computer network;
- b. providing a decryption configuration application for installation on the remote computer processor;
- c. the encryption configuration application configuring the local computer processor to prepare and transmit the target data element by:
- i. providing a synchronization point value;
- ii. using the synchronization point value to provide a multidimensional table having a plurality of arrays of random data;
- iii. providing an encryption algorithm sub-table of a plurality of encryption algorithms associated with the multidimensional table;
- iv. using the synchronization point value to provide a semaphore command sub-table of a plurality of semaphore codes expressing a plurality of semaphore commands, wherein the semaphore command sub-table is associated with the multidimensional table and the encryption algorithm sub-table;
- v. using the synchronization point value to provide an execution step table having step data corresponding to the order of semaphore execution;
- vi. providing an encryption configuration manager and a data encryption manager, wherein the encryption configuration manager executes computer programming steps for:
- 1. using a pseudo-random number generation algorithm to select an encryption algorithm type from the plurality of encryption algorithm types and select any algorithm parameters according to any requirements of the encryption algorithm type;
- 2. selecting values for the algorithm parameters from the multidimensional table and applicable semaphore codes corresponding to the semaphore commands specifying those values;
- 3. communicating the multidimensional table, the selected encryption algorithm type, and the semaphore codes to the data encryption manager;
- vii. receiving within the data encryption manager the target data element, the multidimensional table, the selected encryption algorithm type, and the semaphore codes, wherein the data encryption manager is specifically configured to execute computer programming steps for:
- 1. accessing an encryption algorithm corresponding to the selected encryption algorithm type;
- 2. encrypting the target data element with the selected encryption algorithm in accordance with semaphore commands to form an encrypted target data element;
- 3. inserting the semaphore codes randomly into the encrypted target data element;
- 4. transmitting the encrypted target data element with the semaphore codes;
- d. the decryption configuration application specially configuring the remote computer processor for receiving and decrypting an encrypted target data element by:
- i. determining the synchronization point value;
- ii. receiving the encrypted target data element and semaphore codes;
- iii. extracting the semaphore codes;
- iv. providing a decryption configuration manager and a data decryption manager, wherein the decryption configuration manager executes computer programming steps for:
- 1. using the semaphore codes to determine the selected encryption algorithm type, the values for the algorithm parameters, any other semaphore commands, and to apply any predetermined restrictions to the random data of the multidimensional table;
- and
- 2. communicating the selected encryption algorithm type, the values for the algorithm parameters, the predetermined restrictions, and any other semaphore commands to the data decryption manager;
- v. receiving within the data encryption manager the selected encryption algorithm type, the values for the algorithm parameters, the predetermined restrictions, and any other semaphore commands, wherein the data decryption manager is specifically configured to execute computer programming steps for:
- 1. accessing the encryption algorithm corresponding to the selected encryption algorithm type;
- 2. decrypting the encrypted target data element with the selected encryption algorithm in accordance with semaphore commands and predetermined restrictions to form a decrypted target data element.