A method of establishing a secure communication link between a first computer and a second computer over a computer network, the method comprising steps of: enabling a secure communication mode of communication at the first computer without a user entering any cryptographic information and by selecting a secure communications option at the first computer; determining, by the first computer in response to the step of enabling the secure communication mode of communication, whether a secure communication software module is required to be installed on the first computer; in response to determining that the secure communication software module is required to be installed on the first computer, accessing a network address for downloading the secure communication software module and storing the secure communication software module in the first computer; and initiating establishment, by the secure communication software module, of a secure communication link between the first computer and the second computer through the computer network, the secure communication link being a virtual private network communication link over the computer network, the virtual private network communication link being based on: inserting into each data packet a source and destination IP address pair that is selected according to a pseudo-random sequence; an IP address hopping regime that pseudorandomly changes IP addresses in packets transmitted between the first computer and the second computer; periodically changing at least one field in a series of data packets according to a known sequence; an IP address in a header of each data packet that is compared to a table of valid IP addresses maintained in a table in the second computer; and/or a comparison of the IP address in the header of each data packet to a moving window of valid IP addresses, and rejecting data packets having IP addresses that do not fall within the moving window. enabling a secure communication mode of communication at the first computer without a user entering any cryptographic information and by selecting a secure communications option at the first computer; determining, by the first computer in response to the step of enabling the secure communication mode of communication, whether a secure communication software module is required to be installed on the first computer; in response to determining that the secure communication software module is required to be installed on the first computer, accessing a network address for downloading the secure communication software module and storing the secure communication software module in the first computer; and initiating establishment, by the secure communication software module, of a secure communication link between the first computer and the second computer through the computer network, the secure communication link being a virtual private network communication link over the computer network, the virtual private network communication link being based on: inserting into each data packet a source and destination IP address pair that is selected according to a pseudo-random sequence; an IP address hopping regime that pseudorandomly changes IP addresses in packets transmitted between the first computer and the second computer; periodically changing at least one field in a series of data packets according to a known sequence; an IP address in a header of each data packet that is compared to a table of valid IP addresses maintained in a table in the second computer; and/or a comparison of the IP address in the header of each data packet to a moving window of valid IP addresses, and rejecting data packets having IP addresses that do not fall within the moving window. inserting into each data packet a source and destination IP address pair that is selected according to a pseudo-random sequence; an IP address hopping regime that pseudorandomly changes IP addresses in packets transmitted between the first computer and the second computer; periodically changing at least one field in a series of data packets according to a known sequence; an IP address in a header of each data packet that is compared to a table of valid IP addresses maintained in a table in the second computer; and/or a comparison of the IP address in the header of each data packet to a moving window of valid IP addresses, and rejecting data packets having IP addresses that do not fall within the moving window.