1. A system comprising: a memory in which a plurality of precompiled hardware templates are stored, each of the hardware templates being configured for loading onto a re-configurable logic device to define a data processing operation to be performed by the re-configurable logic device, wherein the stored precompiled hardware templates comprise: a first precompiled hardware template that is configured to define a first encryption engine, the first encryption engine being associated with a first data throughput characteristic and a first amount of re-configurable logic device resources consumed characteristic; and a second precompiled hardware template that is configured to define a second encryption engine, the second encryption engine being associated with a second data throughput characteristic and a second amount of re-configurable logic device resources consumed characteristic; the re-configurable logic device; and a processor configured to (1) analyze the first data throughput characteristic, the second data throughput characteristic, the first amount of re-configurable logic device resources consumed characteristic, and the second amount of re-configurable logic device resources consumed characteristic based on an algorithm that balances data throughput against consumed resources on the re-configurable logic device, (2) select a stored precompiled hardware template that exhibits a desired functionality with regard to encryption based at least in part on the analysis of the first data throughput characteristic, the second data throughput characteristic, the first amount of re-configurable logic device resources consumed characteristic, and the second amount of re-configurable logic device resources consumed characteristic, and (3) initiate a loading of the selected precompiled hardware template onto the re-configurable logic device to thereby configure the re-configurable logic device to perform the data processing operation defined by the selected precompiled hardware template.