CLMUL instruction set
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2016/10/16 03:00 UTC 版)
CLMUL instruction set(Carry-less Multiplication instruction set、CLMUL、あるいはPCLMULQDQとも)は、インテルおよびAMDのマイクロプロセッサに用いられているx86命令セットである。2008年にインテルによって提唱され[1]、2010年のWestmereプロセッサから利用可能となった。この命令セットの目的は、有限体上での乗法に基づいた、ブロック暗号の暗号利用モードの一つであり認証付き暗号であるGalois/Counter Modeの高速化である。CLMULによって、従来の命令セットと比較してGF(2k) の有限体上での乗法をより効率的に[2]実装することができる[3]。もう一つの目的は、CRCの計算の高速化である[4]。
命令一覧
Instruction | Description |
---|---|
PCLMULQDQ |
GF(2) 有限体上での2つの64ビット多項式のキャリーなし乗算 |
PCLMULLQLQDQ xmmreg,xmmrm [rm: 66 0f 3a 44 /r 00] PCLMULHQLQDQ xmmreg,xmmrm [rm: 66 0f 3a 44 /r 01] PCLMULLQHQDQ xmmreg,xmmrm [rm: 66 0f 3a 44 /r 02] PCLMULHQHQDQ xmmreg,xmmrm [rm: 66 0f 3a 44 /r 03] PCLMULQDQ xmmreg,xmmrm,imm [rmi: 66 0f 3a 44 /r ib]
CLMULを実装したCPU
CLMUL命令セットへの対応の有無は、CPUIDで確認することが可能である。
関連項目
脚注
- ^ “How to Compile for Intel(R) AVX”. Intel (2012年8月2日). 2016年10月16日閲覧。
- ^ “Intel Carry-Less Multiplication Instruction and its Usage for Computing the GCM Mode - Rev 2”. 2013年12月23日閲覧。
- ^ Detailed description of instructions on Intel website
- ^ “Fast CRC Computation for Generic Polynomials Using PCLMULQDQ (PDF)”. Intel Corporation. 2016年10月16日閲覧。
「CLMUL instruction set」の例文・使い方・用例・文例
- CLMUL_instruction_setのページへのリンク