Abstract: A method, an apparatus, and a computer program product for accelerating network data transfer are provided. In one aspect, a plurality of data streams are received at a local host, combined into a single stream and divided into fragments including one or more segments. The fragments are each stored in buffers and processed in parallel by a plurality of worker threads. Each fragment is encoded and packetized into a data packet. The data packets are transmitted over a network to a remote host as a plurality of parallel data streams over at least one data link. As buffer locations become available, additional fragments are stored in the buffer and processed on a substantially ongoing basis for transmission over the network.
Abstract: A method, an apparatus, and a computer program product for symmetric stream encryption are provided. An encryption chain is obtained from a real random number generator (RRNG) and stored in memory. A vector key is identified based on numbers obtained from a fast, large period pseudo-random number generator. A set of encryption keys are identified from the encryption chain using the vector key. Strings of clear text are encrypted using the encryption keys.