title: Linear Feedback Shift Register explaination
body: <p>I want to obfuscate a string using Linear Feedback Shift Register, so I am trying to understand the below code of <a href="https://en.wikipedia.org/wiki/Linear-feedback_shift_register#Galois_LFSRs" rel="nofollow noreferrer">wiki</a>
  In the below wiki example of Linear Feedback Shift Register ,'<strong>0xACE1u</strong>' is the hex value used as start state, But I didnt understand what is this <strong>0xB400u</strong> ?</p>
  
  <p>Could somebody plesae explain what is that? and any link which explains how to use LFSR to obfuscate strings would be appreciated</p>
  
  <pre><code>int main(void)
  {
      uint16_t start_state = 0xACE1u;  /* Any nonzero start state will work. */
      uint16_t lfsr = start_state;
      unsigned period = 0;
  
      do
      {
          unsigned lsb = lfsr &amp; 1;   /* Get LSB (i.e., the output bit). */
          lfsr &gt;&gt;= 1;                /* Shift register */
          if (lsb) {                 /* If the output bit is 1, apply toggle mask. */
              lfsr ^= 0xB400u;
          }
          ++period;
      } while (lfsr != start_state);
  
      return 0;
  }
  </code></pre>