RIPEMD一般
設計者Hans Dobbertin, Antoon Bosselaers, Bart Preneel
初版発行日1996
認証RIPEMD-160: CRYPTREC(運用監視)
詳細
ダイジェスト長128, 160, 256, 320 bits
RIPEMD 160の圧縮関数のサブブロック
RIPEMD (RACE Integrity Primitives Evaluation Message Digest) は、1996年にルーヴェン・カトリック大学COSIC
(英語版)のHans Dobbertin、Antoon Bosselaers、Bart Preneelによって開発された暗号学的ハッシュ関数である。RIPEMDはMD4の設計原理に基づいたものであり、SHA-1と同程度のパフォーマンスを有している。SHA-1やSHA-2がNSAによって開発されたのと対照的に、RIPEMDはオープンな学術コミュニティによって開発され、特許による制限を受けない。RIPEMD-160は、オリジナルのRIPEMDでは128ビットであるハッシュ長を160ビットにしたうえで改良を加えたものであり、RIPEMDのファミリーの中で最も広く用いられているが、SHA-1ほどは用いられていない。
160ビットだけでなく128、256、320ビットの変種もあり、それぞれRIPEMD-128、RIPEMD-256、RIPEMD-320と呼ばれている。128ビットであるRIPEMD-128は、同じく128ビットでありセキュリティ面での問題点が発見されていたオリジナルのRIPEMDを置き換えることのみを意図したものである。256および320ビットであるRIPEMD-256、RIPEMD-320はハッシュの衝突の可能性を小さくするのみであり、原像攻撃への耐性といったセキュリティレベルはRIPEMD-128やRIPEMD-160と同程度である。
2004年8月に、オリジナルのRIPEMDについてハッシュの衝突が報告された[1]。これはRIPEMD-160などには影響を及ぼさない[2]。 RIPEMD-160によるハッシュ値は、十六進法で40桁となる。以下は、43バイトのASCII文字列を入力とした時のRIPEMD-160によるハッシュ値である。 RIPEMD-160("The quick brown fox jumps over the lazy dog") = 37f332f68db77bd9d7edd4969571ad671cf9dd3b 入力メッセージのわずかな違いも、出力されるハッシュ値には大きな違いをもたらす。d を c に変えた場合には以下のようになる。 RIPEMD-160("The quick brown fox jumps over the lazy cog") = 132072df690933835eb8b6ad0b77e7b6f14acad7 空の入力に対するハッシュ値は以下のようになる。 RIPEMD-160("") = 9c1185a5c5e9fc54612808977ee8f548b2258d31 RIPEMDをサポートしているライブラリは以下の通り。
RIPEMD-160 のハッシュ値
実装ライブラリ
Botan
Bouncy Castle
Cryptlib
Crypto++
Libgcrypt
Mbed TLS
Nettle
OpenSSL
wolfSSL
関連項目
暗号学的ハッシュ関数
脚注^ Xiaoyun Wang (2004年8月17日). “ ⇒Collisions for Hash Functions MD4, MD5, HAVAL-128 and RIPEMD”. 2013年12月28日閲覧。
^ Florian Mendel (2006年). “On the Collision Resistance of RIPEMD-160”. 2014年11月7日閲覧。
外部リンク
⇒RIPEMD-160: A Strengthened Version of RIPEMD (RIPEMD-160 specification and reference implementation)
⇒RIPEMD-160 Ecrypt page
表
話
編
歴
暗号学的ハッシュ関数とメッセージ認証コード
セキュリティ要約(英語版)
一般的関数
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(英語版)
攻撃
衝突攻撃(英語版)
原像攻撃
誕生日攻撃
総当たり攻撃
レインボーテーブル
サイドチャネル攻撃
伸長攻撃(英語版)
差分解読法
設計
アバランシェ効果(英語版)