Hi Soeren! Well, for example, if someone has got a TRNG and wants to test its output quality.
when thinking of data stream: 0. TRNG output is usually analog, 1. So it must be followed by ADC, 2. After that, goes another device for post-processing, so as to make the data binary. Just imagine, if we had a random binary sequence, like 0001 0110, and then make sample rate higher, it would become 0000 0000 0000 1111 0000 1111 1111 0000 - doesn't look random, patterns of 4 are obvious. (You can never be sure when dealing with randomness- https://i.redd.it/ik1rgf63zym31.jpg , but still. that's why those tests are used) What if the trng output is oversampled, like the second sequence, - then post-processing is applied so as to reduce the patterns. Lowering the sample rate is obvious, but there are also other algorithms. It is very important to choose the right threshold when making float->binary. And it's better to lower the sample rate before computing the threshold, when the data is float. It feels like: (the amount of [information = non-predictable data]) * (sequence length) ~= const Sure it is like that, but I cannot prove it. It's wise to oversample the output first, so as to choose the best post-processing algorithms for it- this way we make sure the data is not undersampled, so we're not losing randomness. "best" means "making the sequence random enough, but not reducing its length too much". Those could also be compared by processing time, if the speed is much lower than analog TRNG generation. 3. Then, the binary sequence is tested 4. Finally, based on test results, some system parameters might be changed, to achieve better binary TRNG output, 5. Or, if all is OK, those random sequences can be used, for example as encryption keys. so, two cases to consider: 1. binary input >-----> NIST tests 2. "analog"=oversampled input >-------> post-processing >-----{binary}-----> NIST tests I'm going to start with the simplest (1) one- not sure if I have time for all, But I think it's better to implement it in a right way from the very beginning - that's why I'm asking. Regards, Inessa чт, 5 мар. 2020 г. в 00:37, Soeren Apel <soe...@apelpie.net>: > Hello Inessa, > > While I'm sure there are use cases for this, I have to admit > that I haven't yet come across one. Which ones do you have > in mind? > > Clarifying that may help figuring out which way it should go. > > Regards > -Soeren > > On Wed, 2020-03-04 at 13:13 +0300, Inessa Kavalenka wrote: > > Hi everyone! > > > > I got this idea to attach a randomness acquisition tool (for example, > > NIST STS) to sigrok, for study purposes. > > > > As sigrok developers, do you think this feature could be useful for > > anybody? And if yes, what would be a better way to implement this? I > > thought about attaching the tests as protocol decoders. > > > > Best regards, > > Inessa > > _______________________________________________ > > sigrok-devel mailing list > > sigrok-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/sigrok-devel > > -- С уважением, Инесса
_______________________________________________ sigrok-devel mailing list sigrok-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sigrok-devel