1.2. Background (背景)
1.2. Background (背景)
[RFC4226] で定義されているように, HOTP アルゴリズムは HMAC-SHA-1 アルゴリズム ([RFC2104] で規定) に基づいており, HMAC 計算でメッセージを表す増加するカウンター値に適用されます。
基本的に, HMAC-SHA-1 計算の出力は, ユーザーフレンドリーな値を取得するために切り捨てられます:
HOTP(K,C) = Truncate(HMAC-SHA-1(K,C))
ここで, Truncate は HMAC-SHA-1 値を HOTP 値に変換できる関数を表します。K と C は共有秘密とカウンター値を表します; 詳細な定義については [RFC4226] を参照してください。
TOTP はこのアルゴリズムの時間ベースの変形であり, 時間参照とタイムステップから導出される値 T が, HOTP 計算のカウンター C を置き換えます。
TOTP 実装は, [RFC4226] で HOTP 計算に指定されている HMAC-SHA-1 関数の代わりに, SHA-256 または SHA-512 [SHA2] ハッシュ関数に基づく HMAC-SHA-256 または HMAC-SHA-512 関数を使用してもよい (MAY)。