Can we use a hash-based stream cipher against DPA attacks? There have been lots of DPA researches against block ciphers. 

I was wondering if we use a cryptographically secure hash of an incremental counter as a stream cipher, will it withstand DPA attacks? 

Ciphertext = Plaintext ⊕ HASH(counter)


My assumptions are:


The initial value of the counter is kept secret;
There seems to be not many effective DPA attacks against SHA (not HMAC).
There seems to be not many effective DPA attacks against SHA


How do you come to that conclusion?  Is it because there aren't many published results of using DPA attacks against SHA?  Well, that's mostly because SHA is most often used to hash publicly available data, and so there's less of a point using a DPA attack to recover that data.

Now, any side channel attack (such as DPA) is actually an attack against the implementation, not against the base crypto.  Of course, if we consider DPA attacks against SHA implementations, we need to consider "how difficult is it to make a SHA implementation that is strong against DPA attacks?"

Well, there's nothing in the SHA architecture (either SHA-1, SHA-2 or SHA-3) that makes it specifically easy to provide such protection.  Now, you could create such an implementation (using, say, thresholding to disguise the individual bits); however that's likely to be significantly slower than a standard implementation.