一方向性(原像計算困難性)とは?いちほうこうせい
一方向性(原像計算困難性)とは、パスワードの列に元の文字列を残さず、戻せない値だけを置く設計を成り立たせているハッシュ関数の性質。出力から入力を求める計算が現実的な時間で終わらないため、列ごと持ち出されても元の値までは復元されない。照合は入力を同じ手順で変換して突き合わせる形になり、行ごとに違うソルトを混ぜるぶん、列への等価検索では引けなくなる。
最終更新:2026-10-06
データベースSPを最短で暗記・合格する →背景
認証情報を表に持つ以上、データベース管理者もバックアップ媒体を扱う担当者も、その列の中身に触れる立場にある。権限をどれだけ絞っても、元へ戻せる形で保持している限り可能性は消えない。そこで、鍵を持つ誰かなら戻せる暗号化ではなく、誰も戻せない変換で保持するという発想に切り替える。設計上は「復号できないことが要件」という珍しい列になる。
具体例
会員表のパスワード列には値そのものを置かず、行ごとに異なるソルトと併せてハッシュ値を格納する。PostgreSQLならpgcryptoのcrypt関数、MySQLならSHA2関数で計算し、ログイン時は入力値を同じ手順で変換して列と突き合わせる。列を眺めても管理者に元の値は分からない。
試験での引っ掛け
一方向性があってもパスワードが安全とは限らず、よく使われる値は事前計算した表と照合される。行ごとに異なるソルトと反復計算を併用しない限り効果は薄い。また同じ「ハッシュ」でも、ハッシュ結合やハッシュ索引で使う関数は値を均等に散らすことが目的で、一方向性は要件に入っていない。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。