Efficient Implementations of Cryptographic Routines - A Review and Performance Analysis of Various Approaches