1. A method for configuring and managing a cryptography accelerator, the method comprising: receiving a packet at an application program interface abstraction layer, the application program interface abstraction layer operable to communicate with a plurality of different cryptography accelerators each supporting different features, wherein the application program interface abstraction layer is coupled to a first cryptography accelerator; identifying security association information corresponding to the packet; and sending data associated with the packet to the first cryptography accelerator.