The complexity of DPA type side channel attacks and their dependency on the algorithm design