NIST SP 800-108
一つの秘密からHMACやCMACなどの疑似乱数関数を使って複数の鍵を導出する方法を定めたNISTの勧告。
SP 800-108はカウンタモード、フィードバックモード、二重パイプライン反復の3方式を定める。いずれもカウンタ、ラベル、コンテキストをPRFに入力し、出力を必要な長さに切り詰める。ラベルによって用途が分離されるため、暗号化鍵とMAC鍵が同一になることはない。
標準文書は無味乾燥だが、それが利点でもある。hash(secret + label)式の自作KDFは一見まともに見えても、標準が受けてきた検証を経ていない。可能なら既製のものを使うのが賢明だ。