FF1
詳細情報
- 開発者
- Mihir Bellare、Phillip Rogaway、Terence Spies(FFX)
- 発売年
- 2016年
- 種類
- 形式保持暗号のモード
- 仕様
- NIST SP 800-38G
数値や文字列を暗号化しても、結果が入力と同じ長さ・同じ文字集合に収まるようにする、NIST標準の方式。
内部は、AESベースのラウンド関数を使った10ラウンドの不均衡ファイステルネットワークである。入力を任意の基数(10桁の数字、26文字のアルファベットなど、欄に入るもの何でも)の2つの半分に分け、各ラウンドでAESの出力をその基数を法として加える。任意の長さのtweakも混ぜ込まれるので、同じカード番号でもテーブルごとに異なる暗号文になる。
FF1は2010年にBellare、Rogaway、Spiesが提案したFFXに由来し、2016年にSP 800-38Gとして標準化された。弱点は小さな定義域だ。4桁の欄は取りうる値が1万通りしかなく、ここまで小さいと対応表だけで十分に通用する。そのため2019年の改訂案は、入力の取りうる値を100万通り以上とするよう求めている。PINコードをこの方式で守ろうとする人は、何かを誤解している。