Skip to content

Instantly share code, notes, and snippets.

@IT-Berater
Last active March 11, 2021 14:48
Show Gist options
  • Save IT-Berater/3fcd56449a87078d89fb6d3b127647ef to your computer and use it in GitHub Desktop.
Save IT-Berater/3fcd56449a87078d89fb6d3b127647ef to your computer and use it in GitHub Desktop.
Hardware Random Number Generator (HRNG) or True Random Number Generator (TRNG) and GUI

Flow with Raspberry Pi Hardware Random Number Generator (HRNG) or True Random Number Generator (TRNG).

See http://www.wenzlaff.info

image

GUI

image

[
{
"id": "246f8bb7.1d97c4",
"type": "tab",
"label": "Zufallszahlen",
"disabled": false,
"info": ""
},
{
"id": "b3908204.81b368",
"type": "group",
"z": "246f8bb7.1d97c4",
"name": "Hardware Random Number Generator (HRNG) or True Random Number Generator (TRNG)",
"style": {
"fill": "#d1d1d1",
"label": true
},
"nodes": [
"670c710c.5f63f8",
"6c652b34.de905c"
],
"x": 214,
"y": 91.5,
"w": 573,
"h": 97
},
{
"id": "b0e49796.33657",
"type": "inject",
"z": "246f8bb7.1d97c4",
"name": "Start",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 130,
"y": 140,
"wires": [
[
"670c710c.5f63f8"
]
]
},
{
"id": "dfb968e1.08f3d",
"type": "debug",
"z": "246f8bb7.1d97c4",
"name": "Ausgabe Fehler",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 560,
"y": 240,
"wires": []
},
{
"id": "dcad4603.bb8a1",
"type": "debug",
"z": "246f8bb7.1d97c4",
"name": "Ausgabe Rückgabecode",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 590,
"y": 300,
"wires": []
},
{
"id": "8dc39f23.68882",
"type": "debug",
"z": "246f8bb7.1d97c4",
"name": "Ausgabe Ergebnis als Hex",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 960,
"y": 300,
"wires": []
},
{
"id": "89fc210d.74ec",
"type": "hex to bin",
"z": "246f8bb7.1d97c4",
"name": "",
"x": 880,
"y": 140,
"wires": [
[
"a04f0a1e.999d98",
"58fe6fde.34f28"
]
]
},
{
"id": "a04f0a1e.999d98",
"type": "debug",
"z": "246f8bb7.1d97c4",
"name": "Ausgabe Ergebnis als Bin",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 950,
"y": 240,
"wires": []
},
{
"id": "4dbde524.0e9194",
"type": "comment",
"z": "246f8bb7.1d97c4",
"name": "(c) 2021 Thomas Wenzlaff www.wenzlaff.info",
"info": "",
"x": 1070,
"y": 60,
"wires": []
},
{
"id": "1da03cda.8a6b3b",
"type": "comment",
"z": "246f8bb7.1d97c4",
"name": "Der physikalischer Zufallszahlengenerator läuft so nur auf Linux Systemen, die die Hardwaren Schnittstelle für Zufallszahlen /dev/hwrng aktiviert haben wie z.B. Raspberry Pi",
"info": "",
"x": 630,
"y": 440,
"wires": []
},
{
"id": "2169ad57.b1b492",
"type": "comment",
"z": "246f8bb7.1d97c4",
"name": "Kryptographisch sicherer Zufallszahlengenerator mit dem Raspberry Pi und Hardware Random Number Generator (RNG)",
"info": "Siehe http://blog.wenzlaff.de/?p=16446",
"x": 470,
"y": 60,
"wires": []
},
{
"id": "670c710c.5f63f8",
"type": "exec",
"z": "246f8bb7.1d97c4",
"g": "b3908204.81b368",
"command": "head -c 128 /dev/hwrng",
"addpay": false,
"append": "",
"useSpawn": "false",
"timer": "2",
"oldrc": false,
"name": "lese aus hwrng",
"x": 320,
"y": 140,
"wires": [
[
"6c652b34.de905c"
],
[
"dfb968e1.08f3d"
],
[
"dcad4603.bb8a1"
]
]
},
{
"id": "6c652b34.de905c",
"type": "function",
"z": "246f8bb7.1d97c4",
"g": "b3908204.81b368",
"name": "to 128 Hex Zeichen",
"func": "msg.payload = msg.payload.toString(\"hex\").substr(1,128);\nreturn msg;\n",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"x": 550,
"y": 140,
"wires": [
[
"8dc39f23.68882",
"89fc210d.74ec",
"8bc585e3.a455d8"
]
]
},
{
"id": "9c22faef.2052e",
"type": "ui_button",
"z": "246f8bb7.1d97c4",
"name": "",
"group": "37cc6aa7.926f66",
"order": 9,
"width": 0,
"height": 0,
"passthru": false,
"label": "Generate Zufallszahl",
"tooltip": "",
"color": "",
"bgcolor": "",
"icon": "",
"payload": "",
"payloadType": "str",
"topic": "topic",
"topicType": "msg",
"x": 160,
"y": 240,
"wires": [
[
"670c710c.5f63f8"
]
]
},
{
"id": "8bc585e3.a455d8",
"type": "ui_text",
"z": "246f8bb7.1d97c4",
"group": "37cc6aa7.926f66",
"order": 6,
"width": 0,
"height": 0,
"name": "",
"label": "Zufallszahl Hex (128 Byte, 512 Bit)",
"format": "{{msg.payload}}",
"layout": "col-center",
"x": 980,
"y": 360,
"wires": []
},
{
"id": "58fe6fde.34f28",
"type": "ui_text",
"z": "246f8bb7.1d97c4",
"group": "37cc6aa7.926f66",
"order": 7,
"width": 0,
"height": 0,
"name": "",
"label": "Zufallszahl Bin (128 Byte, 512 Bit)",
"format": "{{msg.payload}}",
"layout": "col-center",
"x": 1120,
"y": 140,
"wires": []
},
{
"id": "bb9d17b9.20931",
"type": "ui_button",
"z": "246f8bb7.1d97c4",
"name": "",
"group": "37cc6aa7.926f66",
"order": 8,
"width": 0,
"height": 0,
"passthru": false,
"label": "Lösche Zufallszahlen",
"tooltip": "",
"color": "",
"bgcolor": "#79c358",
"icon": "",
"payload": "",
"payloadType": "str",
"topic": "topic",
"topicType": "msg",
"x": 160,
"y": 380,
"wires": [
[
"3ecc2f2d.6e7be"
]
]
},
{
"id": "3ecc2f2d.6e7be",
"type": "function",
"z": "246f8bb7.1d97c4",
"name": "Löschen",
"func": "msg.payload=\"\";\n\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"x": 460,
"y": 380,
"wires": [
[
"8bc585e3.a455d8",
"58fe6fde.34f28"
]
]
},
{
"id": "37cc6aa7.926f66",
"type": "ui_group",
"name": "BIP39",
"tab": "2b1a348.d04994c",
"order": 1,
"disp": true,
"width": "14",
"collapse": false
},
{
"id": "2b1a348.d04994c",
"type": "ui_tab",
"name": "BIP39",
"icon": "fingerprint",
"disabled": false,
"hidden": false
}
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment