ハッシュ関数とは サイエンスの人気・最新記事を集めました - はてな (original) (raw)

ハッシュ関数

(

サイエンス

)

はっしゅかんすう

原文から固定長の文字列を生成する関数。「要約関数」とも呼ばれる。
生成した値は、「ハッシュ値」「メッセージダイジェスト」という。
一般に一様性と衝突耐性(強衝突耐性と弱衝突耐性)が求められる。
(参照→ハッシュ, SHA-1, MD5)

数学的な定義

[N]:=\{0,1,...,N-1\} (N \in \mathcal{N})とする。

  1. H:[N] \rightarrow [M]\,\,(N>M)
  2. H(x)が効率良く計算出来る(入力長\log Nに対して)
  3. x\in [N]が与えられた時にH(x) = H(y)なるy \not= xを発見することが難しい(弱衝突耐性)
  4. H(x) = H(y)を満たすx \not= yなる組(x,y)を発見することが難しい(強衝突耐性)
  5. H(x)を与えられた時にxを逆算することが難しい(入力長\log Mに対して)

*リスト:リスト::数学関連

このタグの解説についてこの解説文は、すでに終了したサービス「はてなキーワード」内で有志のユーザーが作成・編集した内容に基づいています。その正確性や網羅性をはてなが保証するものではありません。問題のある記述を発見した場合には、お問い合わせフォームよりご連絡ください。

関連ブログ

Web開発における知見共有系ページ8ヶ月前

ハッシュ化と暗号化の違いやハッシュ関数についてハッシュ化とは何か ハッシュ化と暗号化の違いは? 目的 可逆性 鍵の有無 用途 ハッシュ関数はどれを使えばいいの? セキュリティ要件が高い場合 一般的な用途 パスワードの保存 特殊な用途 ハッシュ化とは何か ハッシュ化(Hashing)は、与えられたデータを固定サイズのハッシュ値に変換するプロセスです。 ハッシュ関数と呼ばれる特定のアルゴリズムを使用して、入力データから固定サイズのハッシュ値を生成します。 ハッシュ関数は同じ入力に対しては常に同じハッシュ値を生成し、わずかな入力の変更でも予測困難なランダムな出力を提供します。ハッシュ化は、主に以下の目的で使用されます。 データの一意の識別: フ…

#ハッシュ関数#ハッシュ化#暗号化#セキュリティ#SHA-256#SHA-3

ネットで話題

もっと見る

411ブックマークアニメーションで感覚的にハッシュ関数「SHA-256」の算出過程を理解できる「SHA-256 Animation」gigazine.net

148ブックマークKnuth multiplicative hash が最小完全ハッシュ関数であることの証明 | メルカリエンジニアリングengineering.mercari.com

143ブックマークこれだけは知っておきたいアルゴリズム〜ハッシュ関数・公開鍵暗号・デジタル署名編 ― @ITatmarkit.itmedia.co.jp

121ブックマーク知られざる王小雲。米国の暗号学的ハッシュ関数MD5、SHA-1を過去に葬り去った女性研究者 - 中華IT最新事情tamakino.hatenablog.com

108ブックマーク最小完全ハッシュ関数の作り方■順列型の最小完全ハッシュ関数 0から4までの5個の数字が下のように並んでいる場合を例にして説明します。 5個の数字の並べ方は5!通りありますので5!(=120)通りの並べ方の総てに対して0から119までの数値を一意に割り付けることが目的となります。 34102 ここでは左側から順に数字を見ていくことにします。...www.ic-net.or.jp

107ブックマークハッシュ関数「SHA-256」の計算プロセスをわかりやすく視覚化してくれる「Sha256 Algorithm Explained」gigazine.net

86ブックマークハッシュ関数 - Wikipediaja.wikipedia.org

77ブックマークデータ分散とインデックス最適化のためのハッシュ関数の利用 - Articles Advent Calendar 2011 Hackerperl-users.jp

67ブックマークPHP5.5.0 から導入されたパスワードハッシュ関数を使ってみた - mikanmarusanのブログmikanmarusan.hatenablog.com

関連ブログ

Buri Memo:9ヶ月前

MD5は簡単に衝突させられるMD5 (Message Digest 5) は暗号学的ハッシュ関数で、電子署名やパスワードのハッシュ化のような暗号的な用途に利用されていた(が、今は暗号用途で使ってはいけない)。 暗号学的ハッシュ関数はこの性質を満たさなければいけないとされている。 一方向性: ハッシュ値から元の値の復元が困難である 第二現像困難性: あるハッシュ値があったとき、それと同じハッシュ値となる入力値(元の値でなくて良い)を求めるのが困難である 衝突困難性: 同じハッシュ値になる任意の入力値を求めることが困難である ハッシュ関数の品質として通常利用時に偶然衝突する確率が非常に低いことはもちろん、悪意を持って衝突しよ…

#md5#ハッシュ関数#hash

panco’s blog1年前

werkzeug.security.check_password_hash() についてログイン処理(認証)の実装で躓いた点を書く。 実行環境 処理の流れ 出来上がったソースコードたち werkzeug.security.check_password_hash() について ログイン処理の実装で躓いた点 前提 躓き ① 第一引数の取得で ProgrammingError 躓き ② 第一引数の取得で AttributeError 実行環境 python 3.10.13 sqlite 3.41.2 werkzeug 2.2.3 処理の流れ 新規登録画面からユーザ ID、パスワードを入力 新規登録ボタン押下 入力チェック OK なら、パスワードをハッシュ化してテーブルへ登録しログイン画…

#werkzeug#ハッシュ関数

panco’s blog1年前

werkzeug.security.generate_password_hash() について調べた趣味の個人開発でとあるログイン機能を設計・実装している。 「テーブルに平文パスワードを入れるのはだめだよな。普通どうするのかな」という疑問から調べてみると、generate_password_hash() と check_password_hash() に出会った。この記事では、generate_password_hash() について理解したことを書く。 事前知識は皆無であるため公式ドキュメントを参照しつつ、理解できなかった点は ChatGPT の力を借りた。 実行環境 generate_password_hash() とは method で設定できるハッシュアルゴリズム method "t…

#werkzeug#ハッシュ関数

叡智の三猿1年前

ハッシュ関数:気になる情報セキュリティ用語ハッシュ関数は任意のデータを入力して固定のデータを出力する関数のことです。出力したデータから入力したデータを導くことができない一方向性、異なる入力データから同じ出力結果が得られる可能性が非常に低い耐衝突性といった特徴を備えています。代表的なハッシュ関数にSHA-256があります。ディジタル署名などに用いるハッシュ関数の特徴はどれか。 ア 同じメッセージダイジェストを出力する異なる二つのメッセージは容易に求められる。 イ メッセージが異なっていても,メッセージダイジェストは全て同じである。 ウ メッセージダイジェストからメッセージを復元することは困難である。 エ メッセージダイジェストの長さはメ…

#ハッシュ関数

PyDocument1年前

Python cryptographyでデータのハッシュ値を計算する方法Pythonは、データの暗号化やセキュリティに関連するさまざまなタスクを実行するための強力なツールとして広く使用されています。cryptographyと呼ばれるライブラリは、Pythonで暗号化に関連するタスクを処理するための優れたオプションです。本記事では、cryptographyを使用してデータのハッシュ値を計算する方法について詳しく説明します。cryptographyライブラリを使用してデータのハッシュ値を計算する手順は次の通りです。 ステップ 1: cryptographyのインストール cryptographyライブラリを使用するためには、まずPython環境にライブラリをインストー…

#Python#cryptography#ハッシュ関数

叡智の三猿2年前

ブロックチェーンとリプレイ攻撃ビットコインの根幹を支えるのが、ブロックチェーンと呼ばれる技術です。ブロックチェーンの定義 電子署名とハッシュポインタを使用し改竄検出が容易なデータ構造を持ち、且つ、当該データをネットワーク上に分散する多数のノードに保持させることで、高可用性及びデータ同一性等を実現する技術(一般社団法人日本ブロックチェーン協会による定義)。 ブロックチェーンにより、全ての参加者が自律して取引履歴を記録し続けています。そして、参加者によって監視や承認がされることで安全性を保ちます。これは自律分散型のシステムの特徴で、P2P(Peer to Peer)ネットワークと呼ばれます。中央サーバーを用意せず個々の端末(P…

#ブロックチェーン#P2P#ハッシュ関数

mediocretech’s blog2年前

ハッシュ(関数)とは概要 ハッシュとは、ハッシュ関数と呼ばれる計算式により元データを特定桁数の値に変換すること。 例えば、文字列や画像データなどのファイルをSHA256と呼ばれるハッシュ関数に入力すると、256bitのハッシュ値が出力される。 ハッシュ関数の特徴 入力データにかかわらず必ず決まった桁数のハッシュ値を出力 入力データが異なれば、ハッシュ値は原則異なる。理論上は異なる入力データのハッシュ値が一致してしまう可能性はゼロではない(一致してしまうことを衝突という)。ただし現在主流のSHA256で衝突が発生する確率は「2の128乗分の1」であり、普段利用においては実質ゼロと言ってもよい。 ハッシュ値から入力デ…

#ハッシュ#ハッシュ関数#ハッシュ値

目指せ!電気主任技術者~解説ノート~2年前

暗号化技術電気設備の監視制御装置などにインターネットが利用されつつあるが,電気設備のみならず現代のネットワーク社会において,暗号化技術が重要な役割を果たしている。 暗号化には,主に二つの機能があり,情報を「秘匿(守秘)機能」により保護するだけでなく,「認証」機能により情報に本人性や完全性等の信用を与えることで,ネットワーク社会における安全性と信頼性を実現できる。 秘匿(守秘)機能は,平文(データ)を送信者と受信者以外の第 3 者から隠すことであり,送信側で暗号鍵を用いて平文を暗号化し,受信側で復号鍵を用いてその暗号文を元の平文に復号して保護する。 この暗号鍵と復号鍵とが同じであるか,あるいは暗号鍵から復…

#共通鍵暗号方式#公開鍵方式#ハッシュ関数#メッセージ認証#ディジタル署名

EngineerWataruの奇妙なブログ2年前

パスワードの安全な保存パスワードを安全に保存する方法について学んだ議事録を残します。 パスワードをハッシュ化して保存する ユーザのパスワードを保存する時にパスワードを平文(そのまま)保存しておくと漏洩してしまった時に不正にアクセスされるリスクが高まります。 そのためパスワードはハッシュ関数を利用して、ハッシュ化して保存することが好ましいです。 ハッシュ関数の特徴 ハッシュ関数の特徴を解説します。 パスワードの長さに関係なく、ハッシュ値が固定になる 同じパスワードならハッシュ値も同じになる ハッシュ値からパスワードを推測しにくい パスワードが1文字でも違えばハッシュ値も異なる ハッシュ関数【SHA-256】 ハッシュ…

#パスワード#セキュリティ#ハッシュ関数

OLTA TECH BLOG4日前

ULID移行から最適な自己流IDの設計まで・その2【基礎編】:整数型ID、Snowflake ID、MongoDBのObjectID、ULID、UUIDなどの特徴、比較と選択◇ アノキミモノガタリその弐 はじめに 整数型ID、Snowflake ID、MongoDBのObjectID、ULID、UUIDなどの特徴と比較 整数型ID、Snowflake ID、MongoDBのObjectID、ULID、UUIDの選択フローチャート 衝突検知と自動回避メカニズム Snowflake IDの仕組み MongoDBのObjectIDの仕組み ULIDの仕組み ULIDにおける広い空間 ULIDにおける単調性問題 ULIDの安全性問題 ULIDの同じミリ秒内の単調性における推測可能問題 ULIDの実現におけるオーバーフロー問題 UUIDの仕組み UUID v1の仕組み UU…

Python転職初心者向けエンジニアリングブログ7日前

チャレンジレスポンス認証(Challenge-Response Authentication)について詳しく解説チャレンジレスポンス認証(Challenge-Response Authentication)は、通信の安全性を確保するために用いられる認証手法の一つです。この方式は、ユーザーがパスワードや秘密鍵を直接送信するのではなく、動的な「チャレンジ」に基づいて「レスポンス」を生成することによって、認証を行います。以下にその仕組みと特徴、利点、欠点について詳しく説明します。 1. チャレンジレスポンス認証の仕組み チャレンジレスポンス認証は、以下のような手順で行われます。 ステップ1: チャレンジの送信 認証サーバー: ユーザーが接続を試みると、認証サーバーはランダムな値(チャレンジ)を生成し、それをユ…

Python転職初心者向けエンジニアリングブログ7日前

メッセージダイジェスト、HMAC(Hash-based Message Authentication Code):応用情報技術者試験(レベル3)シラバス(変更箇所)以下に、メッセージダイジェストとHMAC(Hash-based Message Authentication Code)について詳しく説明します。 1. メッセージダイジェスト 概要: メッセージダイジェストは、任意の長さのデータを固定長のハッシュ値(ダイジェスト)に変換するアルゴリズムです。これにより、データの整合性を確認するための指標として利用されます。 特徴: - 固定長の出力: 入力データのサイズに関わらず、出力されるダイジェストは常に一定のビット数です(例: SHA-256の場合、256ビット)。 - 衝突耐性: 異なる入力が同じダイジェストを生成すること(衝突)が非常に困難であるこ…

Python転職初心者向けエンジニアリングブログ7日前

ハッシュインデックス:応用情報技術者試験(レベル3)シラバス(変更箇所)ハッシュインデックス(Hash Index)は、データベースのインデックスの一種で、特定の列の値を迅速に検索するために使用される方法です。主に等価検索(特定の値を持つ行を探すこと)を効率的に行うために設計されています。ハッシュインデックスは、データをハッシュ関数を使用してマッピングし、非常に高速な検索を可能にします。 ハッシュインデックスの仕組み ハッシュインデックスは、以下のような流れで動作します。 ハッシュ関数の使用 各値に対してハッシュ関数を適用し、その結果をもとにデータを特定の位置(バケット)に格納します。ハッシュ関数は、入力された値を固定のサイズのビット列に変換し、異なる入力値に対し…

リスキリング|情報技術者への歩み、デジタルを使う側から作る側へ7日前

情報セキュリティ管理の理解を深める②(技術要素・情報セキュリティ):基本情報技術者試験対策※This page uses affiliate advertising. ※本ページは、アフィリエイト広告を利用しています。 Amazon.co.jp: Amazon Prime Amazon.co.jp: Prime Student - 学生のためのお得なプログラム Kindle Unlimitedにサインアップして無料体験に登録する Amazon.co.jp: Amazon Music Unlimited Amazon.co.jp: Audibleオーディオブック (adsbygoogle = window.adsbygoogle || []).push({}); 情報セキュリティ管理…

koba-e964の日記8日前

BuckeyeCTF 2024 writeupBuckeyeCTF 2024 にチーム poteti fan club で参加した。日本時間で 2024-09-28 09:00 から 2024-09-30 09:00 まで。結果は 11/648 位。 crypto 問題を一人で独占してしまって申し訳ない気持ちになった。 解法集 crypto crypto/rsa 普通の RSA 暗号の鍵 (n, e) と暗号文 c が与えられるので、平文を復元せよという問題。 n が 128 ビットの素数 2 個の積であり短すぎるので、普通に素因数分解できる。 e = 65537 n = 660825198412064422532614208805189…

macでインフォマティクス8日前

minimap2インデックスに既知バリアント情報を組み込むことで、WGSでのSNVコールを改善する minimap2_index_modifierリファレンスゲノム配列に対するリードのアライメントは、次世代シーケンサー(NGS)技術によって得られたヒト全ゲノムシーケンスデータの解析における重要なステップの1つである。遺伝的変異の臨床的解釈の結果やゲノムワイド関連研究GWASの結果など、その後の解析ステップの質は、アライメントの結果としてリードの位置が正しく特定されるかどうかに依存している。ヒトNGS全ゲノムシーケンスデータの量は常に増加している。世界中で多くのヒトゲノム配列決定プロジェクトが行われており、その結果、配列決定されたヒトゲノムの遺伝子変異に関する大規模なデータベースが作成されている。このような既知の遺伝子変異に関する情報は、…

テテマーチ Tech Blog9日前

SSL/TLSはどうやって安全な通信を実現しているのかはじめに こんにちは!Product Unit SINIS for X 開発チームの西野です。 今回は私たちがインターネットを利用する上で欠かせない技術であるSSL/TLSについて、それがセキュリティ的にどのような役割を担っているのかお話します。 さらに、2024年10月現在最新のTLS 1.3(RFC8446)を対象に具体的な通信の流れを解説します。 なお本記事の執筆にあたって、主に書籍では暗号技術入門 第3版を、TLS 1.3については以下の文献を参考にしております。 https://datatracker.ietf.org/doc/html/rfc8446 https://www.ipa…

サイバーセキュリティナビ9日前

WordPress用LiteSpeed Cacheプラグインの脆弱性対策:今すぐアップデートを!WordPressサイトを狙う新たな脅威:LiteSpeed Cacheプラグインの脆弱性 脆弱性の詳細と潜在的なリスク 対策:今すぐアップデートを! 追加の予防措置 WordPressサイトを狙う新たな脅威:LiteSpeed Cacheプラグインの脆弱性 WordPressは世界中で広く利用されているコンテンツ管理システム(CMS)ですが、その人気ゆえにサイバー攻撃の標的にもなりやすいのが現状です。 我々のクライアント様でも非常に多く使われています。 今回、WordPressの人気プラグインである「LiteSpeed Cache」に重大な脆弱性が発見され、セキュリティ専門家から警告が発せら…

競プロ始めました-kaede2020-12日前

第11回 Asprova プログラミングコンテスト(AtCoder Heuristic Contest 037)の復習0.はじめに 1.延長戦の目標 2.シンプルな改善 3.本番23位の得点が取れる強い貪欲を書く 4.ビームサーチがうまくいかない 5.「ビームサーチするだけ」って、とても難しくないですか? 6.鉄則本でビームサーチの復習をする 7.小さいNで試す 8.枝狩り 9.ついにビームサーチ解が強い貪欲を超えた 10.強い貪欲を超えるぎりぎりを調べる 11.提出 12.終わりに 0.はじめに はじめまして、もしくはお久しぶりです。競プロ歴4年9か月のかえでです。 これは、2024年9月15日(日)19:00から23:00までの4時間コンテストとして行われた第11回 Asprova プログラミングコンテス…

ペンタPRO:ペンタセキュリティが提供するセキュリティ情報まとめサイト16日前

企業の暗号技術採用の指針となる「CRYPTREC暗号リスト」とは?近年、企業を狙ったサイバー攻撃の対策として、高度な暗号技術の活用が注目されています。 その中で、CRYPTREC暗号リストは、日本の電子政府システムにおける調達の指針として重要な役割を果たしています。本記事では、このリストの概要、最新の改定内容、企業での活用状況、そして自社システムでの暗号アルゴリズムの確認方法について解説します。 CRYPTRECとは CRYPTREC(Cryptography Research and Evaluation Committees)は、暗号技術の安全性評価と実装性能評価を行う、日本の重要な組織です。CRYPTRECは、2021年から参画したデジタル庁をはじめ、…

こだわりデベロッパーズノート1ヶ月前

Javaのコレクションフレームワークについて Map編今回はJavaのコレクションフレームワークの中からMapについて解説します。 Javaのコレクションフレームワークは、データ構造を効率的に扱うための強力なツールセットです。この記事では、Mapについて使い方やメリットを解説していきます。 List,Setについては以下の記事で解説しているのでぜひそちらをご覧ください。 Javaのコレクションフレームワークについて List編 Javaのコレクションフレームワークについて Set編 Mapについて Mapはキーに値を関係付けた要素のコレクションです。キーと値は常に1対1にマッピングされるため、当然ながらキーの重複登録は出来ません。重複登録が出来な…

ペット&ウェブのライフスタイルブログ1ヶ月前

【仮想通貨】ビットコイン(ブロックチェーンとは? / マイニングとは? / ウォレットの種類 / ウォレットとビットコインアドレスの違い / 販売所と取引所の違い / 仮想通貨のFX / アルトコインとは? / 用語集)ビットコインの誕生 ビットコインとは? 用語集 part1 P2Pとは? 51%アタック(51%攻撃) FinTech(フィンテック)とは ブロックチェーンとは? マイニング メモリプール メモリプール内の優先順位 RBF(Replace-By-Fee:手数料による置換) ブロックチェーンの仕組み 用語集 part2 ノンス値(nonce) ハッシュ値 ハッシュ値とハッシュ関数 「ノンス値」を用いて「ハッシュ値」を見つける工程 ブロックに「ノンス(nonce)」を埋め込む SHA-256とは? 取引の確認状況を知る 同時にブロックが作られたらどうなる? 用語集 part3 difficulty…

kaichi1111のブログ1ヶ月前

2024/08/07(水) 本日のお題 ⇒ 【タグ系ソースコードのチェックの仕方】【application.propertiesの役割】【エラーメッセージを出しているファイルがあっても、プロジェクトを実行できた話】【暗号化通信について】【プロジェクト開発の名前の話】【chatGPTを信じすぎない】【タグ系ソースコードのチェックの仕方】HTMLみたいなタグのソースをもつソースコードは、 (タグのソースコードとは みたいな<>←この括弧を使うもののこと) テキストエディタ(メモ帳でもなんでもいい)にソースコードをコピペしてどっか適当に保存したテキストファイルをブラウザにドラック&ドロップすると 1,ソースコードにエラーがない場合ソースコードの全文がそのままブラウザに表示される 2,ソースコードにエラーがある場合エラーがありますよって表示してくれる こうやってチェックすることができるので知っておくといい(と上司の人に…

labunix's blog1ヶ月前

debian bullseyeのsshで、Ed25519を使った公開鍵認証を設定する■debian bullseyeのsshで、Ed25519を使った公開鍵認証を設定する 今回はパスワード認証がコマンド実行確認の役割を果たしている一面もあるため、 一部クライアント認証をパスワード認証のまま残すので、 リモート側のsshd_configは変更しない ■対象となるクライアントもリモートも同じバージョン $ lsb_release -d Description: Debian GNU/Linux 11 (bullseye) ■過去のssh証明書ログイン 特定のホストからESXi(vSphere HyperVisor)にパスワードなしでログイン出来るようにする。 https://la…