App installieren
How to install the app on iOS
Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Kleiner CPU-AES-Bench
- Ersteller Helle53
- Erstellt am
Für AES-Benchs (CPU-Unterstützung AES-NI) habe ich nicht das gefunden, was mich interessiert. Einschlägige Programme testen offensichtlich immer im ECB-Modus, der aber nicht das Gelbe vom Ei ist (s. http://de.wikipedia.org/wiki/Electronic_Code_Book_Mode) und http://de.wikipedia.org/wiki/Cipher_Block_Chaining_Mode. ECB lässt sich wunderbar paralellisieren (CBC nicht) und so sind die Messwerte natürlich phantastisch, sagt aber deshalb meiner Meinung nach zu wenig über die direkten CPU-AES-Fähigkeiten aus. Deshalb habe ich für AES-CBC ein kleines Test-Programm geschrieben. Benötigt wird eine CPU mit AES-NI-Unterstützung und ein 64-Bit-OS. Um keinen HD-Einfluss zu haben läuft das Ganze nur im RAM und ist festgepinnt auf Core0. Es wird eine 256 MB große "Ursprungs"-Datei erstellt (der Plain-oder Klar-Text), diese Datei wird in weitere 256 MB encodiert und dann in nochmal weitere 256 MB decodiert. Anschließend wird die decodierte Datei mit der Ursprungs-Datei verglichen (Datei immer im Sinne von Bytes). Um maximale AES-Durchläufe zu haben wird eine Schlüssellänge von 256-Bit verwendet.
Die Download-Datei (ZIP) enthält die EXE und den Quellcode (FASM): http://www.mdcc-fun.de/k.helbing/AES/AES.zip.
Meine Werte für i7-3770K (RAM DDR3/1333):
- 4.1GHZ: Encodierung = 491ms (521MB/s); Decodierung = 133ms (1924MB/s)
- 3.5GHZ: Encodierung = 574ms (445MB/s); Decodierung = 154ms (1662MB/s)
Wäre nett, wenn es jemand testen würde.
Danke!
Helle
Die Download-Datei (ZIP) enthält die EXE und den Quellcode (FASM): http://www.mdcc-fun.de/k.helbing/AES/AES.zip.
Meine Werte für i7-3770K (RAM DDR3/1333):
- 4.1GHZ: Encodierung = 491ms (521MB/s); Decodierung = 133ms (1924MB/s)
- 3.5GHZ: Encodierung = 574ms (445MB/s); Decodierung = 154ms (1662MB/s)
Wäre nett, wenn es jemand testen würde.
Danke!
Helle
@Hitcher:
Ziel war es nicht Programme mit mehr oder weniger AES-Nutzung (Anteil) zu testen, sondern möglichst direkt die Hardware-AES-Performance der CPU. Natürlich verwenden div. Programme AES, sehr bekannt ist z.B. TrueCrypt (nutzt übrigens den XTS-Mode, den "Quasi-Standard" für Datenträger). Aus Benchmarks dieser Programme lässt sich aber kaum der AES-Anteil der CPU ermitteln.
Da ich schon wieder den Begriff "Mode" verwende, hier für diejenigen, die sich noch nicht weiter mit AES beschäftigt haben, eine kurze Erläuterung (soll kein Klugscheißen sein !): AES ist ein Encrypt-Decrypt-Algorithmus (gut, dass ist bekannt), der immer genau 16 Bytes (=1 Block) verarbeitet. Will man z.B. 160 Bytes verschlüsseln, muss im Programm die AES-Funktion eben 10-mal aufgerufen werden. Hier kommt jetzt der Mode ins Spiel. Am einfachsten ist es, 16 Bytes einzulesen, verschlüsseln und diese 16 Bytes in die Ziel-Datei zu schreiben, dann die nächsten 16 Bytes usw. So macht es der ECB-Mode, der sich so prima paralellisieren lässt; das Ergebnis ist aber, 16 gleiche Eingang-Bytes ergeben immer 16 gleiche Ausgang-Bytes. Dies lässt aber durchaus Rückschlüsse auf die Original-Datei zu (s. den Tux-Umriss in o.g. Link). Besser ist der CBC-Mode: Die ersten 16 Eingang-Bytes werden mit dem sogenannten Initialisierungsvektor (16 Bytes) verknüpft und die 16 Ausgang-Bytes werden mit den nächsten 16 Eingang-Bytes verknüpft usw. So ergeben auch gleiche Eingangs-Blöcke immer andere Ausgangsblöcke. Nachteil: Nix mehr mit prima Paralellisierung, dafür aber wesentlich sicherer.
Ziel war es nicht Programme mit mehr oder weniger AES-Nutzung (Anteil) zu testen, sondern möglichst direkt die Hardware-AES-Performance der CPU. Natürlich verwenden div. Programme AES, sehr bekannt ist z.B. TrueCrypt (nutzt übrigens den XTS-Mode, den "Quasi-Standard" für Datenträger). Aus Benchmarks dieser Programme lässt sich aber kaum der AES-Anteil der CPU ermitteln.
Da ich schon wieder den Begriff "Mode" verwende, hier für diejenigen, die sich noch nicht weiter mit AES beschäftigt haben, eine kurze Erläuterung (soll kein Klugscheißen sein !): AES ist ein Encrypt-Decrypt-Algorithmus (gut, dass ist bekannt), der immer genau 16 Bytes (=1 Block) verarbeitet. Will man z.B. 160 Bytes verschlüsseln, muss im Programm die AES-Funktion eben 10-mal aufgerufen werden. Hier kommt jetzt der Mode ins Spiel. Am einfachsten ist es, 16 Bytes einzulesen, verschlüsseln und diese 16 Bytes in die Ziel-Datei zu schreiben, dann die nächsten 16 Bytes usw. So macht es der ECB-Mode, der sich so prima paralellisieren lässt; das Ergebnis ist aber, 16 gleiche Eingang-Bytes ergeben immer 16 gleiche Ausgang-Bytes. Dies lässt aber durchaus Rückschlüsse auf die Original-Datei zu (s. den Tux-Umriss in o.g. Link). Besser ist der CBC-Mode: Die ersten 16 Eingang-Bytes werden mit dem sogenannten Initialisierungsvektor (16 Bytes) verknüpft und die 16 Ausgang-Bytes werden mit den nächsten 16 Eingang-Bytes verknüpft usw. So ergeben auch gleiche Eingangs-Blöcke immer andere Ausgangsblöcke. Nachteil: Nix mehr mit prima Paralellisierung, dafür aber wesentlich sicherer.
Sabroe SMC
Grand Admiral Special
- Mitglied seit
- 14.05.2008
- Beiträge
- 4.526
- Renomée
- 387
- Standort
- Castrop-Rauxel
- Mein Laptop
- Gigabyte P37, i7 4720HQ, 16 Gb, 128 Gb SSD, 1Tb HD, 17" FHD
- Prozessor
- AMD Ryzen 9 7950X3D
- Mainboard
- Asus TUF Gaming X670E Plus
- Kühlung
- Noctua NH-D15 chromax.black
- Speicher
- G.Skill Trident Z5 RGB silber DIMM Kit 64GB DDR5-6400 CL32-39-39-102 on-die ECC
- Grafikprozessor
- Palit GeForce RTX 4090 GameRock
- Display
- Samsung U32H850, 31.5" (3840x2160)
- SSD
- Kingston KC3000 PCIe 4.0 NVMe SSD 2TB
- Optisches Laufwerk
- irgendeins
- Soundkarte
- Onboard
- Gehäuse
- SilverStone Seta D1, schwarz
- Netzteil
- ASUS ROG Strix, ROG-STRIX-850G Gold Aura Edition, 850W ATX 3.0
- Tastatur
- Razer BlackWidow Ultimate
- Maus
- Zowie Gaming Mouse FK1
- Betriebssystem
- Windows 11 Pro
- Webbrowser
- Firefox in aktuellster Version
- Internetanbindung
-
▼500 Mbit/s
▲25 Mbit/s
Anhang anzeigen 26285
Habe es mal mit nem Sandy 2600K@4.5 Ghz, Win 7 64bit, 16 Gb DDR3-1600 laufen lassen.
Habe es mal mit nem Sandy 2600K@4.5 Ghz, Win 7 64bit, 16 Gb DDR3-1600 laufen lassen.
ja, leider habe ich hier keine CPU mit Intel AES-NI, aber eine Notebook Dualcore-CPU T6670 mit 2x2GB DDR2-800 RAM, also ein eher älteres Teil, daher läuft das mit dem Benchmark leider nicht.
Aber 7-zip kann wie gesagt Dateien auch AES-256 CBC verschlüsseln, dann allerdings kann man nicht 2 Kerne zuweisen. Wenn man die Komprimierung deaktiviert, müsste der AES-Anteil von User-Time annhähernd 100% sein. Unten angefügt noch die Erstellung eines sehr kleinen Archives wo nur 2kB verschlüsselt werden; diese Zeit kann man noch abziehen für ein genaueres Ergebnis (die Zeit für das salzen + hashen des Schlüssels entfällt dann wohl).
Also als Vergleichswert evtl. trotzdem interessant:
http://666kb.com/i/c7u51hd4zb75lfs4u.png
http://666kb.com/i/c7u52emj12rquju3y.png
Verschlüsselt habe ich eine 256MiB Testdatei aus HEX Zufallszahlen, damit das Ergebnis vergleichbar ist, die CPU sollte bei Last auf nur einem Kern auf 2,3 GHz hochtakten.
Das Ausgabelaufwerk war eine RAM-Disk mit 1GB, die Quelldatei lag schon im Filecache.
F:\>timer "c:\Program Files\7-Zip\7z.exe" a -t7z -m0=copy -pHeinzOtto2 randfil
e-aes.7z d:\randfile
Timer 3.01 Copyright (c) 2002-2003 Igor Pavlov 2003-07-10
7-Zip [64] 9.22 beta Copyright (c) 1999-2011 Igor Pavlov 2011-04-18
Scanning
Creating archive randfile-aes.7z
Compressing randfile
Everything is Ok
Kernel Time = 0.592 = 00:00:00.592 = 16%
User Time = 3.198 = 00:00:03.198 = 88%
Process Time = 3.790 = 00:00:03.790 = 104%
Global Time = 3.619 = 00:00:03.619 = 100%
F:\>"c:\Program Files\7-Zip\7z.exe" l randfile-aes.7z
7-Zip [64] 9.22 beta Copyright (c) 1999-2011 Igor Pavlov 2011-04-18
Listing archive: randfile-aes.7z
--
Path = randfile-aes.7z
Type = 7z
Method = Copy 7zAES
Solid = -
Blocks = 1
Physical Size = 268435591
Headers Size = 135
Date Time Attr Size Compressed Name
------------------- ----- ------------ ------------ ------------------------
2012-10-04 19:02:16 ....A 268435456 268435456 randfile
------------------- ----- ------------ ------------ ------------------------
268435456 268435456 1 files, 0 folders
F:\>timer "c:\Program Files\7-Zip\7z.exe" t -pHeinzOtto2 randfile-aes.7z
Timer 3.01 Copyright (c) 2002-2003 Igor Pavlov 2003-07-10
7-Zip [64] 9.22 beta Copyright (c) 1999-2011 Igor Pavlov 2011-04-18
Processing archive: randfile-aes.7z
Testing randfile
Everything is Ok
Size: 268435456
Compressed: 268435591
Kernel Time = 0.124 = 00:00:00.124 = 3%
User Time = 3.229 = 00:00:03.229 = 97%
Process Time = 3.354 = 00:00:03.354 = 100%
Global Time = 3.323 = 00:00:03.323 = 100%
---
F:\>timer "c:\Program Files\7-Zip\7z.exe" a -t7z -m0=copy -pHeinzOtto2 test.7z d
:\readme.txt
Timer 3.01 Copyright (c) 2002-2003 Igor Pavlov 2003-07-10
7-Zip [64] 9.22 beta Copyright (c) 1999-2011 Igor Pavlov 2011-04-18
Scanning
Creating archive test.7z
Compressing readme.txt
Everything is Ok
Kernel Time = 0.015 = 00:00:00.015 = 3%
User Time = 0.390 = 00:00:00.390 = 89%
Process Time = 0.405 = 00:00:00.405 = 92%
Global Time = 0.437 = 00:00:00.437 = 100%
F:\>timer "c:\Program Files\7-Zip\7z.exe" t -t7z -m0=copy -pHeinzOtto2 test.7z
Timer 3.01 Copyright (c) 2002-2003 Igor Pavlov 2003-07-10
7-Zip [64] 9.22 beta Copyright (c) 1999-2011 Igor Pavlov 2011-04-18
Processing archive: test.7z
Testing readme.txt
Everything is Ok
Size: 2489
Compressed: 2626
Kernel Time = 0.000 = 00:00:00.000 = 0%
User Time = 0.296 = 00:00:00.296 = 82%
Process Time = 0.296 = 00:00:00.296 = 82%
Global Time = 0.359 = 00:00:00.359 = 100%
Zeit UserTime für Verschlüsselung 256MiB 7z: 3.198 - 0.39 = 2.81s => 91 MiB/s
Zeit UserTime für Entschlüsselung 256MiB 7z: 3.229 - 0.296 = 2.93s => 87 MiB/s
---
edit:
unter Linux x64 (Fedora 17) mit openssl läuft es sogar noch schneller:
[xyz@xxx tmp]$ time openssl enc -aes-256-cbc -e -in ./randfile -out ./randfile-aes -pass pass:OttoHugo3
real 0m3.036s
user 0m2.384s
sys 0m0.632s
[xyz@xxx tmp]$ time openssl enc -aes-256-cbc -d -in ./randfile-aes -out ./randfile-dec -pass pass:OttoHugo3
real 0m4.142s
user 0m2.628s
sys 0m0.532s
Aber 7-zip kann wie gesagt Dateien auch AES-256 CBC verschlüsseln, dann allerdings kann man nicht 2 Kerne zuweisen. Wenn man die Komprimierung deaktiviert, müsste der AES-Anteil von User-Time annhähernd 100% sein. Unten angefügt noch die Erstellung eines sehr kleinen Archives wo nur 2kB verschlüsselt werden; diese Zeit kann man noch abziehen für ein genaueres Ergebnis (die Zeit für das salzen + hashen des Schlüssels entfällt dann wohl).
Also als Vergleichswert evtl. trotzdem interessant:
http://666kb.com/i/c7u51hd4zb75lfs4u.png
http://666kb.com/i/c7u52emj12rquju3y.png
Verschlüsselt habe ich eine 256MiB Testdatei aus HEX Zufallszahlen, damit das Ergebnis vergleichbar ist, die CPU sollte bei Last auf nur einem Kern auf 2,3 GHz hochtakten.
Das Ausgabelaufwerk war eine RAM-Disk mit 1GB, die Quelldatei lag schon im Filecache.
F:\>timer "c:\Program Files\7-Zip\7z.exe" a -t7z -m0=copy -pHeinzOtto2 randfil
e-aes.7z d:\randfile
Timer 3.01 Copyright (c) 2002-2003 Igor Pavlov 2003-07-10
7-Zip [64] 9.22 beta Copyright (c) 1999-2011 Igor Pavlov 2011-04-18
Scanning
Creating archive randfile-aes.7z
Compressing randfile
Everything is Ok
Kernel Time = 0.592 = 00:00:00.592 = 16%
User Time = 3.198 = 00:00:03.198 = 88%
Process Time = 3.790 = 00:00:03.790 = 104%
Global Time = 3.619 = 00:00:03.619 = 100%
F:\>"c:\Program Files\7-Zip\7z.exe" l randfile-aes.7z
7-Zip [64] 9.22 beta Copyright (c) 1999-2011 Igor Pavlov 2011-04-18
Listing archive: randfile-aes.7z
--
Path = randfile-aes.7z
Type = 7z
Method = Copy 7zAES
Solid = -
Blocks = 1
Physical Size = 268435591
Headers Size = 135
Date Time Attr Size Compressed Name
------------------- ----- ------------ ------------ ------------------------
2012-10-04 19:02:16 ....A 268435456 268435456 randfile
------------------- ----- ------------ ------------ ------------------------
268435456 268435456 1 files, 0 folders
F:\>timer "c:\Program Files\7-Zip\7z.exe" t -pHeinzOtto2 randfile-aes.7z
Timer 3.01 Copyright (c) 2002-2003 Igor Pavlov 2003-07-10
7-Zip [64] 9.22 beta Copyright (c) 1999-2011 Igor Pavlov 2011-04-18
Processing archive: randfile-aes.7z
Testing randfile
Everything is Ok
Size: 268435456
Compressed: 268435591
Kernel Time = 0.124 = 00:00:00.124 = 3%
User Time = 3.229 = 00:00:03.229 = 97%
Process Time = 3.354 = 00:00:03.354 = 100%
Global Time = 3.323 = 00:00:03.323 = 100%
---
F:\>timer "c:\Program Files\7-Zip\7z.exe" a -t7z -m0=copy -pHeinzOtto2 test.7z d
:\readme.txt
Timer 3.01 Copyright (c) 2002-2003 Igor Pavlov 2003-07-10
7-Zip [64] 9.22 beta Copyright (c) 1999-2011 Igor Pavlov 2011-04-18
Scanning
Creating archive test.7z
Compressing readme.txt
Everything is Ok
Kernel Time = 0.015 = 00:00:00.015 = 3%
User Time = 0.390 = 00:00:00.390 = 89%
Process Time = 0.405 = 00:00:00.405 = 92%
Global Time = 0.437 = 00:00:00.437 = 100%
F:\>timer "c:\Program Files\7-Zip\7z.exe" t -t7z -m0=copy -pHeinzOtto2 test.7z
Timer 3.01 Copyright (c) 2002-2003 Igor Pavlov 2003-07-10
7-Zip [64] 9.22 beta Copyright (c) 1999-2011 Igor Pavlov 2011-04-18
Processing archive: test.7z
Testing readme.txt
Everything is Ok
Size: 2489
Compressed: 2626
Kernel Time = 0.000 = 00:00:00.000 = 0%
User Time = 0.296 = 00:00:00.296 = 82%
Process Time = 0.296 = 00:00:00.296 = 82%
Global Time = 0.359 = 00:00:00.359 = 100%
Zeit UserTime für Verschlüsselung 256MiB 7z: 3.198 - 0.39 = 2.81s => 91 MiB/s
Zeit UserTime für Entschlüsselung 256MiB 7z: 3.229 - 0.296 = 2.93s => 87 MiB/s
---
edit:
unter Linux x64 (Fedora 17) mit openssl läuft es sogar noch schneller:
[xyz@xxx tmp]$ time openssl enc -aes-256-cbc -e -in ./randfile -out ./randfile-aes -pass pass:OttoHugo3
real 0m3.036s
user 0m2.384s
sys 0m0.632s
[xyz@xxx tmp]$ time openssl enc -aes-256-cbc -d -in ./randfile-aes -out ./randfile-dec -pass pass:OttoHugo3
real 0m4.142s
user 0m2.628s
sys 0m0.532s
Zuletzt bearbeitet:
Crashtest
Redaktion
☆☆☆☆☆☆
- Mitglied seit
- 11.11.2008
- Beiträge
- 9.275
- Renomée
- 1.413
- Standort
- Leipzig
- Mitglied der Planet 3DNow! Kavallerie!
- Aktuelle Projekte
- Collatz, yoyo, radac
- Lieblingsprojekt
- yoyo
- Meine Systeme
- Ryzen: 2x1600, 5x1700, 1x2700,1x3600, 1x5600X; EPYC 7V12 und Kleinzeuch
- BOINC-Statistiken
- Folding@Home-Statistiken
- Mein Laptop
- Lenovo IdeaPad 5 14ALC05
- Prozessor
- Ryzen 7950X / Ryzen 4750G
- Mainboard
- ASRock B650M PGRT / X570D4U
- Kühlung
- be quiet! Dark Rock Pro4 / Pure Rock Slim 2
- Speicher
- 64GB DDR5-5600 G Skill F5-5600J3036D16G / 32 GB DDR4-3200 ECC
- Grafikprozessor
- Raphael IGP / ASpeed AST-2500
- Display
- 27" Samsung LF27T450F
- SSD
- KINGSTON SNVS2000G
- HDD
- - / 8x Seagate IronWolf Pro 20TB
- Optisches Laufwerk
- 1x B.Ray - LG BD-RE BH16NS55
- Soundkarte
- onboard HD?
- Gehäuse
- zu kleines für die GPU
- Netzteil
- be quiet! Pure Power 11 400W / dito
- Tastatur
- CHERRY SECURE BOARD 1.0
- Maus
- Logitech RX250
- Betriebssystem
- Windows 10 19045.4355 / Server 20348.2227
- Webbrowser
- Edge 124.0.2478.51
- Verschiedenes
- U320 SCSI-Controller !!!!
- Internetanbindung
- ▼1000 MBit ▲82 MBit
tja ?
Ähnliche Themen
- Antworten
- 100
- Aufrufe
- 44K
- Antworten
- 29
- Aufrufe
- 13K
- Antworten
- 0
- Aufrufe
- 52K