title: Do we need a random number generator to decipher (decrypt)?
body: <p>I'm by far an expert on encryption and therefor am seeking out software deciphering advice.  My example bellow deals with hardware, but my question is to seek software advice on whether a software solution is feasible, doable and reasonable.</p>
  
  <p>Background:</p>
  
  <p>On our product, we are considering adding encryption on our RFID keys.  Our current firmware does not support this and our hardware guy now wants to upgrade the hardware to add a random number generator chip.</p>
  
  <p>As mentioned above, I'm no expert on encryption, but I always though that a random number generator was required for the ciphering, but not for the decipher?</p>
  
  <p>Additional info: We are using a low power ARM processor (don't know the model at this time).</p>
  
  <p>So my questions are as follows:  </p>
  
  <ol>
  <li>Do you really need random numbers to decipher data? </li>
  <li>If so, why wouldn't a standard C language library be sufficient?</li>
  </ol>
  
  <p>And lastly,</p>
  
  <ol>
  <li>If we do need random numbers to decipher, can anyone with experience comment of the benefits/disadvantages of having hardware vs. software random numbers?  Example: Is the random number portion of a decipher only 1% of the total processing and thus I would not     necessarily speed things up?</li>
  </ol>
  
  <p>Thank you in advance!</p>