Artikel
Echte Random Number Generator
Voldoet aan de NIST-standaard met betaalbare componenten
Toen ik voor het eerst een softwarematige Random Number Generator (RNG) probeerde en erachter kwam dat de ‘willekeurige’ getallen berekend worden uit de vorige getallen en eigenlijk helemaal niet zo willekeurig zijn, begon ik te denken over het genereren van werkelijk willekeurige getallen met een elektronische schakeling. Later, toen ik de basisprincipes van cryptografie leerde, ontdekte ik meer redenen waarom een goede Random Number Generator (RNG) een heel nuttig bezit kan zijn. Veilige versleuteling van data is bijvoorbeeld bijna onmogelijk zonder zo’n ding. Ook voor games en goktoepassingen zijn heel goede RNG’s nodig.
Gerber bestand
De PCB bij dit artikel is als Gerber file beschikbaar gesteld. Elektor Members kunnen exclusief deze files gratis downloaden en gebruiken om de PCB zelf af te drukken met geschikte apparatuur óf de Gerber te laten drukken via een dienstverlener.
Elektor kan u bijvoorbeeld de PCB Service van onze partner Eurocircuits van harte aanbevelen of AISLER.
Het gebruik van onze Gerber files is vrijgegeven onder een Creative Commons- licentie. Creative Commons biedt auteurs, wetenschappers en andere creatieve makers de vrijheid om op een flexibele manier met hun auteursrechten om te gaan.
PCB
Extra info / Update
Tags:
Computers & Internet, veiligheid, cryptografie, gaming
Niveau:
Expert
Tijd
Ongeveer 4 uur
Gereedschappen:
SMD-solderen, AVR-programmer, regelbare voeding
Kosten:
Ongeveer € 150
Computers & Internet, veiligheid, cryptografie, gaming
Niveau:
Expert
Tijd
Ongeveer 4 uur
Gereedschappen:
SMD-solderen, AVR-programmer, regelbare voeding
Kosten:
Ongeveer € 150
Onderdelenlijst
Onderdelenlijst: RNG
Weerstanden:
(0805, 100mW, 5%)
R1,R5,R9,R10,R11,R12,R16,R20,R25,R26,R39,R48,R49,R50 = 10 k
R2 = 470 k
R3,R13 = 1 M
R4 = 20 M
R6,R7,R8,R30,R31,R35,R36 = 470 Ohm
R14,R18,R22,R32,R34,R44,R45,R46 = 100 k
R15,R17,R37,R42 = 1k5
R19,R40 = 15 k
R21 = 4k7
R23,R24,R29 = 33 k
R27,R28,R38 = 1 k
R33 = 220 Ohm
R41 = 100 Ohm
R43 = 2k2
R47 = 330 k
P1 = instelpotmeter, 1 k, 11-slags, SMD
P2,P6 = instelpotmeter, 10 k, 11-slags, SMD
P3,P4 = instelpotmeter, 200 Ohm, 11-slags, SMD
P5 = instelpotmeter, 200 k, 11-slags, SMD
Condensatoren:
(0805)
C1,C2,C5,C8,C9,C13,C14,C15,C16,C25,C29,C30,C35 = 100 n
C3,C4 = 22 p
C6,C21,C22 = 10 µ, 6,3 V, case A
C7,C33 = 1 µ
C10,C11,C12,C17,C18,C19,C20,C26,C28,C32,C34 = 100 µ, 10 V, case B
C23 = 22 µ, 10 V, case A
C24,C27 = 10 n
C31,C41 = 470 p
C36,C40,C48 = 220 p
C37,C38,C45,C46 = 100 p
C39,C47 = 120 p instelbare condensator (te vinden via eBay)
C42 = 1 n
C43 = 2n2
C44 = 47 p
Spoelen:
L1,L2,L3 = 100 µH, 0805
L4 = 10 mH, 2220
Halfgeleiders:
IC1 = ATtiny2313V-10SUR, geprogrammeerd
IC2 = L7806CD2T-TR (of NJM7806DL1A-TE1)
IC3,IC6 = TL431AMFDT
IC4,IC5 = L78L33ACUTR
D1,D2,D3,D4,D5,D8,D9 = 1N4148WS
D6 = BAT854W
D7,D10 = BZX384-C12
T1 = BC857CW
T2,T3,T4,T5,T6,T7 = BC847BW
LED1,LED4 = groen, 2x1,25 mm
LED2 = rood, 2 x 1,25 mm
LED3 = geel, 2 x 1,25 mm
Diversen:
X1 = 10MHz-kristal, 18 pF, 5,0x3,2 mm
S1,S2,S3 = druktoets
S4 = 4-voudige DIP-switch
S5 = 7-voudige DIP-switch
S6 = 5-voudige DIP-switch
S7 = 3-voudige DIP-switch
K1 = connector voor SD-kaart type SDBMF-00915B0T2
K2 = 2-polige schroefconnector voor printmontage, steek 3,5mm
K3,K4 = 1 pinheader-pen
K5 = 6-pens pinheader (2x3), steek 2,54 mm
K6 = 5-pens pinheader, steek 2,54 mm
Onderdelenlijst: BSA
Weerstanden:
(0805, 100mW, 5%)
R1 = 1 k
R2,R4,R6 = 22 k
R3 = 100 k
R5,R7,R8,R9,R20,R21,R23,R24,R26,R27 = 10 k
R10,R19,R22,R25 = 470 k
R11,R12,R13,R14,R15,R16,R17,R18 = 1 M
P1 = instelpotmeter, 10 k, SMD
P2,P3,P4,P5 = instelpotmeter, 200 k
Condensatoren:
(0805)
C1, C2,C23 = 22 p
C3,C4,C5,C6,C7,C10,C13,C16,C19 = 100 n
C8 = 100 µ, 16V, radiaal, SMD
C9,C12,C15,C18 = 22 µ, 16V, radiaal, SMD
C11,C14,C17,C20 = 1 µ
C21,C22 = 10 µ, 25V, radiaal, SMD
Spoelen:
L1 = 10 µH, 0805
Halfgeleiders:
D1,D2 = 1N4148WS
D3 = MRA4007T3G
IC1 = ATmega8-16AU
IC2 = LM324MX
IC3 = TL7660CD
Diversen:
X1 = 16MHz-kristal, 18 p, 5,0x3,2 mm
JP1 = 2-pens pinheader, steek 2,54 mm
jumper, steek 2,54 mm
K1 = 5-polige bus, steek 2,54 mm (soldeerzijde)
LCD1 = alfanumeriek, 2x16
16-polige pinheader (voor lcd), steek 2,54 mm
16-polige bus (voor lcd), steek 2,54 mm
In de store
Print 150116-1
Print 150116-2
Geprogrammeerde microcontroller 150116-41
Geprogrammeerde microcontroller 150116-42
Weerstanden:
(0805, 100mW, 5%)
R1,R5,R9,R10,R11,R12,R16,R20,R25,R26,R39,R48,R49,R50 = 10 k
R2 = 470 k
R3,R13 = 1 M
R4 = 20 M
R6,R7,R8,R30,R31,R35,R36 = 470 Ohm
R14,R18,R22,R32,R34,R44,R45,R46 = 100 k
R15,R17,R37,R42 = 1k5
R19,R40 = 15 k
R21 = 4k7
R23,R24,R29 = 33 k
R27,R28,R38 = 1 k
R33 = 220 Ohm
R41 = 100 Ohm
R43 = 2k2
R47 = 330 k
P1 = instelpotmeter, 1 k, 11-slags, SMD
P2,P6 = instelpotmeter, 10 k, 11-slags, SMD
P3,P4 = instelpotmeter, 200 Ohm, 11-slags, SMD
P5 = instelpotmeter, 200 k, 11-slags, SMD
Condensatoren:
(0805)
C1,C2,C5,C8,C9,C13,C14,C15,C16,C25,C29,C30,C35 = 100 n
C3,C4 = 22 p
C6,C21,C22 = 10 µ, 6,3 V, case A
C7,C33 = 1 µ
C10,C11,C12,C17,C18,C19,C20,C26,C28,C32,C34 = 100 µ, 10 V, case B
C23 = 22 µ, 10 V, case A
C24,C27 = 10 n
C31,C41 = 470 p
C36,C40,C48 = 220 p
C37,C38,C45,C46 = 100 p
C39,C47 = 120 p instelbare condensator (te vinden via eBay)
C42 = 1 n
C43 = 2n2
C44 = 47 p
Spoelen:
L1,L2,L3 = 100 µH, 0805
L4 = 10 mH, 2220
Halfgeleiders:
IC1 = ATtiny2313V-10SUR, geprogrammeerd
IC2 = L7806CD2T-TR (of NJM7806DL1A-TE1)
IC3,IC6 = TL431AMFDT
IC4,IC5 = L78L33ACUTR
D1,D2,D3,D4,D5,D8,D9 = 1N4148WS
D6 = BAT854W
D7,D10 = BZX384-C12
T1 = BC857CW
T2,T3,T4,T5,T6,T7 = BC847BW
LED1,LED4 = groen, 2x1,25 mm
LED2 = rood, 2 x 1,25 mm
LED3 = geel, 2 x 1,25 mm
Diversen:
X1 = 10MHz-kristal, 18 pF, 5,0x3,2 mm
S1,S2,S3 = druktoets
S4 = 4-voudige DIP-switch
S5 = 7-voudige DIP-switch
S6 = 5-voudige DIP-switch
S7 = 3-voudige DIP-switch
K1 = connector voor SD-kaart type SDBMF-00915B0T2
K2 = 2-polige schroefconnector voor printmontage, steek 3,5mm
K3,K4 = 1 pinheader-pen
K5 = 6-pens pinheader (2x3), steek 2,54 mm
K6 = 5-pens pinheader, steek 2,54 mm
Onderdelenlijst: BSA
Weerstanden:
(0805, 100mW, 5%)
R1 = 1 k
R2,R4,R6 = 22 k
R3 = 100 k
R5,R7,R8,R9,R20,R21,R23,R24,R26,R27 = 10 k
R10,R19,R22,R25 = 470 k
R11,R12,R13,R14,R15,R16,R17,R18 = 1 M
P1 = instelpotmeter, 10 k, SMD
P2,P3,P4,P5 = instelpotmeter, 200 k
Condensatoren:
(0805)
C1, C2,C23 = 22 p
C3,C4,C5,C6,C7,C10,C13,C16,C19 = 100 n
C8 = 100 µ, 16V, radiaal, SMD
C9,C12,C15,C18 = 22 µ, 16V, radiaal, SMD
C11,C14,C17,C20 = 1 µ
C21,C22 = 10 µ, 25V, radiaal, SMD
Spoelen:
L1 = 10 µH, 0805
Halfgeleiders:
D1,D2 = 1N4148WS
D3 = MRA4007T3G
IC1 = ATmega8-16AU
IC2 = LM324MX
IC3 = TL7660CD
Diversen:
X1 = 16MHz-kristal, 18 p, 5,0x3,2 mm
JP1 = 2-pens pinheader, steek 2,54 mm
jumper, steek 2,54 mm
K1 = 5-polige bus, steek 2,54 mm (soldeerzijde)
LCD1 = alfanumeriek, 2x16
16-polige pinheader (voor lcd), steek 2,54 mm
16-polige bus (voor lcd), steek 2,54 mm
In de store
Print 150116-1
Print 150116-2
Geprogrammeerde microcontroller 150116-41
Geprogrammeerde microcontroller 150116-42
Discussie (0 opmerking(en))