[Cryptech Tech] Avalanche noise test boards

Benedikt Stockebrand bs at stepladder-it.com
Sun Aug 17 21:42:28 UTC 2014


Hi Fredrik and list,

Fredrik Thulin <fredrik at thulin.net> writes:

> In the mean time, I've been working on my SPI-talking variant of it. It's been 
> progressing nicely. I'm on the second iteration of my PCB, and I haven't found 
> any physical bugs on this one =).

good to hear!

> What I have is basically your generator core module, plus amplifier. I'm using 
> a 2N3904 as noise source, and SMD components for the rest. I would be 
> interested in any tips of SMD replacements for the 2N3904.

I got good results with the SMD Zeners from the set I gave you, except
for the one in the Mini-MELF package; they were doing better than the
BC337-16, too.

One of the not-so-critical things I want to do with the next board
iteration is to draw up a footprint that can be used with either a THT
Zener, an SMD Zener of various sizes, a TO-92 package BJT (with any
pinout) or possibly an SOT-23 package BJT.

> I have some questions regarding the BAT85 diode and it's intended effects on 
> the amplifier, but I think it will be best for me to just compare your circuit 
> (as you've built it) to mine first - in case my questions are just because I 
> messed something up.

OK, here's Kasper Pedersen's original comment on my video blog: 

    http://www.stepladder-it.com/bivblog/26/#more-187

And yes, it makes quite a difference even compared to the BF959 I used
at that time.

> The first iteration of my build used a MAX232 IC to get +-12v. It wasn't very 
> clean DC, with some spikes leaking over into the amplified noise. While I 
> couldn't see that my Schmitt triggered input reacted to these spikes, it made 
> me uncomfortable so I exchanged it for a LMC7660IM instead. This only gives 
> +-5v, but that appears to be enough.

Yes, 10V should do fine.  However, there's the problem with charge pumps
that they are much more susceptible to voltage drops from the USB
supply as I've mentioned before.

> The MCU I'm currently using is a MSP430F2132 - because I've used that one 
> before.

I'll eventually find the time to pull out that Launchpad thingie and
give them a try as well.

> I have a Raspberry Pi compatible 2x13 header block interface, because that 
> will allow me to do the SPI protocol development in Python.

There's something you want to pay close attention to: With a full-blown
OS accessing the device, the timing from the host may actually make it
difficult to detect if the output from the generator is going bad.

> I'm currently at the stitching-it-all-together stage, but I'd be interested to 
> know what people think would be the best next step(s).

With the turnaround times on PCB manufacture we should focus on getting
the hardware side straight.  Whenever we're waiting for new boards we
can deal with the firmware on the MCUs, documentation, test software and
eventually drivers.

My next goal on the software side is a replacement for the rngtest/rngd
combo.  I already have some ideas how to do this significantly better in
a number of ways, but as usual it's a matter of time at hand.

> I only have three PCBs for now. I am going to ship one unit to Joachim and 
> initially use the other two myself to study differences in individual units. 

Sure!  Take a look at the PCB I got from Seeedstudio; they are
apparently about as fast as Oshpark and you get ten (or in my case
eleven...) boards for the same money.

> I'm thinking it would be nice to make up some more boards after that to send 
> out to others interested in helping with
>
>   1) evaluating the randomness
>   2) working on the functionality of the micro controller

Yes; well, we can make output from the devices accessible on the Net, so
others can do their tests.  When it comes to functionality on the MCU, I
think we should try to keep it reasonably simple.

> and another idea is to develop a competing design using an STM32 MCU, in the 
> name of chip diversity.

One of the ideas I have on the USB interface side is to go for a
PIC16F145[459] based solution; that gets rid of the FT232, but involves
driver development on the host side, which is something I only want to
address after I've got something working front to back.

Anyway, do you know about the MCP2210?  It's an SPI<->USB interface chip
that may be interesting to use in connection with your SPI interface.


Cheers,

    Benedikt

-- 
Benedikt Stockebrand,                   Stepladder IT Training+Consulting
Dipl.-Inform.                           http://www.stepladder-it.com/

          Business Grade IPv6 --- Consulting, Training, Projects

BIVBlog---Benedikt's IT Video Blog: http://www.stepladder-it.com/bivblog/


More information about the Tech mailing list