Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Frage zu Synopses mormot2 - AES-GCM (https://www.delphipraxis.net/208332-frage-zu-synopses-mormot2-aes-gcm.html)

Michael II 15. Jul 2021 22:13

Frage zu Synopses mormot2 - AES-GCM
 
Hier gab's vor einigen Monaten Infos zur "schnellsten AES-GCM Implementierung in Delphi".

Nutzt jemand hier Synopses AES-GCM? Und wenn Ja, was muss ich tun, damit die hier beschriebenen AES-GCM Geschwindigkeiten erreicht werden? Oder anders gefragt: ...damit AES-GCM für Windows 64 kompiliert möglichst rasch codiert und decodiert?

Ich verwende mormots FullEncryptAndAuthenticate() und FullDecryptAndVerify() und erreiche die im Blog von Synopse erwähnten Zahlen (mit ähnlichen Prozessoren, welche AES-NI und u.a. PCLMULQDQ unterstützen) nicht.

Ich bin für jeden Hinweis dankbar.

mytbo 16. Jul 2021 17:04

AW: Frage zu Synopses mormot2 - AES-GCM
 
Zitat:

Zitat von Michael II (Beitrag 1492375)
Ich bin für jeden Hinweis dankbar.

Ich arbeite regelmäßig mit mORMot1/2. Geschwindigkeitsmessungen habe ich aber noch nicht durchgeführt. So spezielle Fragen würde ich im mORMot Forum stellen. Arnaud beantwortet zügig alle auflaufenden Fragen.

Bis bald...
Thomas

Michael II 20. Jul 2021 15:08

AW: Frage zu Synopses mormot2 - AES-GCM
 
Hallo Thomas

besten Dank!

Ich habe bei Snyopse den Code für die Polynommultiplikation via intels pclmulqdq hier gefunden.

Die AES-GCM Lösung aus dem "master branch" nutzt auf intel für AES zwar AES-NI, aber für den GCM Teil (mindestens auf meinem Compi...) Polynommultiplikation via 4K Tabelle.
Wenn man statt via 4K Tabelle via procedure gf_mul_pclmulqdq(a, b: pointer); [via Link oben erhältlich] rechnet, dann wird's deutlich schneller. (Intel Xeon (Cascadelake) benötigt für die gleiche Datenmenge nur 0.53x der Zeit.)

Gruss
Michael

mytbo 20. Jul 2021 18:46

AW: Frage zu Synopses mormot2 - AES-GCM
 
Hallo Michael!

Zitat:

Zitat von Michael II (Beitrag 1492563)
Ich habe bei Snyopse den Code für die Polynommultiplikation via intels pclmulqdq hier gefunden.

Wer den Quelltext im Download sucht, die Unit wurde umbenannt und heißt heute mormot.crypt.core.asmx64.inc. Wenn deine Erkenntnisse/Verbesserungen auch auf die aktuellste Version Einfluss haben, freut sich Arnaud bestimmt über einen entsprechenden Hinweis im mORMot Forum. Fast doppelt so schnell ist schon ein ordentliches Pfund. :thumb:

Bis bald...
Thomas

Michael II 20. Jul 2021 20:05

AW: Frage zu Synopses mormot2 - AES-GCM
 
Missverständnis - nicht mit fremden Federn schmück:
Ich habe
mormot AES-NI + mormots GCM GHASH Berechnung (Pur Pascal) mithilfe 4KB Tabelle
verglichen mit
intels/mormots AES-NI + intels/mormots GCM GHASH Lösung via pclmulqdq

Und Lösung 2 ist doppelt so schnell wie 1.


Hier nachgefragt/gesucht hatte ich nach der schnellsten intel/mormot Lösung 2, weil ich kürzlich pur Pascal GCM GHASH via 64KB Tabelle berechnet hatte und dies deutlich schneller war als mormots Lösung 1 von oben (vielleicht hat ja Arnaud B für pPascal mittlerweile auch schnelleren Code und ich finde ihn nur nicht...;-)).
Ich wollte dann wissen wie weit weg die 64KB Tabellenlösung auf intel von der schnellsten Lösung via intel Spezialbefehle ist.


Nochmals besten Dank - auch und v.a. für den mormot2 Link - da wurde im Vergleich zu mormot sehr viel verbessert!


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz