Regarding the RFID protocol HB (not HB+) I am having a hard time understanding why my approach will not work.
So in HB we have the Tag and the Reader whom both share a secret X.
We are trying to figure out X.
The protocol goes as follow:
Lets suppose k = 3 bits. From the papers I have read it seems the attack goes as follows. set a = 001 and send say 1000 times set a = 010 and send 1000 times set a = 100 and send 1000 times
take the parity which comes out the majority of times for each a revealing x.
This makes sense to me and works fine.
My question is, why can I not simply set a to 001. Since a = 001 when it is ANDED with x it will always produce x which will then be XOR with v. The resulting Z will always be either x or it will be x XOR with 1. We then just take the output that happens the majority of the times which would be x since the prob of v = 1 < .5
I feel like I would only have to run this say 10 times rather then running every a multiple times.
Am i missing an important aspect of this.
Thanks