whirlpool
「heartwarming」とは
「heartwarming」とは、感動的である、または心を温めるような感情を引き起こす何かを指す英語の形容詞である。映画や物語、出来事など、人々の心を暖かくし、喜びや慈悲などの感情を喚起するものを表すのによく使われる。例えば、「heartwarming story」は心温まる物語を意味し、「heartwarming scene」は感動的な場面を指す。「heartwarming」の発音・読み方
「heartwarming」の発音は、IPA表記では /ˈhɑːrtˌwɔːrmɪŋ/ となる。IPAのカタカナ読みでは「ハートウォーミング」となる。日本人が発音するカタカナ英語では「ハートウォーミング」と読む。この単語は発音によって意味や品詞が変わるものではない。「heartwarming」の定義を英語で解説
「heartwarming」は、"causing feelings of happiness and pleasure"と定義される。つまり、幸福感や喜びを引き起こすものを指す。この単語は、人々が共感し、感動するような状況や出来事を表現するのに適している。「heartwarming」の類語
「heartwarming」の類語としては、「touching」、「moving」、「inspiring」などがある。これらの単語もまた、人々の心に深く響き、感動を与えるような事象を表すのに使われる。「heartwarming」に関連する用語・表現
「heartwarming」に関連する表現としては、「heartwarming story」(心温まる物語)、「heartwarming moment」(感動的な瞬間)、「heartwarming scene」(感動的な場面)などがある。これらの表現は、人々の心を動かす、感動的なエピソードや場面を描写するのに用いられる。「heartwarming」の例文
以下に、「heartwarming」を用いた例文を10例示す。 1. It was a heartwarming story that brought tears to my eyes.(それは私の目に涙を誘う心温まる物語であった。)2. The heartwarming scene of the reunion moved everyone.(再会の心温まる場面には誰もが感動した。)
3. The heartwarming moment when the child met his mother was captured on camera.(子供が母親に会う感動的な瞬間がカメラに捉えられた。)
4. The heartwarming act of kindness was praised by everyone.(その心温まる優しさの行為は皆から称賛された。)
5. The heartwarming movie made everyone in the theater cry.(その心温まる映画は劇場の全員を泣かせた。)
6. The heartwarming speech by the principal touched all the students.(校長の心温まるスピーチは全ての生徒を感動させた。)
7. The heartwarming letter from a fan made the actor's day.(ファンからの心温まる手紙が役者の一日を明るくした。)
8. The heartwarming gesture of the stranger restored my faith in humanity.(見知らぬ人の心温まる行動が私の人間への信頼を取り戻させた。)
9. The heartwarming story of the rescue dog was shared widely on social media.(救助犬の心温まる物語はソーシャルメディアで広く共有された。)
10. The heartwarming support from the community helped the family in their time of need.(コミュニティからの心温まる支援が困難な時期に家族を助けた。)
ジェット噴流バス whirlpool
Whirlpool (ハッシュ関数)
(Whirlpool から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2016/01/10 00:48 UTC 版)
一般 | |
---|---|
設計者 | フィンセント・ライメン, Paulo S. L. M. Barreto |
初版発行日 | 2000 |
派生元 | Square, AES |
認証 | NESSIE |
詳細 | |
ダイジェスト長 | 512 bits |
構造 | en:Miyaguchi-Preneel |
ラウンド数 | 10 |
最良の暗号解読法 | |
In 2009, a en:The Rebound Attack was announced that presents full collisions against 4.5 rounds of Whirlpool in 2120 operations, semi-free-start collisions against 5.5 rounds in 2120 time and semi-free-start near-collisions against 7.5 rounds in 2128 time.[1] |
Whirlpool(すべて大文字でWHIRLPOOLと綴られることもある)は、暗号学的ハッシュ関数の一つである。AESに採用されたブロック暗号であるRijndaelの設計者の一人であるフィンセント・ライメンと、Paulo S. L. M. Barretoによって2000年に設計された。WhirlpoolはヨーロッパのNESSIEプロジェクトにおいて推奨ハッシュ関数の一つに採用された他、国際標準化機構 (ISO)および国際電気標準会議 (IEC)によって国際規格ISO/IEC 10118-3として標準化されている。
設計
Whirlpoolは、ブロック暗号であるSquareに続いて設計されたハッシュ関数である。Whirlpoolは、かなり改変されたRijndaelに基づくen:Miyaguchi-Preneel構造を有している。2256 未満の長さのメッセージに対して512ビットのハッシュを返す[3]
設計者によれば、Whirlpoolは特許でカバーされておらず、将来カバーされることもない。いかなる目的においても無料で利用できる[2]。
バージョンの変遷
現在Whirlpoolには3つのバージョンが存在する。オリジナルのWhirlpoolは Whirlpool-0、一度目の改訂版は Whirlpool-T、最新版は単に Whirlpool と区別される。ほとんどの場合は、最も新しい2003年の再改訂版が用いられる。この版ではそれ以前の版で発見された脆弱性が修正されており、ハードウェア実装も容易である。ISO/IEC 10118-3で標準化されているのもこの再改訂版である。
これらの違いは以下の通りである。
- Whirlpool-0
- 2000年のオリジナル。
- Whirlpool-T
- 2001年の改訂版。Sボックスが、ランダムに生成されるものから暗号学的により良いものに変更され、ハードウェアでの実装が容易となった。
- Whirlpool
- 2003年の再改訂版。アルゴリズムのセキュリティを低下させるMDSマトリックスの欠陥が発見された[4]。8x8のローテートマトリックス定数を (1, 1, 3, 1, 5, 8, 9, 5) から (1, 1, 4, 1, 8, 5, 2, 9) に変更することで問題を解決した。
内部構造
Whirlpoolハッシュ関数は、en:Miyaguchi-PreneelモードのRijndaelに類似のブロック暗号 W に基づくMerkle-Damgård constructionである[2]。ブロック暗号 W は、8×8の状態マトリックス を持ち、総計512ビットとなる。暗号化プロセスは、4つのラウンド関数によって状態が更新され、それが10ラウンドから構成される。4つのラウンド関数は、SubBytes (SB)、ShiftColumns (SC)、MixRows (MR)、AddRoundKey (AK)である。1ラウンドでの計算は以下の通りとなる。
.
- SubBytes
- SubBytes操作は状態の各バイトを独立に非線形置換(Sボックス)を行う。8ビットのSボックスは、3つの4ビットのSボックスから成る。
- ShiftColumns
- 状態の各カラムの循環シフトを行う。カラム j の各バイトは j だけシフトされる。
- MixRows
上で、各列と8×8マトリックスの乗算を行う。8×8マトリックスは枝数が最大の9となるよう選ばれる(差分解読法への耐性)。
- AddRoundKey
- XORビット演算にて現在の状態に鍵スケジュールから計算された鍵を加える。鍵スケジュールは、AddRoundKey関数がAddRoundConstant関数(ラウンドごとに決められた定数を加える)に置き換えられている点以外は暗号化そのものと本質的に同じである。
ハッシュ値の例
Whirlpool-0("The quick brown fox jumps over the lazy dog") =
4F8F5CB531E3D49A61CF417CD133792CCFA501FD8DA53EE368FED20E5FE0248C3A0B64F98A6533CEE1DA614C3A8DDEC791FF05FEE6D971D57C1348320F4EB42D
Whirlpool-T("The quick brown fox jumps over the lazy dog") =
3CCF8252D8BBB258460D9AA999C06EE38E67CB546CFFCF48E91F700F6FC7C183AC8CC3D3096DD30A35B01F4620A1E3A20D79CD5168544D9E1B7CDF49970E87F1
Whirlpool("The quick brown fox jumps over the lazy dog") =
B97DE512E91E3828B40D2B0FDCE9CEB3C4A71F9BEA8D88E75C4FA854DF36725FD2B52EB6544EDCACD6F8BEDDFEA403CB55AE31F03AD62A5EF54E42EE82C3FB35
入力メッセージのわずかな違いも、出力されるハッシュ値に大きな変化を及ぼす。例えば、 "dog" を "eog" とした場合:
Whirlpool-0("The quick brown fox jumps over the lazy eog") =
228FBF76B2A93469D4B25929836A12B7D7F2A0803E43DABA0C7FC38BC11C8F2A9416BBCF8AB8392EB2AB7BCB565A64AC50C26179164B26084A253CAF2E012676
Whirlpool-T("The quick brown fox jumps over the lazy eog") =
C8C15D2A0E0DE6E6885E8A7D9B8A9139746DA299AD50158F5FA9EECDDEF744F91B8B83C617080D77CB4247B1E964C2959C507AB2DB0F1F3BF3E3B299CA00CAE3
Whirlpool("The quick brown fox jumps over the lazy eog") =
C27BA124205F72E6847F3E19834F925CC666D0974167AF915BB462420ED40CC50900D85A1F923219D832357750492D5C143011A76988344C2635E69D06F2D38C
空の入力に対するハッシュ値の例:
Whirlpool-0("") =
B3E1AB6EAF640A34F784593F2074416ACCD3B8E62C620175FCA0997B1BA2347339AA0D79E754C308209EA36811DFA40C1C32F1A2B9004725D987D3635165D3C8
Whirlpool-T("") =
470F0409ABAA446E49667D4EBE12A14387CEDBD10DD17B8243CAD550A089DC0FEEA7AA40F6C2AAAB71C6EBD076E43C7CFCA0AD32567897DCB5969861049A0F5A
Whirlpool("") =
19FA61D75522A4669B44E39C1D2E1726C530232130D407F89AFEE0964997F7A73E83BE698B288FEBCF88E3E03C4F0757EA8964E59B63D93708B138CC42A66EB3
実装
設計者によって、C言語およびJavaで書かれたレファレンス実装がパブリックドメインで公開されている[2]。
Whirlpoolが用いられているアプリケーションの代表例としては、ディスク暗号化ソフトウェアであるFreeOTFEやTrueCrypt、VeraCryptが挙げられる。
関連項目
- タイムスタンプ
- Hashcash
脚注
- ^ Florian Mendel1, Christian Rechberger, Martin Schläffer, Søren S. Thomsen (2009-02-24). “Cryptanalysis of Reduced Whirlpool and Grøstl”. Fast Software Encryption: 16th International Workshop 2014年1月4日閲覧。
- ^ a b c d “The Whirlpool Hash Function”. 2014年1月4日閲覧。
- ^ Paulo S.L.M. Barreto and Vincent Rijmen (2003) (PDF). The WHIRLPOOL Hashing Function.
- ^ Kyoji, Shibutani and Shirai, Taizo (2003) (PDF). On the diffusion matrix employed in the Whirlpool hashing function 2014年1月4日閲覧。.
外部リンク
- Whirlpool homepage Includes detailed algorithm information, C and Java implementations, the paper, etc.
- Perl Whirlpool module at CPAN
- Ruby Whirlpool library
- The ISO/IEC 10118-3 standard
- Test vectors for the Whirlpool hash from the NESSIE project
|
ワールプール
ワールプール(Whirlpool)は英語で「うずまき」のこと。
- 東京ディズニーシーのアトラクション。⇒東京ディズニーシーのアトラクション#ワールプールを参照。
- ワールプール・コーポレーション - アメリカ合衆国の電機メーカー。
- Whirlpool (ゲームブランド) - 日本のアダルトゲームブランド。
- Whirlpool (ハッシュ関数) - 暗号学的ハッシュ関数。
関連項目
- うずしお - 曖昧さ回避
Whirlpool
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2016/01/10 00:48 UTC 版)
「Whirlpool (ハッシュ関数)」の記事における「Whirlpool」の解説
2003年の再改訂版。アルゴリズムのセキュリティを低下させるMDSマトリックス(英語版)の欠陥が発見された。8x8のローテートマトリックス定数を (1, 1, 3, 1, 5, 8, 9, 5) から (1, 1, 4, 1, 8, 5, 2, 9) に変更することで問題を解決した。
※この「Whirlpool」の解説は、「Whirlpool (ハッシュ関数)」の解説の一部です。
「Whirlpool」を含む「Whirlpool (ハッシュ関数)」の記事については、「Whirlpool (ハッシュ関数)」の概要を参照ください。
- Whirlpoolのページへのリンク