Kennt jemand C source code zum Entschlüsseln der Daten von unserem Stromzähler? Bis jetzt hab ich nur Python scripte gefunden. Ich will die Daten aber selbst in C, wenn's sein muß C++, dechiffrieren. Den Schlüssel hab ich schon. Im Bild die Definition des Datenpakets und der Verschlüsselung.
:
Verschoben durch Moderator
Andi B. schrieb: > Bis jetzt hab ich nur Python scripte gefunden. Ich will die > Daten aber selbst in C, es wäre hilfreich, wenn du die gefundenen Python scripte hier einstellst. Das sollte wohl möglich sein, daraus C herzuleiten ...
Dieser Link wird von der EVN als Beispiel angegeben - https://github.com/ric-geek/DLMS-APDU-Encrypter-Decrypter Das könnte ev. auch funktionieren -https://github.com/haklein/smarty_dsmr_proxy Ich hätte gerne von meinem C Programm die regelmäßig ankommenden Daten von der seriellen Schnittstelle an eine Funktion übergeben welche mir diese dechiffriert. Gleich decodiert in ein struct wäre noch besser. Alternativ könnte ich den stream auch einem c Programm über Kommandozeile füttern welches mir das Ergebnis ausgibt.
Andi B. schrieb: > Ich hätte gerne von meinem C Programm die regelmäßig ankommenden Daten > von der seriellen Schnittstelle an eine Funktion übergeben welche mir > diese dechiffriert. Gleich decodiert in ein struct wäre noch besser. > Alternativ könnte ich den stream auch einem c Programm über > Kommandozeile füttern welches mir das Ergebnis ausgibt. Gute Idee! Dann mach das doch so...
Ich habe gehofft, jemand hat das schon gemacht und jemand hier hat einen Link dazu. Ich selbst hab mit python zu wenig Erfahrung, als dass ich das so auf die Schnelle umbauen könnte.
Andi B. schrieb: > Ich selbst hab mit python zu wenig Erfahrung, als dass ich > das so auf die Schnelle umbauen könnte. dann machs auf die Langsame Tour: -algorithmus aus script herauslesen -Algo in C nachprogrammieren -beide Implementierung auf gleichen Output bei gleich generierten Eingangsdaten überpüfen
Andi B. schrieb: > Kennt jemand C source code zum Entschlüsseln der Daten von unserem > Stromzähler? Bis jetzt hab ich nur Python scripte gefunden. Wie fast immer hilft eine Suchmaschine weiter: https://www.weigu.lu/tutorials/sensors2bus/04_encryption/index.html Abgesehen davon ist AES-GCM jetzt auch wirklich keine große Kunst, dafür gibt es genügend fertige Libraries. Zu dem obigen Beispiel aus dem Screenshot, das stammt wohl von hier: https://www.netz-noe.at/Download-(1)/Smart-Meter/218_9_SmartMeter_Kundenschnittstelle_lektoriert_14.aspx Da scheint jemand "Decryption" mit "Encryption" verwechselt zu haben, um das Beispiel nachzuvollziehen muss man die Daten verschlüsseln. Eine entsprechende Anmerkung gibt es auch hier: https://github.com/culvermelanie/SmartMeter
Andi B. schrieb: > Alternativ könnte ich den stream auch einem c Programm über > Kommandozeile füttern welches mir das Ergebnis ausgibt. Es ist doch erstmal völlig egal, in welcher Programmiersprache die Entschlüsselung passiert und wie Ein- und Ausgabe ablaufen. Entscheidend ist doch, dass die Routine für die Entschlüsselung funktioniert. Den Rest kann man hinterher dazu bauen bzw. die Routine in die Lieblingssprache umsetzen. Am Ende wird sowieso Maschinencode benötigt ;-) Was wäre schlimm daran, wenn man erstmal Python verwendet?
Hi Guys, Die Entschlüsselung nach AES-GCM (DLMS Suite0) ist nicht leicht zu verstehen. Aber hier ein Sketch zur Erklärung. Im Kontext ist nur der Kaifa-Zähler zu entschlüsseln. Man braucht für jeden Zähler ein separaten Einstiegsvektor. Aber egal, hier ein einfaches Entschlüsselungs-Skript für Arduino. Gruß Peter
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.