Elliptische Kurven sind für sichere Verschlüsselungen wichtig deshalb hier den Elliptic Curve Diffie-Hellman (ECDH)

Elliptische Kurven sehen auf den ersten Blick aus wie geschwungene Linien, ähnlich einer Schlaufe, aber sie haben nichts mit Ellipsen zu tun, die wie Ovale aussehen. Ihr Name kommt aus der Mathematik, aber es ist nur ein Name, keine Beschreibung der Form. Habe hier schon einige Artikel zu Raspberry Pi und XCA geschrieben.

Man kann sich elliptische Kurven so vorstellen: Wenn du zwei Punkte auf der Kurve hast, kannst du eine Linie durch diese Punkte zeichnen. Diese Linie trifft die Kurve meistens an genau einem dritten Punkt. Diesen dritten Punkt spiegelt man dann an der x-Achse, und das Ergebnis ist eine Art Summe der beiden Punkte. So kann man mit Punkten auf der Kurve nach bestimmten Regeln rechnen.

Diese besondere Art zu rechnen macht elliptische Kurven für sichere Verschlüsselungen wichtig, weil es sehr schwer ist, aus einem Ergebnis die ursprünglichen Punkte zurückzurechnen.

Wollte auch noch, wie gestern, den Diffie-Hellman-Schlüsselaustausch mit Elliptische Kurven in Java zeigen:

„Elliptische Kurven sind für sichere Verschlüsselungen wichtig deshalb hier den Elliptic Curve Diffie-Hellman (ECDH)“ weiterlesen

Java Ethereum Wallet mit Web3j erstellen

Web3j ist ein sehr modularer und typsichere Library für Java und Android. Viele Module und Funktionen für das einfache arbeiten mit Smart-Contracts und Wallets auf der Ethereum-Blockchain (ETH), stehen bereit.

Hier nun ein kleines Beispiel, wie mit nur einer Java-Klasse und ein paar Zeilen Code ein eigenes File-Wallet im Json-Format erstellt werden kann. In einem weiteren Beitrag zeige ich dann, wie dieses File-Wallet in MetaMask importiert werden kann.

Folgende Abhängigkeiten sind in der pom.xml einzutragen, Web3j und die „alte“ (alt aber Apache) Json-Lib von Google, obwohl Web3j auch die Jackson Json Lib als transitive Abhängigkeit mitbringt. Es muss ja nicht immer Jackson sein 😉 „Java Ethereum Wallet mit Web3j erstellen“ weiterlesen

OpenSSL nicht nur mit dem Raspberry Pi oder wie können Zertifikate selbst signiert werden mit eigener selbst-signierter Root-CA?

OpenSSL ist ein in C entwickeltes Kryptographiewerkzeug für das Secure Socket Layer (SSL). Es enthält das Mehrzweck-Befehlszeilenwerkzeug /usr/bin/openssl. Das Programm eignet sich für kryptographische Operationen wie:

  • Erzeugung von RSA-, DH- und DSA-Schlüssel-Parametern
  • Erzeugung von X.509-Zertifikaten, CSRs und CRLs
  • Berechnung von kryptographischen Einweg-Hashfunktionen
  • Ver- und Entschlüsselung mit Chiffren
  • Prüfung von SSL-/TLS-Clients und -Servern
  • Bearbeitung von S/MIME-signierter oder verschlüsselter E-Mail

Welche Version ist auf dem Raspberry Pi installiert? Ein „OpenSSL nicht nur mit dem Raspberry Pi oder wie können Zertifikate selbst signiert werden mit eigener selbst-signierter Root-CA?“ weiterlesen

SSH Anmeldung an dem Raspberry Pi ohne Passwort mit Elliptische Kurve – ed25519 Key


Wenn man vom Mac (Windows geht natürlich auch) aus auf einen entfernten Raspberry Pi 4 B zugreifen will, kann man das auch ohne jedesmal ein Passwort eingeben zu müssen. Dafür kann das moderne ed25519 Key Verfahren verwendet werden.

Dazu muss auf dem Pi ein .ssh Verzeichnis mit einer authorized_keys Datei angelegt werden:

Dann in der /etc/ssh/sshd_config des Pi die folgenden Einträge setzen: … „SSH Anmeldung an dem Raspberry Pi ohne Passwort mit Elliptische Kurve – ed25519 Key“ weiterlesen