例:x86 are Instruction Set to hardware acceleration AESです。しかし、SHA(SHA1/2/256/512)エンコーディングを加速するためのx86命令はありますか?また、x86上でSHAをエンコードするためのファセットはどのライブラリですか?SHA(SHA1/2/256/512)エンコーディングを高速化するための指示がx86にありますか?
答えて
SHA(SHA1/2/256/512)エンコーディングを高速化する手順はx86にありますか?
これは2016年11月です。答えはついてはいです。しかし、その唯一のSHA-1とSHA-256(そして拡張によって、SHA-224)。
Intel CPUs with SHA extensions最近市場に出た。それはGoldmont microarchitectureあるサポートするプロセッサのようになります。
- ペンティアムJ4205(デスクトップ)
- ペンティアムN4200(モバイル)
- はCeleron J3455(デスクトップ)
- はCeleron J3355(デスクトップ)
- はCeleron N3450 (モバイル)
- セレロンN3350(モバイル)
Iアーキテクチャーやプロセッサー番号のあるマシンではAmazonの製品を見ていたが、まだ(まだ)入手できなかった。私は信じている
HP
エイサーはペンティアムN4200のノートPCを1台持っていて、テストのニーズを満たす
11月2016
12月2016年12月に利用できると見込んでいます。
SHA-1、SHA-224、SHA-256の技術的な詳細については、カーネル暗号メーリングリストのcrypto: arm64/sha256 - add support for SHA256 using NEON instructionsを参照してください。簡単な答えは、SHA-256より上では、物事は容易に並列化できないということです。
あなたはNoloader GitHub | SHA-Intrinsicsの両方でインテルSHA組み込み関数とARMv8 SHA組み込み関数のソースコードを見つけることができます。これらはCソースファイルで、SHA-1、SHA-224、およびSHA-256の圧縮機能を提供します。イントリンシックベースの実装では、SHA-1では約3倍から4倍、SHA-224およびSHA-256では約6倍から12倍のスループットが向上します。
私はそのリンクのSHA-512について議論しましたが、 "512"のテキスト検索で何も見つかりませんでした。あなたは何の話をしていましたか?また、インテルがハードウェアで実装できるソフトウェアに関連するソフトウェアと通常のスカラーまたはSIMD整数命令(つまり、このパッチのほとんどまたは全部)でできることは何ですか?または、ベクトルレジスタがまだ512b幅に対応していないという事実はありますか? (私は本当にSHAの仕組みを知らない) –
@Peter - Andy Polyakovのコメントをチェックする。彼は私がそれをパラフレーズするよりもはるかに優れた説明をしてくれます。 – jww
OpenSSLでサポートされています:[crypto/sha/asm/sha1-x86_64.pl](https://github.com/openssl/openssl/blame/5071824/crypto/sha/asm/sha1-x86_64.pl#を参照してください) L388) –
OpenSSL のようなオープンソースを試してみましょう私は個人的にMD5のハッシュ関数を使用していて、かなりうまく機能しています。 hashlib2++もご覧ください。
私が知る限り、インテルはSHA-1または2の専用命令セットを作成していません。彼らはCodesInChaosのような今後のアーキテクチャではコメントに示されるかもしれません。ほとんどのハッシングアルゴリズムの主なコンポーネントは、既に命令セットに含まれているXOR演算です。
Intel Skylake microarchitectureが2015に到着すると、「インテルはSHA-1または2の専用命令セットを作成していません。 SHA1/256ハッシュの計算を高速化するためのIntel has upcomming instructions。
あなたは、あなたのCPUは、それらをサポートするかどうかを検出する方法、それらについての詳細を読んで、どのように彼らにhereを使用することができます。 Skylakeが到着するまで、C/C++プログラマはおそらくOpenSSLを使用するのが最も良いでしょう。
- 1. Intel x86命令のエンコーディングを見るためのツールがありますか?
- 2. SQLiteフェッチを高速化する方法はありますか?
- 3. x86コードをLLVMで再コンパイルしてより高速なものにするx86
- 4. 検索を高速化するためのチェックサムが良い
- 5. 1.6のためのAndroidの高速化
- 6. 次のSQLは実行に時間がかかります。それを高速化するためにとにかくありますか?
- 7. 画像表示を高速化する
- 8. ApacheでのSHA-2認証の高速化も可能ですか?
- 9. C#ネットワーク上の高速MD5/SHAハッシュ
- 10. 実行を高速化するために物理ディスクをエミュレートしますか?
- 11. 行単位の操作を高速化する必要があります
- 12. このクエリを高速化する方法はありますか?
- 13. この機能を高速化する可能性はありますか?
- 14. HalfEdge Meshの.objファイルローダーを高速化する方法はありますか?
- 15. grepを高速化するためのLC_ALL = Cの含意
- 16. MySQL 5.6以降でクエリを高速化するためのインデックスカラム
- 17. キーボードの読み取りを高速化するためのBIOSの編集
- 18. SDL for C++の代わりに、より高速でオブジェクト指向の代替手段がありますか?
- 19. これを高速化する方法はありますか? MemoryStream vs FileStream
- 20. jquery/javascriptでimgスワップを高速化する方法はありますか?
- 21. x86バイナリコードを最適化するライブラリはありますか?
- 22. どのようにこのLINQ文を高速化するために最適化できますか?
- 23. エフェクトをコーディングするために、JavaScriptがJavascriptよりどれだけ高速であるかに関する測定がありましたか?
- 24. SSLトラフィックを解読するための良い指示はありますか?
- 25. データベースを高速化する
- 26. sqlFetch()を高速化する
- 27. コアデータフェッチを高速化する
- 28. UIPageViewControllerを高速化する
- 29. 高速バルク挿入のためにまともな方法を提供するORMはありますか?
- 30. 関数を高速化するためにループを算術に変換する
http://software.intel.com/en-us/articles/improving-the-performance-of-the-secure-hash-algorithm-1 – alexbuisson
これを閉じるに投票した人は、必ず間違い? – TonyK
@ TonyKおそらく、*最も速い図書館を求める質問のために、これは恐喝された反応を引きつけるでしょう。問題のその部分は答えられません。 – IInspectable