]c,|���"��_��z��H�+�Ř��8*%;��t&�\d3�(ؕ�_&�i���5F�\��ɧ&�|���������D�����j 0000004245 00000 n 0000002541 00000 n bcrypt(ビー・クリプト)はNiels ProvosとDavid Mazièresによって設計された1999年にUSENIXにて公開された、Blowfish暗号を基盤としたパスワードハッシュ化関数である 。 レインボーテーブル攻撃に対抗するためにソルトを組み込んでいる以外に、bcryptは適応的な特性を備えている。 オリジナルの仕様では接頭辞が $2$であると定義されていた。これはOpenBSDのpasswordファイルにパスワードを格納するために使われるModular Crypt Format[14]フォーマットにしたがっている: オリジナルの仕様ではASCII以外の文字やnull終端をどのように扱うべきかの定義がなかった。このバージョンの仕様では文字列のハッシュ化について定義され改訂された: 2011年6月に、BCryptのPHP実装であるcrypt_blowfishの中でバグが発見された。8ビット文字列の扱いを間違っていた[16]のが原因であった。システムの管理者は既存のパスワードデータベースを開き、$2a$を$2x$に更新することで、既存の間違ったハッシュアルゴリズムを明示的に使い続けていることを示すことを提案した。それ以外にも、修正されたアルゴリズムで生成されたハッシュ値で示すために、crypt_blowfishが接頭辞として$2y$ を出力するアイディアを提案した。, 標準的なOpenBSDを含むどのディストリビューションも2x/2yのアイディアを採用しなかった。このバージョンマーカーの変更はcrypt_blowfish.に限定された。, バグがOpenBSDのbcrypt実装で発見された。これは8ビットのバイトであるunsigned charに長さを格納をしていたのが原因である[15]。パスワード長として255文字を越えると、オーバーフローして長さが255にまるめられてしまった[17]。, BCryptはOpenBSDのために作られた。OpenBSDのライブラリでバグが発見された時はバージョン番号が更新されることが決定される。. 0000211473 00000 n 0000031022 00000 n SHA-2は、Secure Hash Algorithmシリーズの暗号学的ハッシュ関数で、SHA-1の改良版である。アメリカ国家安全保障局によって設計され、2001年にアメリカ国立標準技術研究所によって連邦情報処理標準 PUB 180-4として標準化された。, SHA-2には、前身のSHA-1から多くの改良が加えられている。それ以前のハッシュ関数は出力が固定長で強度もその長さによって決まる値に固定されていたが、SHA-2はSHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256の6つのバリエーションを持ち、ハッシュ長は224、256、384、512ビットのいずれかである。, SHA-256とSHA-512は、それぞれ32ビット、64ビットのワード長から計算されるハッシュ関数である。シフト量と追加定数が異なるが、構造自体は本質的に同一であり、ラウンド数のみが異なる。SHA-224とSHA-384は、それぞれSHA-256とSHA-512を単純に切り詰めたバージョンであり、初期値のみが異なる。SHA-512/224とSHA-512/256は、SHA-256ではなくSHA-512を切り詰めたバージョンである。SHA-2シリーズは US 6829355  によってカバーされているが、アメリカ合衆国は、この特許をロイヤリティフリーで開放している[3]。, 2004年にMD5とSHA-0の強衝突耐性が突破され、SHA-1も攻撃法の研究が進む、といった事態が起きたため、それら強度が低下した関数の非推奨化といった「過去を向いた対策」と同時に、新たな構造を持つようなSHA-3の公募などといった「未来を向いた対策」も進められたが、SHA-2にはSHA-1と類似する点もあるものの、後述するように当時憂慮されたような事態にはなっていない(2015年6月現在)ため、SHA-3をSHA-2の代替とするような動きは無い。, 2014年1月現在、SHA-1に有効な攻撃をSHA-2に拡張することは達成されていない。原像攻撃ではSHA-256にて52ラウンドまで、SHA-512にて57ラウンドまで、衝突攻撃ではSHA-256の46ラウンドまでが最良の攻撃法である[1][2]。, SHA-2は、日本のCRYPTRECおよびヨーロッパのNESSIEにおいて、推奨暗号として採用されている。, FIPS PUB 180-2において、3つのハッシュ関数がSHAシリーズに追加された。これらは出力されるハッシュ長のビット数からそれぞれSHA-256、SHA-384、SHA-512と呼ばれ、SHA-2と総称される。, アルゴリズムは2001年のFIPS PUB 180-2の草稿にて発表され、レビューやコメントが寄せられた。2002年8月、FIPS PUB 180-2は新たな標準 "Secure Hash Standard" として認定され、1995年に制定されたFIPS PUB 180-1を置き換えた。FIPS PUB 180-2には、180-1で規定されたSHA-1も含まれている[4]。, 2004年2月、FIPS PUB 180-2のChange Noticeとして、鍵を2つ用いるトリプルDESの鍵長に合うように定義されたSHA-224が追加された[5]。2008年10月、FIPS PUB 180-3が制定されたが、これはSHA-224をChange Noticeから標準自体に取り込むほかには本質的な変化はなかった。この更新は、ハッシュ関数のセキュリティ情報の更新と、これらSHA-2をSpecial Publications 800-107および800-57において使用することを推奨するためのものであった[6][7][8]。詳細なテストデータとハッシュの例が標準から除去され、別文書とされた[9]。, 2011年1月、NISTはSP800-131Aを発表した。これは、連邦政府組織におけるセキュリティ強度の下限について、それまでの80ビット(SHA-1によって得られる強度)の使用を2013年末までに限定し、それ以降は112ビット(SHA-224によって得られる強度)を下限とするものである[10]。, 2012年3月、FIPS PUB 180-4が制定され、SHA-512を切り詰めたバージョンとしてSHA-512/224とSHA-512/256が追加された。また、入力データのパディングをハッシュ計算の前に行なうこととしていた制限が撤廃され、リアルタイムでの音声や映像などにおけるハッシュ計算をコンテンツ生成と同時に行うことが可能となった。最終ブロックのパディングのみは、引き続きハッシュ出力の前に行なうこととされている[11]。, 2012年7月、NISTは暗号鍵管理に関するガイドラインであるSP800-57を改訂した。これは、2007年版において112ビット未満の電子署名の生成を2010年末までとしていたものを2013年までに変更するものである[8]。2012年8月にはSP800-107にも同様の変更がなされた[7]。, NISTは2012年に、かねてからコンペティションを進行させていたSHA-3の選出を行った[12]。コンペティションの趣旨により(詳細はSHA-3の記事などを参照)SHA-3はSHA-2(およびそれ以前の関数)とは類似しないものになっている。, SHA-2ハッシュ関数は、TLS/SSL、OpenPGP、SSH、S/MIME、IPsec、Bitcoinといった広く使われているアプリケーションやプロトコルで利用されている。SHA-256は、Debian GNU/Linuxのソフトウェアパッケージの認証[13]や、DKIMにおけるメッセージ署名標準として利用されている。SHA-512は、ルワンダ国際戦犯法廷におけるビデオアーカイブの認証に用いられている[14]。SHA-256およびSHA-512は、DNSSECでの利用が提唱されている[15]。UnixやLinuxのベンダーでは、パスワードの安全なハッシュ法としてSHA-256やSHA-512への移行を始めている[16]。, SHA-1とSHA-2は、アメリカ合衆国において機密情報を扱う際に法律によって要求されるハッシュアルゴリズムの一つである。FIPS 180-1では、SHA-1を私的にあるいは商業で用いることも推奨している。SHA-1は合衆国政府での利用はほぼ終了しており、NISTでは「連邦組織は、電子署名、タイムスタンプ、衝突への耐性を必要とするアプリケーションでのSHA-1の利用を可及的速やかに中止すべきである。2010以降はSHA-2を利用すべきである」としている[17]。, SHA-2はセキュリティ的にSHA-1より優れているものの、SHA-1ほど広くは用いられていない。その理由として、Microsoft Windows XPのSP2以前がSHA-2をサポートしていないこと[18]や、SHA-1において実際の衝突が発見されていなかったために緊迫感に欠けたことが挙げられる。ただし後者については、2017年に2月23日にGoogleとオランダの研究機関CWI Instituteが共同で2つの異なるファイルから同じSHA-1ハッシュ値を生成する衝突に成功した。[19], また、Windows XPのサポート終了などの背景から、公的機関でのSHA-1の使用を原則的に終了する動きがあり、民間のウェブサイトでもSHA-2へ移行するケースが出始めた(詳細はSHA-1#概要を参照)。, ハッシュ長が L ビットであるハッシュ関数において、与えられた特定のハッシュに対応する元のメッセージを見つけることは、総当たり攻撃では 2L の試行で可能である。これは原像攻撃と呼ばれる。一方、同じハッシュを与える2つの異なるメッセージを見つけることは衝突攻撃と呼ばれ、およそ 2L / 2 の試行で可能である。, SHA-3選定におけるハッシュ関数の解析への興味の増加によって、SHA-2への新しい攻撃が報告されている。最良の攻撃法を下のテーブルに示す。現時点では衝突攻撃のみが現実的な可能性を有しているが、フルバージョンのSHA-2に対する攻撃は成功していない。 0000036030 00000 n 0000028580 00000 n 72 74 <]/Prev 881953>> 0000018154 00000 n 0000016620 00000 n 0000014570 00000 n 0000029382 00000 n V�e�A�`1&�)� 2�,����������z�������M����po���������k�w��]k��)%,]pp���� ~��/�H�==��ij8� ���2����s���eb�y�R>�?C�'��e&(�|%����6�p>���VۅG�G ��ZoڴI�/}�"�.�>&]F>��C�#B�Kk��riL�\"���sr���.�]�;Kw���Q��S�_H���1�_-_) �����E��Vj-�I�#����K���~a�4BM>K���G�da1� iL�48�?$6�7O�=0N�C� 計算式を入力してみよう ~ 加・減・乗・除 ~ E xcel使いの醍醐味といえば、やはり「関数」となりますが、関数を使うためにはまず基本の四則演算(加減乗除)の計算ができなければ話になりません。 加減乗除は、足し算、引き算、掛け算、割り算のことで、Excel K�[ ��!`1!q&�6��LK�60X5p5�a�`o`[ �Z��Ӡ8�)�!�E�!ec�-�R������`r`�c�?����h��y���rƭ��tu�p&0�2x,,58&�=a�e�r|Z ����`�n����0�A���Ҭ��L��Lk����t`Iag8������d�W0֢��;oa3(��x! 0000028994 00000 n 0000003356 00000 n bcrypt is also the name of a cross-platform file encryption utility implementing Blowfish developed in 2002.