Processing overhead is also affected by the implementation of the cryptosystems, which can take place in hardware, firmware or software. Hardware implementations of an encryption algorithm will operate significantly faster than its software counterpart. Application encryption is always implemented in software, and can impact system and network performance. Client portions of applications running on the desktop may have access to enough unused processor capacity to gracefully absorb software encryption overhead. Servers are much more likely to experience performance degradation, because they absorb additional overhead on behalf of each user.
Servers can be surprisingly sensitive to increases in processor load.
The addition of as little as five to ten percent in processing overhead can completely overwhelm a well-tuned server. Most Internet encryption occurs at the application level. These devices use hardware encryption and work in pairs on leased or dialup communication lines. Link level encryption devices do not degrade network performance, as long as they are sized to match the speed of the communications line. As network technologies and topologies change, the specificity of link level devices may limit the flexibility of the network.