📢 Das Virtual Live-Event von get in IT: Am 26. September 2024 dreht sich bei der job I/O alles um IT-Security!
Du möchtest spannende IT-Arbeitgeber kennenlernen und Dich über die neuesten Trends in der IT-Sicherheit informieren? Dann komm zur job I/O! Denn auf diesem virtuellen Event bringt Dich get in IT mit Unternehmen aus der IT-Security zusammen. Chatte bequem von zu Hause aus mit IT-Arbeitgebern, die jetzt nach IT-Talenten wie Dir suchen. Erhalte persönliche Einblicke in die Arbeitsweisen der Fachabteilungen und blicke hinter die Kulissen ➔ Und das Beste: Die job I/O ist für Dich absolut kostenlos und anonym!
Top Arbeitgeber, interessante IT-Jobs, spannende Livestreams und Chats. Um 14:00 Uhr geht‘s los!
Melde Dich jetzt kostenlos an und sichere Dir Deinen Platz!
Inhalt 📚 Echter Zufall spielt eine zentrale Rolle in vielen Bereichen unseres Lebens, von der wissenschaftlichen Forschung über Technologie bis hin zu alltäglichen Entscheidungen. Aber was genau ist echter Zufall und warum ist er so wichtig? In diesem Video lernst du, wie man mit nur wenigen Zeilen Code einen Quantenzufallszahlengenerator (QRNG) in Python programmieren kann, der ECHTE Zufallszahlen liefert. Damit werden Verschlüsselungsalgorithmen, die sich auf echten Zufall verlassen, noch sicherer. #QRNG#Zufall#Kryptographie
00:00 | Einführung 00:30 | Echter Zufall vs. Pseudozufall 01:41 | Quantenschaltkreis für einen QRNG 03:00 | Der QRNG-Algorithmus 05:18 | QRNG in Python mit IBM Qiskit 10:16 | Test des QRNGs
echter Zufall spielt eine zentral Rolle
in vielen Bereichen unseres Lebens von
der wissenschaftlichen Forschung über
Technologie bis hin zu alltäglichen
Entscheidungen aber was genau ist echter
Zufall und warum ist er so wichtig in
diesem Video lernst du wie man mit nur
wenigen Zahlencode einen Quanten
Zufallszahlengenerator in Python
programmieren kann der echte
Zufallszahlen liefert damit werden
Verschlüsselungsalgorithmen die sich auf
echten Zufall verlassen noch sich
echter Zufall unterscheidet sich von
randomisierten Prozessen die durch
Algorithmen erzeugt werden wenn ein
Computer durch komplizierte Algorithmen
scheinbar zufällige Zufallszahlen
erzeugen kann sind diese Zahlen
tatsächlich deterministisch das heißt
sie sind letztendlich vorhersehbar wenn
man den Algorithmus und die
Ausgangsbedingungen das sogenannte si
kennt echter Zufall hingegen entsteht
durch Prozesse die nicht vorhersehbar
sind und von externen Faktoren
beeinflusst werden können wie z.B das
Rauschen von elektronischen Bauteilen
oder das zerfallverhalten von
radioaktiven Elementen echte
zufallsprozesse sind auch in der
Simulation von komplexen Systemen
wichtig ob in der Klimaforschung der
finanzmodellierung oder der
Epidemiologie die Verwendung echter
Zufallsvariablen ermöglicht
realistischere Modelle und Prognosen in
der Kryptographie die für die
verschlüsselte und vorlauschangriffen
geschützte Kommunikation unabdingbar ist
sind echte Zufallszahlen notwendig um
sich sichere Schlüsse zu erzeugen
Pseudozufallszahlen können potenziell
vorhergesagt werden was
Sicherheitslücken öffnet echter Zufall
hingegen sorgt für die notwendige
Unvorhersehbarkeit bevor wir mit der
Implementierung unseres Quanten
zufallszahlengenerators in Python
beginnen können müssen wir uns zuerst
einen geeigneten quantenschealkreis
überlegen der den Algorithmus für
quantenbasierte Zufallszahlen beschreibt
wenn du wissen möchtest was man unter
einem quantenschaltkreis versteht und
wie diese funktionieren dann schau dir
gerne mein Video dazu an den Link
findest du unten in der
Videobeschreibung wir beginnen mit einem
Cubit im basiszustand Cat n0 um einen
superpositionszustand zu erzeugen indem
sich das Qubit mit jeweils gleicher
Wahrscheinlichkeit im Zustand Cat 0 und
Cat 1 befindet führen wir es in ein
sogenanntes hadmat Gate dadurch wird das
Cubit in diesen Zustand hier versetzt
erst mit der Messung entscheidet sich
das Cubit für einen der beiden Zustände
0 und 1 die wir aus der klassischen
Informatik bereits kennen für welchen
Wert es sich entscheidet können wir im
Vorfeld nicht wissen allerdings können
wir das mit dem betragsquadraten der
wahrscheinlichkeitsamplituden hier vorne
berechnen das Cubit befindet sich zu 1
dur W2 zum Quadrat also ein/b sprich 50%
im Zustand 0 und zur gleichen
Wahrscheinlichkeit im Zustand 1 nachdem
wir gemessen haben die doppelte Linie
hinten deutet an dass wir uns ab hier
wieder in der klassischen Informatik
befinden und das ist bereits der gesamte
Algorithmus den wir gleich im Python
implementieren werden wir versetzen am
Anfang also zuerst ein Qubit in den
Zustand cat0 dann wenden wir darauf die
Hadam Transformation an um einen
superpositionszustand zu erzeugen indem
die beiden Ausgänge 0 und 1 nach der
Messung gleich wahrscheinlich sind nach
der Messung erhalten wir unser
zufallsbit wir werden diesen
quantenschaltkis hier später in unserem
Python Programm n mal wiederholen je
nachdem wie viele zufallsbit wir haben
wollen niemand kann aktuell vorhersagen
ob hinter der Entscheidung des cubits
nicht doch ein Muster steckt doch für
den Moment geht die Wissenschaft davon
aus dass hier wirklich echter Zufall im
Spiel ist was würde eigentlich passieren
wenn wir das Cubit am Anfang statt in
den Zustand Cat 0 in den Zustand Cat 1
versetzen schreib deine Vermutung gerne
unten in die Kommentare wenn dich die
Themen
postquantenkryptografie echter Zufall
und Angriff auf die Vertraulichkeit
unserer Daten interessieren dann schau
gerne bei meinem Vortrag am
26.09.2024 um 14 Uhr auf der digitalen
Jobmesse von gettin it vorbei direkt im
Anschluss findest du bei einer Q&A
session Antworten auf all deine Fragen
egal aus welcher Branche du kommst diese
Messe verbinde dich mit führenden
Unternehmen und bietete dir Zugang zu
TOP itjobs du erhältst exklusive
Einblicke von Experten die aus ihrem
Arbeitsalltag berichten spannende
Projekte vorstellen und die neuesten
Trends in der IT-Sicherheit diskutieren
und das Beste daran du hast die Chance
direkt mit diesen Unternehmen zu chatten
auf Wunsch sogar in einem persönlichen
Videocall nutze diese Gelegenheit um
wertvolle Kontakte zu knüpfen und mehr
über deine zukünftigen
Karrieremöglichkeiten zu erfahren die
Teilnahme ist für Dich völlig kostenlos
als besonderes Highlight wird dort ein
kostenloser cvcheck angeboten um
sicherzustellen dass dein Lebenslauf
genaauo überzeugend ist wie du selbst
verpasse nicht diese Chance tiefer in
die Welt der IT sichicherheit
einzutauchen wertvolle insights zu
gewinnen und deine Karriere
voranzutreiben wir sehen uns auf der
digitalen Jobmesse von gettin it am 6
September sei dabei und gestalte deine
Zukunft in der IT-Sicherheit die Links
zur Anmeldung findest du unten in der
Videobeschreibung oder im angepindten
Kommentar wir beginnen unseren Quanten
Zufallszahlengenerator mit der
Erstellung einer Python Datei die den
Namen qrng trägt als
Programmierschnittstelle zum IBM
Quantencomputer verwenden wir das Python
du kisskit dass du dir mit den Befehl
PIP install kisskit herunterladen und
installieren kannst wenn die
Installation erfolgreich war importieren
wir uns von kisskit die Klassen Quantum
circuit transpile Quantum Register und
classical Register Quantum circuit wird
verwendet um quantenschaltkreise zu
erstellen transpile wird verwendet um
den quantenschaltkreis so umzuschreiben
dass er auf einem spezifischen Backend
ausgeführt werden kann damit sind
Änderungen gemeint die den
quantenschaltkreis auf spezifischen
Quantencomputern oder Simulatoren
effizient ausführbar machen diese
Transformation ist notwendig weil
unterschiedliche quantenhardware
unterschiedliche Fähigkeiten und
Einschränkungen hat Quantum Register
wird benötigt um ein quantenregister zu
erzeugen ind dem unser Cubit Platz hat
classicer Register brauchen wir um ein
Register vorzuhalten indem die nach der
Messung entstandenen klassischen Bits
gespeichert werden zudem benötigen wir
von kiskit an aer die Klasse aer
Simulator das ist der Simulator den wir
verwenden wollen Moment warum Simulator
nun bevor wir unser Programm auf einem
echten Quantencomputer laufen lassen und
dafür Geld bezahlen müssen testen wir
das Programm lieber lokal auf unserem
Rechner mit einem Simulator für die
Generierung von Zufallszahlen sollte im
Sinne der Geheimhaltung ohnehin keine
API verwendet werden weil die
generierten Zufallszahlen natürlich beim
API Anbieter gespeichert werden können
und die Vertraulichkeit damit
kompromittiert wird danach erzeugen wir
uns mit dem Aufruf des Konstruktors aer
Simulator ein aer Simulator den wir in
einer gleichnahigen Variable speichern
der Parameter memory gleich true den wir
dem konstruktorübergeben wird verwendet
um die Ergebnisse jedes Durchlaufs
zwischen zu speeichern anderenfalls
hätten wir nach der Ausführung unseres
Programms nur Zugriff auf die Statistik
die uns angibt wie oft sich das Qubit
für den Zustand 0 und wie oft für den
Zustand 1 entschiedt hat und das bringt
uns natürlich nichts weil wir ja an der
bitsequenz interessiert sind wir führen
den quantenschaltkreis den wir uns zuvor
für den quantenzufallszahlengenerator
überlegt haben nm aus je nachdem wie
viele Zufallsbits wir haben wollen und
es bringt uns dann natürlich nichts nur
zu wissen dass z.B bei 1000 Durchläufen
501 mal die 0 und 499 mal die 1
gewürfelt wurde jetzt definieren wir mit
einem Aufruf des Konstruktors Quantum
Register ein quantenregister in dem
Platz v Qubit ist und weisen das der
Variable QR zu unser Cubit im
quantenregister befindet sich übrigens
standardmäßig im Zustand Cat n0 analog
definieren wir mit dem Aufruf des
Konstruktors classicer Register ein
klassisches Register in dem später Platz
für das klassische Bit ist das nach der
Messung des cubits im quantenregister
entsteht wir weisen unser classical
Register der Variable CR zu wir erzeugen
uns anschließend mit dem Aufruf des
Konstruktors Quantum circuit ein
Schaltkreis dem wir das zuvor erzeugte
quantenregister und das klassische
Register übergeben das Ergebnis
speichern wir uns in einer Variable
namens QC jetzt rufen wir auf der
Variable QC in der unser
quantenschealtkreis gespeichert ist die
Methode h auf um die Hadam
Transformation auf das Cubit an der
Position 0 in unserem quantenregister
anzuwenden da wir nur ein Cubit haben
und wir bei 0 zu zählen beginnen ist der
Index hier 0 anschließend Ruf wir auf
den im quantenschalkreis die Methode
measure auf diese erhält zwei Parameter
nämlich die Indexposition des Z
messenden cubits im quantenregister hier
0 und die Indexposition an der das
Messergebnis im klassischen Register
gespeichert werden soll hier ebenfalls
Null als nächstes bringen wir den
quantenschaltkreis mit dem Aufruf der
Funktion transpile in eine Form die auf
dem ausgewählten Backend ausgeführt
werden kann das Ergebnis ist wieder ein
quantenschaltkreis den wir in einer
Variable mit dem Namen Q c aer speichern
danach führen wir bereits die Simulation
durch dazu rufen wir auf dem Simulator
die Methode Run auf und übergeben
unseren transpilierten
quantenschaltkreis der Parameter Shots
gibt an wie oft der quantenschaltkreis
simuliert werden soll also wie viele
Bits wir Würfeln lassen möchten wir
wählen hier beispielsweise 1000 aus um
1000 Zufallsbits zu erzeugen bei dem
Parameter memory le true sagen wir
wieder dass wir die einzelnen Bits
zwischen gespeichert haben wollen wir
lesen abschließend das Ergebnis mit der
Methode result aus und speichern es in
einer Variable die ebenfalls reside
heißt auf dieser lesen wir mit der
Methode get memory die Liste mit 1000
erzeugen Zufallsbits aus und geben Sie
aus okay dann testen wir unser Programm
doch einfach mal wir rufen es mit dem
Befehl Python qrng DP auf und erhalten
das hier als Ergebnis in dieser Liste
sind jetzt 1000 Bits enthalten die wir
uns statt mit einer Simulation mit
unserem Algorithmus auch auf einem
echten Quantencomputer erzeugen lassen
können herzlichen Glückwunsch du hast
gerade deinen ersten Quanten
zufallzahlengenerator programmiert wir
werden in einem anderen Video mit dem
nbit
quantenzufallszahlengenerator eine
Möglichkeit kennenlernen mit der wir
nbit lange Blöcke von Zufallszahlen
generieren können hier liegt ja nur ein
Bit quantenzufallzahlengenerator vor der
K Mal wiederholt wird ein nbit
quantenzufallzahlengenerator erzeugt
hingegen nbit lange Blöcke die wir auch
K mal wiederholen bzw berechnen können
das vor allem sinnvoll wenn man
Zufallszahlen in einem bestimmten
Bereich z.B zwischen 0 und
256 komfortabel erzeugen möchte ich
würde mich wirklich sehr freuen wenn du
bei meinem Vortrag auf der job I von
gettin it mit dabei bist dieser findet
am 26 September 2024 um 14 Uhr st melde
dich gerne über den Link unten in der
Videobeschreibung oder über den
angepinnten Kommentar an solltest du
weitere Fragen haben kannst du sie gerne
unten in den Kommentaren posten vielen
Dank fürs zusehen und bis zum nächsten
Video