WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Hilfe bei der Implementierung von SHA-256 in Simulink

 

PPLALY44
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 06.07.23
Wohnort: Germany
Version: ---
     Beitrag Verfasst am: 06.07.2023, 22:44     Titel: Hilfe bei der Implementierung von SHA-256 in Simulink
  Antworten mit Zitat      
Hallo zusammen,

ich arbeite derzeit an der Implementierung des SHA-256-Algorithmus in Simulink und stehe vor einigen Herausforderungen, bei denen ich hoffe, dass ihr mir helfen könnt. Mein Ziel ist es, eine SHA-256-Implementierung zu entwickeln, ohne dabei die Cryptography Toolbox in MATLAB zu verwenden.

Ich habe versucht, den MATLAB Function Block in Simulink zu nutzen, was zunächst vielversprechend schien. Allerdings bin ich auf einen Kompatibilitätsfehler gestoßen:


Error:Undefined function or variable 'java.security.MessageDigest.getInstance'.
Function 'MATLAB Function' (#24.499.549), line 14, column 20:
"java.security.MessageDigest.getInstance('SHA-256')"


Der MATLAB Function Block, den ich verwendet habe, ruft lediglich die SHA256-Funktion aus Java auf:
Code:

function hash = fcn(bitSequence)
    bitString = num2str(bitSequence, '%d');
    bytes = reshape(bitString, 8, []).';
    bytes = uint8(bin2dec(bytes));
    sha256hasher = java.security.MessageDigest.getInstance('SHA-256');
    hash = typecast(sha256hasher.digest(bytes), 'uint8');
end
 


Ich wende mich an dieses Forum, um Rat und Vorschläge zu erhalten, wie ich den SHA-256-Algorithmus erfolgreich in Simulink implementieren kann, ohne die Cryptography Toolbox zu verwenden. Falls jemand Erfahrung oder Einblicke in alternative Ansätze oder Lösungen hat, würde ich mich sehr über eure Unterstützung freuen.

Vielen Dank im Voraus für eure Hilfe.
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.07.2023, 08:20     Titel:
  Antworten mit Zitat      
Hallo,

du kannst den Java-Aufruf in eine separate Funktion packen und diese im MATLAB Function-Block mit coder.extrinsic als extrinsisch definieren.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
PPLALY44
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 06.07.23
Wohnort: Germany
Version: ---
     Beitrag Verfasst am: 08.07.2023, 19:47     Titel:
  Antworten mit Zitat      
Ich habe die von Ihnen vorgeschlagene Lösung ausprobiert und sie funktioniert einwandfrei aus der MATLAB-Arbeitsumgebung heraus. Allerdings hatte ich keinen Erfolg dabei, die Simulation in Simulink zum Laufen zu bringen. Ich habe meinen Quellcode unten angefügt und hoffe, dass Sie mich bei der Behebung des Fehlers in meinem Simulink-Modell unterstützen können.

Vielen Dank nochmals!

testsimulink.slx
 Beschreibung:

Download
 Dateiname:  testsimulink.slx
 Dateigröße:  26.71 KB
 Heruntergeladen:  179 mal
extrinsic.m
 Beschreibung:

Download
 Dateiname:  extrinsic.m
 Dateigröße:  130 Bytes
 Heruntergeladen:  187 mal
computeSHA256.m
 Beschreibung:

Download
 Dateiname:  computeSHA256.m
 Dateigröße:  277 Bytes
 Heruntergeladen:  176 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 10.07.2023, 08:58     Titel:
  Antworten mit Zitat      
Hallo,

anbei ein zumindest mal funktionsfähiges Modell. Ein Punkt ist zumindest, dass in Simulink mit Strings gearbeitet wird, du aber ein char Array brauchst.

Für den Hex Output müsstest du noch etwas basteln.

Grüße,
Harald

computeSHA256.m
 Beschreibung:

Download
 Dateiname:  computeSHA256.m
 Dateigröße:  270 Bytes
 Heruntergeladen:  195 mal
testmodel.slx
 Beschreibung:

Download
 Dateiname:  testmodel.slx
 Dateigröße:  31.53 KB
 Heruntergeladen:  181 mal

_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.