鍵付きハッシュ関数の一種であるuniversal hashing
、特にpairwise independentという性質を持つハッシュ関数は、鍵を一回ごとに使い捨てにするならば、安全なメッセージ認証符号として使うことができる。これは、暗号化におけるワンタイムパッドのMAC版と考えることができる[4]。Pairwise independentという性質は、鍵 k {\displaystyle k} を知らないならば、ある m {\displaystyle m} のハッシュ値 h a s h k ( m ) {\displaystyle hash_{k}(m)} が分かったとしても、別のメッセージ m ′ ( ≠ m ) {\displaystyle m'(\neq m)} のハッシュ値 h a s h k ( m ′ ) {\displaystyle hash_{k}(m')} を推測できないという性質である。このような性質を持つハッシュ関数は、次のように簡単に作れる。素数 p {\displaystyle p} に対して鍵を k = ( a , b ) {\displaystyle k=(a,b)} としたとき、 メッセージ m {\displaystyle m} のハッシュ値(MACにおけるタグ)は、 h a s h k ( m ) = a m + b mod p {\displaystyle hash_{k}(m)=am+b\mod p} である。 応用例として、MACはSSH2においてトランスポート層のデータ一貫性を確保するために使用されている。MACの検証に用いる共通鍵は、通信の暗号化、復号に用いるセッション鍵と同様に、セッション開始時にディフィー・ヘルマン鍵共有によって生成された共有秘密からハッシュ関数によって生成される。実際に通信が始まったら、SSHプログラムは受信したパケットを復号したあと、MACと計算値を比較することでデータの完全性を検証している。[5]
例
脚注^ ⇒IEEE 802.11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications ((2007 revision) ed.). IEEE-SA. (12 June 2007). doi:10.1109/IEEESTD.2007.373646
^ ⇒Fred B Schneider, Hashes and Message Digests, Cornell University
^ ⇒“VMAC: Message Authentication Code using Universal Hashing”. CFRG Working Group. ⇒http://www.fastcrypto.org/vmac/draft-krovetz-vmac-01.txt 2010年3月16日閲覧。.
^ Simmons, Gustavus (1985). “Authentication theory/coding theory”. Advances in Cryptology: Proceedings of CRYPTO 84. Berlin: Springer. pp. 411?431
^ “ ⇒rfc4251”. 2011年10月1日閲覧。 “ ⇒rfc4253”. 2011年10月1日閲覧。
関連項目
チェックサム
HMAC
認証付き暗号 (AEAD)
外部リンク
RSA FAQ's entry on MACs
⇒Ron Rivest lecture on MACs
表
話
編
歴
暗号学的ハッシュ関数とメッセージ認証コード
セキュリティ要約(英語版)
一般的関数
MD5
SHA-1
SHA-2
SHA-3/Keccak
SHA-3最終候補(英語版)
BLAKE
Grostl(英語版)
JH(英語版)
Skein(英語版)
Keccak (勝者)
その他の関数
FSB(英語版)
ECOH(英語版)
GOST(英語版)
HAS-160(英語版)
HAVAL(英語版)
Kupyna(英語版)
LMハッシュ
MDC-2(英語版)
MD2
MD4
MD6(英語版)
N-Hash(英語版)
RadioGatun
RIPEMD
SipHash(英語版)
Snefru(英語版)
Streebog(英語版)
SWIFFT(英語版)
Tiger(英語版)
VSH(英語版)
WHIRLPOOL
crypt(3)(英語版) (DES)
MACアルゴリズム
DAA(英語版)
CBC-MAC
HMAC
OMAC(英語版)/CMAC
PMAC(英語版)
VMAC(英語版)
UMAC(英語版)
Poly1305
認証付き暗号モード
CCM
CWC(英語版)
EAX(英語版)
GCM
IAPM(英語版)
OCB(英語版)