title: sources of "uniqueness"/entropy on embedded systems
body: <p>I have an embedded system. What I would like for it to do when it powers up or otherwise resets, is to generate a unique ID, so that on different restarts a different unique ID is generated with high probability.</p>
  
  <p>It does not have access to a real-time clock, but it does have access to an ADC and a UART. I am wondering if there is a decent way to gather entropy from these sources to generate a unique ID. I am vaguely familiar with <a href="http://www.schneier.com/yarrow.html" rel="noreferrer">Yarrow</a>. Is there a good way to use this? </p>
  
  <p>Unfortunately I do not have any noise sources of predictable characteristics; the ADC is connected to a number of relatively-low-noise inputs, so I suppose I could just use the least-significant bits of the ADC as inputs.</p>
  
  <p><strong>edit:</strong> for what it's worth, this is the TI TMS320F28335 processor.</p>
  
  <hr>
  
  <p><strong>update/clarification:</strong> I was looking for a method in software of gathering entropy. I found another way to solve my problem, so in a way, my question was a moot point, but I am still looking for guidance on <strong><em>specific software solutions to gather entropy</em></strong> from low-entropy sources like least-significant bits of the ADC and system timing for receiving UART characters.</p>