問題タブ [aes-ni]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - AES_NI を使用するためにいくつかのコードを変更する必要がありますか?
Intel の Web サイトから AES_NI を使用するためのサンプル コードを取得しました。( https://software.intel.com/en-us/articles/download-the-intel-aesni-sample-library )
ただし、設定方法がわかりません。
私がやりたいことは、
- まず、Openssl の AES を使用したコードがあります。
- 元のコードに AES-NI を適用したいと考えています。
- 私は自分のコンピュータが AES-NI をサポートしていることを確認しました。AES-NI を使用して Intel の Web サイトからサンプル コードを実行したところ、動作しました。
- 私の元のコードでは、AES 関数は次のようになります。-> AES_cbc_encrypt(inbuf, outbuf, inlength, key, iv, AES_ENCRYPT);
- AES-NI を使用するインテルのサンプル コードでは、関数は次のようになります。-> intel_AES_enc128_CBC(testVector, testResult, test_key_128, numBlocks, local_test_iv);
AES-NIを使用するために機能を変更するか、他のいくつかを変更するだけで混乱しました。何か助けはありますか?
c - _mm_aeskeygenassist_si128 を使用して参照値を一致させる
Intel SI を使用して EAX を機能させようとしています。https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.197.pdfの論文を使用すると、次の入力キーがあります。
そして、次のように見える2番目の拡張キーを一致させようとしています:
オンラインから Intel 組み込み関数を使用してさまざまなスニペットを取得しました。それらはすべて異なる値に収束します。
私が使用しているサンプルスニペットは次のとおりです。
_mm_aeskeygenassist_si128 のドキュメントを読んでも、それを使用してラウンド キーを生成する方法がよくわかりません。一致しないラウンド キーを生成するように見えるさまざまな実装にさらに混乱しています。 AES 仕様。
和解する方法についてのアイデアはありますか?ありがとう!