Desidero sapere se esiste un modo per verificare la presenza dello di AES-NI nella CPU del sistema host da C# .NET.Test per istruzioni AES-NI da C#
Lasciatemi dire fin da subito che questa domanda è non chiedendo su come uso AES-NI da .NET. Risulta semplicemente utilizzando AESCryptoServiceProvider
utilizzerà AES-NI se è disponibile. Questo risultato si basa su benchmark indipendenti che ho confrontato con le prestazioni dello AESCryptoServiceProvider
rispetto ai benchmark forniti in TrueCrypt, che supporta infatti AES-NI. I risultati erano sorprendentemente simili su entrambe le macchine con e senza AES-NI.
Il motivo per cui voglio verificarlo è poter indicare all'utente che il proprio computer supporti AES-NI. Questo sarebbe rilevante dal momento che ridurrebbe gli incidenti di supporto che riguardano domande come "ma il mio amico ha anche un Core i5 ma il suo è molto più veloce!" Se l'interfaccia utente del programma potrebbe indicare all'utente che il proprio sistema supporta o non supporta AES-NI, sarebbe anche possibile indicare che "le prestazioni più lente sono normali poiché questo sistema non supporta AES-NI."
(possiamo ringraziare Intel per tutta la confusione con diverse stepping del processore! :-))
C'è un modo per rilevare queste informazioni, magari attraverso WMI?
Non so la risposta, ma il primo posto che guarderei sarebbe anche una chiamata WMI del sistema operativo. –
A differenza dei siti di forum, non utilizziamo "Grazie" o "Qualsiasi aiuto apprezzato" o firme su [so]. Vedi "[Se 'Hi', 'thanks', tagline e saluti saranno rimossi dai post?] (Http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be -removed-from-posts) –
Notato per il futuro – fdmillion