Showing that $(2^a - 1)\bmod (2^b - 1) = 2^{a \; \bmod \; b} - 1 $ I've been thinking on this proof for two days. I'm stuck.

Show that, 
  $$ (2^a - 1)\bmod (2^b - 1) = 2^{a \! \! \mod b} - 1 $$
  where $a,b \in \mathbb{Z}^+$.

I would be happy if someone can help me. 
Thanks.

I have another approach which I think it should be easier.
We must prove that $2^a-1 \equiv 2^{a mod b}-1 \pmod{2^b-1}$
Thus, We should prove
$$2^a \equiv 2^{a mod b} \pmod{2^b-1}$$
Proof: Using dividing algorithm, we have:
$a = bq + r$ then $r = a - bq$
Thus we have: $2^a \equiv 2^r \pmod{2^b-1}$ then $2^a \equiv 2^{a - bq} \pmod{2^b-1}$
Now if multiply both sides of the congruence to $2^{br}$ we have:
$$2^a * 2^{bq} \equiv 2^a \pmod{2^b-1}$$
We know that $gcd(2^a, 2^b-1)=1$ (because $2^a$ is even and $2^b-1$ is odd), so we can divide both sides of the congruence by $2^a$, so we have:
$$2^{bq} \equiv 1 \pmod{2^b-1}$$
From the definition of congruence we have:
$$2^b-1 | 2^{bq}-1$$
We know that $2^{bq}-1 = (2^b-1)(2^{b(q-1)} + 2^{b(q-2)} + ... + 2^b + 1)$
Thus we have:
$$2^b-1 | (2^b-1)(2^{b(q-1)} + 2^{b(q-2)} + ... + 2^b + 1)$$
Which is trivial.
So we reached a trivial and thus all of the conclusions are reversible, then the proof is done.
