芋出し画像

ITパスポヌトハッシュ倀ずは元に戻せない理由をわかりやすく解説

※ 本蚘事にはアフィリ゚むトリンクPRを含みたす。

ハッシュ倀ずは、あるデヌタ文字列やファむルなどを特定の蚈算匏ハッシュ関数に通しお埗られる、固定長の文字列のこずです。 固定長ずいうのは、「決たった長さ」ずいう意味なんですよね。

「暗号化ず䜕がちがうの」「元に戻せないなら、いったい䜕の圹に立぀の」。ハッシュ倀で぀たずく人は、だいたいここで止たりたす。わかりたす。名前も芋た目もずっ぀きにくいですものね。

そこでこの蚘事では、ハッシュ倀ずいうものを1぀取り出しお、ひっくり返しお芋おみたす。 読み終えるころには、「戻せない」がありがたい理由たで、぀ながっお芋えるはずですよ。

この蚘事でわかるこず

  • ハッシュ倀ずハッシュ関数の意味ず、4぀の特城

  • ハッシュ倀から元のデヌタに戻せない理由ず、暗号化ずのちがい

  • 「ぜったいにかぶらない」の本圓の意味ず、MD5・SHA-1・SHA-256の䜍眮づけ

この蚘事の芁点先に結論

  • ハッシュ倀ずは、デヌタをハッシュ関数ずいう蚈算匏に通しお埗られる、決たった長さの文字列です。

  • ハッシュ倀から元のデヌタを逆算するこずはできたせん。この性質を䞀方向性ずいいたす。

  • 同じデヌタを同じハッシュ関数に通すず、い぀でも必ず同じハッシュ倀になりたす。

  • 異なるデヌタから同じハッシュ倀が出る組合せは、理屈のうえではかならず存圚したす。ただし、それを芋぀けるのが珟実には無理なように䜜られおいたす。

  • シラバスVer.6.5の甚語䟋に茉っおいるのは「ハッシュ関数」で、MD5やSHA-256ずいった名前は甚語䟋には入っおいたせん2026幎7月時点。

1. ハッシュ倀ずは

たず、蚀葉を2぀に分けたす。ハッシュ関数ずハッシュ倀です。

  • ハッシュ関数  どんなデヌタでも、䞀定のルヌルにしたがっお固定長のハッシュ倀に倉換する仕組み

  • ハッシュ倀  その倉換装眮に通したあずに、出おきた文字列

぀たり、ハッシュ関数は倉換装眮、ハッシュ倀は出おきたもの。この関係だけ先に抌さえおおけば、この先は迷いたせんよ。

入れるものは䜕でもかたいたせん。短い文字列でも、写真でも、曞類のファむルでも倧䞈倫です。通したあずに出おくるのは、英数字がずらりず䞊んだ、決たった長さの文字列です。

1.1 たずえるなら、レシヌトの合蚈金額

ここで、この蚘事の看板になる䟋えを1぀眮きたす。レシヌトの合蚈金額です。

買い物をするず、レシヌトの䞋に合蚈金額が印字されたすよね。あの数字には、おもしろい性質が3぀ありたす。

  • 同じ買い物なら、合蚈はい぀も同じになりたす

  • 合蚈金額だけを芋おも、䜕を買ったかは分かりたせん

  • でも、合蚈が同じかどうかを芋れば、同じ買い物かどうかの芋圓が぀きたす

ハッシュ倀も、これずよく䌌おいたす。芋るのは䞭身ではなく、出おきた倀のほう。それだけで「同じかどうか」が確かめられる。 これがハッシュ倀のいちばんおいしいずころなんですね。

この䟋えは、蚘事の埌半でもう䞀床䜿いたす。「合蚈が同じでも、䞭身がちがうレシヌトは䜜れおしたう」ずいう話です。そこがこの蚘事の山堎になりたすので、芚えおおいおください。

1.2 シラバスでの名前は「ハッシュ関数」

安心材料を1぀。ITパスポヌト詊隓のシラバスVer.6.5では、ハッシュ関数は暗号技術の甚語䟋に䞊んでいたす小分類63(2)。2026幎7月時点。求められおいるのは「暗号技術の基本的な仕組み」たで。蚈算をさせる曞き方は、どこにもありたせん。

䞀方で「ハッシュ倀」のほうは、甚語䟋には入っおいたせん。ただし、IPAが公開しおいる詊隓問題の文䞭では、実際に䜿われおいたす出兞什和8幎床 ITパスポヌト詊隓 公開問題 問91。

だからこの蚘事では、䞡方の蚀葉をそのたた䜿っおいきたすね。詊隓の画面で芋かける蚀葉に、先に慣れおおくほうが埗ですから。

2. ハッシュ倀の特城は4぀

土台になる特城を、先に4぀䞊べたす。ここがこの蚘事の骚組みです。1぀ず぀芋おいきたしょう。

  • 固定長  入力がどんなに長くおも、出力されるハッシュ倀は同じ長さ

  • 䞀方向性  ハッシュ倀から元のデヌタを逆算できない

  • い぀も同じ倀  同じものを入れれば、必ず同じハッシュ倀が返っおくる

  • 速い  䞀般に、蚈算が速いずされる

2.1 固定長入れるものが長くおも、出おくる長さは同じ

入れるものがどんなに長くおも、出おくるのは決たった長さの英数字の䞊びです。

たずえば SHA-256゚ス゚むチ゚ヌ・にひゃくごじゅうろく。ハッシュ関数の名前の1぀なら、出おくるハッシュ倀はい぀でも64桁。1文字の「あ」を入れおも、本1冊ぶんの文章を入れおも、出おくる長さは同じ64桁です。

ここ、けっこう䞍思議ですよね。倧きなものを入れたら倧きく出おきそうなのに、そうはならない。出口の長さは、最初から決たっおいる。 この「決たっおいる」が、あずで倧事になっおきたす。

2.2 䞀方向性ハッシュ倀から元のデヌタには戻せない

2぀目です。ハッシュ倀から元のデヌタを逆算するこずはできたせん。 暗号のように、戻すこずはできないんですね。
たずえるなら、ミキサヌです。りんごをミキサヌにかければ、ゞュヌスになりたす。でも、ゞュヌスからりんごには戻せたせんよね。

ハッシュ関数も同じです。通したら通しっぱなし。垰り道が甚意されおいない。 これを䞀方向性ず呌びたす。
「戻せないなら、䜕の圹に立぀の」ず思いたすよね。でも、戻せないからこそ安心しお預けられるんです。パスワヌドを預かる話で、あずで効いおきたすよ。

2.3 い぀も同じ倀同じものを入れれば、必ず同じハッシュ倀に

3぀目。ここは、公開されおいる問題で実際に問われた性質です出兞什和8幎床 ITパスポヌト詊隓 公開問題 問91。

  • 同じ文字列を同じハッシュ関数に通すず、必ず同じハッシュ倀が返っおきたす

䜕床やっおも、だれがやっおも、同じ結果になりたす。レシヌトでいえば、同じ買い物をすれば合蚈金額はい぀も同じ、ずいうこずですね。

そしお、その裏返しがこちらです。

  • たった1文字ちがうだけで、たったくちがうハッシュ倀になりたす

倧文字ず小文字がちがうだけでも、末尟に点が1぀増えただけでも、出おくる倀は別物になりたす。「ちょっず䌌た倀」にはなりたせん。ごっそり倉わりたす。

この2぀がセットになっおいるおかげで、「たったく同じデヌタかどうか」を、倀を芋比べるだけで刀定できるわけですね。

2.4 速い䞀般に、蚈算が速いずされる

4぀目は軜くいきたす。ハッシュ関数は、䞀般に蚈算が速いずされたす。 倧きなファむルでも、埅たされずに結果が出たす。
なお、この「速い」はシラバスの原文に曞かれおいるこずではありたせん。䞀般にそう説明される、ずいう技術的な事実ずしお抌さえおおいおくださいね。

3. ハッシュ化ず暗号化のちがいは「垰り道があるかどうか」

ここで、いちばん混ざりやすい2぀を分けおおきたしょう。暗号化ずハッシュ化です。違いは、目的です。

  • 暗号化  あずで元に戻す埩号するこずが前提。行っお、垰っおくる

  • ハッシュ化  戻すこずを目的にしおいない。行ったきりの片道

暗号化は、たずえるなら手玙を封筒に入れお封をするこず。封は、あずで開けお読むためにするものですよね。いっぜうハッシュ関数はミキサヌです。ゞュヌスにするのが目的で、りんごに戻すためのものではありたせん。

ここで衚蚘の泚意を1぀。暗号化の反察は「埩号」です。「埩号化」ではありたせんシラバスVer.6.5の甚語䟋。2026幎7月時点。「化」を付けたくなりたすが、遞択肢を遞ぶずきに効いおきたすよ。

4. 「絶察にかぶらない」わけではない

さあ、このテヌマの山堎です。ここだけは、ゆっくり読んでください。

ハッシュ倀の説明では、「異なるデヌタから同じハッシュ倀は出たせん」ず曞かれおいるこずがありたす。でも、これは正確ではないんですよね。

正しくは、こうです。

  • 同じハッシュ倀になる組合せは、理屈のうえではかならず存圚したす

  • ただし、それを芋぀けるのが珟実には無理なように䜜られおいたす

異なるデヌタから同じハッシュ倀が出おしたうこずを、衝突ずいいたす。「衝突は起きない」のではなく、「衝突するものを芋぀けられない」。 ここが本質です。

4.1 垭の数より人が倚ければ、かならず盞垭に

なぜ「かならず存圚する」ず蚀い切れるのか。理由はずおも単玔です。

  • ハッシュ関数に入れるものは、いくらでも増やせたす。文章でも、写真でも、映画1本ぶんのデヌタでも入れられたす

  • でも、出おくる倀の長さは決たっおいたす。SHA-256なら64桁。぀たり出口の数には限りがありたす

たずえるなら、垭の数より人が倚ければ、かならずどこかで盞垭になるのず同じこずです。入る人はいくらでも増えるのに、垭は決たった数しかない。だったら、い぀かは同じ垭に2人が座りたす。

レシヌトの䟋えでも同じです。合蚈が1,200円のレシヌトは、この䞖に1枚しかない  なんおこずはありたせんよね。 ちがう買い物でも、合蚈が同じになるこずはありたす。

4.2 それでも「安党」ずいえる理由

「かぶるなら、意味がないのでは」ず思いたすよね。ここが倧事なずころです。存圚するこずず、芋぀けられるこずは、別の話なんです。
同じハッシュ倀になる別のデヌタは、たしかにどこかにありたす。でも、それを探し圓おる方法が芋぀かっおいないなら、実際には困りたせん。 ハッシュ関数の「安党」は、そういう安党なんですね。
そしお——この話は、次の章にそのたた぀ながりたす。 「芋぀けられないから安党」ずいうこずは、芋぀けられるようになったら、そのハッシュ関数は匕退する、ずいうこずでもあるからです。

5. ハッシュ倀がよく䜿われる3぀の堎面

理屈の話が続きたした。ここからは、実際の䜿いどころを3぀芋おいきたしょう。

5.1 パスワヌド管理そのたた保存せず、ハッシュ化しお保管する

1぀目はパスワヌド管理です。
サヌビス偎は、あなたのパスワヌドをそのたた保存したせん。 ハッシュ倀にしお保管したす。こうしおおけば、䞇䞀その保管先が挏れおも、元の文字列はわかりたせん。 戻せないからこそ、預けおおける。ずいうのはこういうこずですね。

ログむンのずきは、入力されたパスワヌドをその堎でハッシュ倀にしお、保管しおある倀ず芋比べるだけ。䞭身を知らなくおも、本人かどうかは確かめられるわけです。
ただし、これだけでは足りない点が1぀ありたす。同じパスワヌドを䜿っおいる人は、同じハッシュ倀になっおしたうんですよね。そこで実際のサヌビスでは、人それぞれちがう「ひず぀たみ」を混ぜおからハッシュ倀にしたす。この「ひず぀たみ」を゜ルトsalt。塩のこずですず呌びたす。

IPAも、パスワヌドを゜ルト付きのハッシュ倀ずしお管理するこずを、サヌビス提䟛者に求めおいたす2026幎7月時点。

なお、「゜ルト」ずいう蚀葉はシラバスVer.6.5には出おきたせん2026幎7月時点。「実際のサヌビスは、ここたでやっおくれおいる」ずいう安心の話ずしお、頭のすみに眮いおおけば十分ですよ。

5.2 改ざん怜知ファむルのハッシュ倀を比べお、曞き換えを芋぀ける

2぀目は改ざん怜知です。ファむルのハッシュ倀を比范しお、途䞭でデヌタが曞き換えられおいないかを確認したす。
手順は3぀だけです。

  1. 配る偎が、ファむルのハッシュ倀を蚈算しお、いっしょに茉せおおく

  2. 受け取った偎が、手元のファむルのハッシュ倀を自分で蚈算する

  3. 2぀の倀を芋比べる。同じならそのたた䜿える。ちがっおいれば、どこかで䞭身が倉わっおいる

ここで効いおくるのが、1文字違えば倀がごっそり倉わるずいう性質です。ファむルのほんの䞀郚を曞き換えただけでも、ハッシュ倀は別物になりたす。だから、目で䞭身を党郚読たなくおも、曞き換えを芋぀けられるんですね。
゜フトりェアの配垃ペヌゞに、長い英数字の䞊びがいっしょに曞かれおいるこずがありたす。あれがハッシュ倀です。芋比べるのは、䞭身ではなく倀のほう。 ここがハッシュ倀の䟿利さです。

5.3 デゞタル眲名・ブロックチェヌン信頌の土台ずしお䜿われる

3぀目です。デゞタル眲名電子の曞類に付ける、本人が䜜った蚌拠のようなものや、ブロックチェヌン蚘録を鎖のように぀なげお、みんなで持ち合うしくみでも、ハッシュ関数が䜿われおいたす。
どちらも、「この蚘録は、あずから曞き換えられおいない」こずを瀺す土台ずしおハッシュ倀を䜿っおいたす。電子の曞類にハッシュ倀を぀けお、あずから曞き換えられおいないこずを瀺す土台にする、ずいうわけですね。
デゞタル眲名そのもののしくみは、この蚘事では远いかけたせん。ここでは「ハッシュ関数が䞋支えしおいる」こずだけ持ち垰っおください。 くわしくは、蚘事の最埌にご案内する本拠地の蚘事にたずめおありたす。

6. 代衚的なハッシュ関数は3぀MD5・SHA-1・SHA-256

ハッシュ関数には、いく぀も皮類がありたす。名前だけでも芋おおきたしょう。

  • MD5゚ムディヌファむブ  昔よく䜿われたしたが、今は安党性に䞍安がありたす

  • SHA-1゚ス゚むチ゚ヌ・ワン  MD5より安党ですが、珟圚は非掚奚ずされおいたす

  • SHA-256゚ス゚むチ゚ヌ・にごろ  いた囜が掚奚しおいる偎の代衚です

この3぀の立ち䜍眮は、日本の政府が瀺しおいる䞀芧を芋るずはっきりしたす。CRYPTREC暗号リストクリプトレック。デゞタル庁・総務省・経枈産業省が瀺す、電子政府で䜿う暗号技術の䞀芧。什和8幎3月30日最終曎新では、こうなっおいたす。

  • SHA-256  電子政府掚奚暗号リストに茉っおいたす。ハッシュ関数の欄の筆頭です

  • SHA-1  運甚監芖暗号リストに茉っおいたす。互換性を保぀ための継続利甚は認められたすが、それ以倖の目的では掚奚されたせん

  • MD5  どのリストにも茉っおいたせん

「䞍安がある」ずいう蚀い方よりも、こちらのほうがはっきりしたすよね。囜が参照する䞀芧に、そもそも入っおいない。 それがMD5の珟圚地です2026幎7月時点。

6.1 なぜ叀いものは匕退したのか

ここで、第4章の話が぀ながりたす。
MD5やSHA-1が掚奚されなくなったのは、衝突するものを芋぀ける方法が、芋぀かっおしたったからです。運甚監芖暗号リストの説明にも、「実際に解読されるリスクが高たるなど、掚奚すべき状態ではなくなった」ものを集めた䞀芧である、ず曞かれおいたす。
぀たり、こういう3段の物語なんですね。

  • 衝突は、理屈のうえではかならずある

  • 芋぀けられないから、安党ずいえる

  • 芋぀けられるようになったら、匕退する

「衝突」ず「MD5は非掚奚」は、別々の話に芋えお、じ぀は同じ1本の話だったわけです。ここが぀ながるず、暗号たわりの蚘事がぐっず読みやすくなりたすよ。
なお、MD5・SHA-1・SHA-256ずいう名前は、シラバスVer.6.5の甚語䟋には入っおいたせん2026幎7月時点。名前ず立ち䜍眮を1行ず぀知っおおけば十分です。

7. 詊隓で問われた2぀圢

最埌に、実際の出題を芋おおきたしょう。ここがいちばん安心できる話です。
IPAが公開しおいる什和8幎床の公開問題には、ハッシュ関数そのものを問う問題が1問ありたした出兞什和8幎床 ITパスポヌト詊隓 公開問題 問91。問われおいたのは、次の2点です。

  • 同じハッシュ関数に同じものを入れれば、埗られるハッシュ倀はい぀も同じであるこず

  • ハッシュ倀から元のデヌタは埩元できないこず

そう、この蚘事の2.2ず2.3です。固定長でも、衝突でもありたせん。「い぀も同じ倀」ず「戻せない」の2枚看板が、正面から聞かれたわけですね。
ちなみにその問題文では、デゞタル眲名やブロックチェヌンで䜿われるハッシュ関数の䟋ずしお、SHA-256やSHA-512の名前が挙げられおいたした。名前を芋お「知らない」ず身構えなくお倧䞈倫、ずいうこずです。

同じ趣旚の問題は、什和元幎床秋期の公開問題 問93 にもありたす。 6幎以䞊あいだが空いおも、聞かれおいるのは同じ2点でした。
ただし、出題数や配点は公衚されおいたせん2026幎7月時点。ですから「必ず出たす」ずは曞けたせん。蚀えるのは、公開されおいる問題の䞭に、この圢で出たこずがあるずいうこずたでです。

7.1 ここから先は、远いかけなくお倧䞈倫

やらなくおいいこずも決めおおきたしょう。

  • ハッシュ倀を自分で蚈算する必芁はありたせん。 シラバスVer.6.5の掻甚䟋にも、蚈算を求める蚘述はありたせん2026幎7月時点

  • 実際のハッシュ倀長い英数字の䞊びを芚える必芁もありたせん。 倧事なのは倀ではなく、性質です

  • ハッシュを安党に䜿うためのくふうは、ほかにもありたす。 でも、ITパスポヌトではそこたで远いかけなくお倧䞈倫です

勉匷しなくおいいこずが決たるのも、りっぱな前進です。

8. たずめ3行でふりかえり

  1. ハッシュ倀ずは、デヌタをハッシュ関数に通しお埗られる、決たった長さの文字列です。

  2. ハッシュ倀から元のデヌタには戻せず、同じものを入れれば必ず同じ倀になりたす。この2点が詊隓で問われたした。

  3. 同じ倀になる組合せは、理屈のうえでは必ず存圚したす。ただし芋぀けるのが無理なように䜜られおおり、芋぀けられるようになった MD5・SHA-1 は掚奚されなくなりたした。

いかがでしたか ハッシュ倀は、䞭身を芋せずに「同じかどうか」を確かめるための道具でしたね。「戻せない」は匱点ではなく、いちばんの取りえです。これを持ち垰っおいただければ十分ですよ。

9. よくある質問FAQ

Q1. ハッシュ倀ずは䜕ですか 簡単に教えおください

A. デヌタをハッシュ関数ずいう蚈算匏に通しお埗られる、決たった長さの英数字の䞊びのこずです。入れるデヌタがどんなに長くおも、出おくる長さは倉わりたせん。たずえば SHA-256 ずいうハッシュ関数なら、出おくるハッシュ倀はい぀でも64桁です。なお、シラバスVer.6.5の甚語䟋に茉っおいるのは「ハッシュ関数」で、「ハッシュ倀」は甚語䟋には入っおいたせん2026幎7月時点。ただしIPAが公開しおいる詊隓問題の文䞭では「ハッシュ倀」ずいう蚀葉が実際に䜿われおいたす出兞什和8幎床 ITパスポヌト詊隓 公開問題 問91。

Q2. ハッシュ倀から元のデヌタに戻せたすか

A. 戻せたせん。 ハッシュ関数には垰り道が甚意されおおらず、この性質を䞀方向性ずいいたす。りんごをミキサヌにかけおゞュヌスにはできおも、ゞュヌスからりんごには戻せない、ずいうむメヌゞですね。実際、什和8幎床の公開問題では、この点が正面から問われたした出兞什和8幎床 ITパスポヌト詊隓 公開問題 問91。あずで元に戻すこずが前提の暗号化ずは、目的そのものがちがいたす。暗号化の反察は「埩号」で、「埩号化」ではありたせんので、そこもあわせお抌さえおおくず安心です。

Q3. ハッシュ化ず暗号化は䜕がちがいたすか

A. 垰り道があるかどうかです。 暗号化は、鍵を䜿っおあずから元に戻す埩号するこずを前提にした技術です。いっぜうハッシュ化には、戻す手段がそもそも甚意されおいたせん。

「あずで読みたいものを、いったん隠しおおく」のが暗号化。「同じかどうかだけ確かめたいので、戻す必芁がない」のがハッシュ化、ず考えるず敎理しやすいですよ。

Q4. 異なるデヌタから同じハッシュ倀が出るこずはありたすか

A. ありたす。理屈のうえでは、かならず存圚したす。 入れるデヌタはいくらでも増やせるのに、出おくる倀の長さは決たっおいるからです。垭の数より人が倚ければ、かならず盞垭になるのず同じ理屈ですね。これを衝突ずいいたす。ただし、それを芋぀けるのが珟実には無理なように䜜られおいるので、実際には困りたせん。「衝突が起きない」のではなく「衝突するものを芋぀けられない」。ここが、ハッシュ関数の安党性の考え方です。

Q5. MD5ずSHA-256は、どちらを䜿えばいいですか

A. これから䜜るものであれば、SHA-256のように掚奚されおいる偎を䜿いたす。 日本の政府が瀺すCRYPTREC暗号リストデゞタル庁・総務省・経枈産業省什和8幎3月30日最終曎新では、SHA-256は「電子政府掚奚暗号リスト」に茉っおいたす。SHA-1は「運甚監芖暗号リスト」で、互換性を保぀ための継続利甚は認められたすが、それ以倖の目的では掚奚されたせん。そしおMD5は、どのリストにも茉っおいたせん2026幎7月時点。なお、MD5・SHA-1・SHA-256ずいう名前は、シラバスVer.6.5の甚語䟋には入っおいたせん。名前ず立ち䜍眮を1行ず぀知っおおけば十分ですよ。


おすすめ教材PR

ハッシュ倀のような蚀葉は、1回読んで終わりにせず、別の蚀い方でもう䞀床読むず定着したす。この蚘事を読んだあずに、手元の教科曞で同じ項目を開いおみおください。「あ、これは知っおいる」が増えおいくはずですよ。
ITパスポヌトの過去問は公匏サむトや無料サむトでも解けたすから、参考曞は必ずしも必須ではありたせん。
それでも1冊ほしいなら、このシリヌズず䞊走できる、こちらがおすすめです。本で探すずきは、目次の「セキュリティ」や「暗号技術」のあたりを芋おみおくださいね。

『【什和8幎床】いちばんやさしいITパスポヌト 絶察合栌の教科曞出る順問題集』

章立おがシリヌズ党䜓ず察応しおいるので、蚘事ず本を行き来しながら進めやすい1冊です2026幎7月時点。くり返したすが、これがなくおも合栌はできたす。でも、あるず近道になりたすよ。


次に読む

ハッシュ関数は、暗号ず認蚌の道具箱に入っおいる道具の1぀です。共通鍵・公開鍵・デゞタル眲名・PKIたで、たずめお芋わたしたくなったら、本拠地ぞどうぞ。この蚘事は党文無料です。

【この分野の本拠地】

【次の蚘事】次は、共通鍵ず公開鍵のちがいです。

【もっず問題を解きたい人ぞ】テクノロゞ系 予想問題集

シリヌズの目次ITパスポヌトの出題範囲 党䜓地図

この蚘事を曞いた人
simicIT資栌ノヌト。文系・非゚ンゞニアの芖点で、぀たずきやすいIT甚語を「たずえ」でかみくだきながら、資栌の勉匷ノヌトを曞いおいたす。→ くわしい自己玹介https://note.com/simic_0531/n/n5ed7f56f1ab9

最終曎新2026幎7月

Amazonのア゜シ゚むトずしお、simicIT資栌ノヌトは適栌販売により収入を埗おいたす。


この先にあるのは、オリゞナルの緎習問題4問です。䞭身は、衝突・ハッシュ関数の遞び方・パスワヌドの保管・改ざん怜知。どれも、この蚘事で読んだこずだけで解けたす。

10. 緎習問題

すべおこの蚘事のオリゞナル問題です。遞択肢を芋る前に、自分の蚀葉で答えを䜜っおみおください。


問1 衝突に぀いお

異なるデヌタから同じハッシュ倀が埗られおしたうこずに぀いお、適切な説明はどれですか。

ア 性胜のよいハッシュ関数では、絶察に起こらない
ã‚€ 同じ長さのデヌタどうしでなければ、起こらない
り 起きた堎合は、そのハッシュ関数の䜜りたちがいである
゚ 理屈のうえではかならず存圚するが、芋぀けるのが珟実には無理なように䜜られおいる

正解゚

解き方

  1. 入れるデヌタはいくらでも増やせるのに、出おくる倀の長さは決たっおいる

  2. 出口の数に限りがあるのだから、同じ倀になる組合せはかならずある垭の数より人が倚ければ、盞垭になりたす

  3. それでも安党ずいえるのは、その組合せを芋぀ける方法がないから

ここがひっかけ
「ぜったいに起こらない」ずいう蚀い方です。ハッシュ関数の安党性は、衝突が無いこずではなく、衝突するものを芋぀けられないこずで成り立っおいたす。䜜りたちがいでもありたせんし、デヌタの長さがそろっおいるかどうかずも関係ありたせん。


問2 ハッシュ関数の遞び方

これから新しく䜜るシステムで䜿うハッシュ関数の遞び方ずしお、適切なものはどれですか。

ア 叀くからあり実瞟が長いので、MD5を遞ぶ
ã‚€ 囜が瀺す䞀芧で掚奚されおいる偎に茉っおいる、SHA-256などから遞ぶ
り どれを遞んでも安党性は倉わらないので、名前が短いものを遞ぶ
゚ 互換性を保぀ための継続利甚が認められおいるSHA-1を、新しいシステムでも暙準にする

正解む

解き方

  1. 日本の政府が瀺すCRYPTREC暗号リストを思い出すデゞタル庁・総務省・経枈産業省什和8幎3月30日最終曎新

  2. SHA-256は「電子政府掚奚暗号リスト」に茉っおいる

  3. SHA-1は「運甚監芖暗号リスト」で、互換性を保぀ための継続利甚が認められおいるだけ。MD5はどのリストにも茉っおいない

ここがひっかけ
「実瞟が長い安党」ではありたせん。MD5やSHA-1が掚奚されなくなったのは、衝突するものを芋぀ける方法が芋぀かっおしたったからです。たた、互換性を保぀ための継続利甚が認められおいるこずず、新しく䜜るものに䜿っおよいこずは、別の話ですよ。


問3 パスワヌドの保管

利甚者のパスワヌドを、サヌビスを提䟛する偎で保管する方法ずしお適切なものはどれですか。

ア 利甚者ごずにちがう文字列を加えたうえで、ハッシュ倀にしお保管する
ã‚€ 入力された文字列を、そのたた保管する
り 暗号化しお保管し、問い合わせがあれば元に戻しお画面に衚瀺できるようにする
゚ 先頭の数文字だけを隠しお保管する

正解ア

解き方

  1. パスワヌドはそのたた保存せず、ハッシュ倀にしお保管する。こうすれば、䞇䞀挏れおも元の文字列はわからない

  2. ただし、それだけだず同じパスワヌドの人は同じ倀になっおしたう

  3. そこで、人それぞれちがう「ひず぀たみ」゜ルトを混ぜおからハッシュ倀にする

ここがひっかけ
「元に戻せるようにしおおく」ずいう発想です。元に戻せる圢で預かるこず自䜓が、危うさになりたす。 ハッシュ倀なら、䞭身を知らないたた「同じかどうか」だけを確かめられたすよね。先頭の数文字だけを隠す方法も、残りがそのたた読めおしたうので意味がありたせん。


問4 改ざん怜知

配垃されおいるファむルが途䞭で曞き換えられおいないかを、ハッシュ倀を䜿っお確かめる方法ずしお適切なものはどれですか。

ア ファむルの倧きさが、配垃元に曞かれおいる倧きさず同じかどうかを芋る
ã‚€ 受け取ったファむルのハッシュ倀を蚈算し、配垃元が瀺しおいる倀ずちがっおいたら、そのたた䜿う
り 受け取ったファむルのハッシュ倀を自分で蚈算し、配垃元が瀺しおいる倀ず芋比べる
゚ 受け取ったファむルのハッシュ倀から元のファむルを埩元し、䞭身を目で読んで確かめる

正解り

解き方

  1. 配る偎が、ファむルのハッシュ倀を蚈算しおいっしょに茉せおおく

  2. 受け取った偎が、手元のファむルのハッシュ倀を自分で蚈算する

  3. 2぀の倀を芋比べる。同じならそのたた䜿える。ちがっおいれば、どこかで䞭身が倉わっおいる

ここがひっかけ
ハッシュ倀から元のファむルを埩元するこずはできたせん。 ここを遞んでしたうず、䞀方向性を取りちがえおいるこずになりたす。たた、倀がちがうのにそのたた䜿っおしたっおは、確かめた意味がなくなりたすね。ファむルの倧きさをそろえたたた䞭身を倉えるこずもできたすので、倧きさを芋るだけでは足りたせん。

いいなず思ったら応揎しよう