並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 1077件

新着順 人気順

ハッシュ関数の検索結果1 - 40 件 / 1077件

  • 高木浩光@自宅の日記 - 緊急速報:マイナンバー法の「裏番号」禁止規定、内閣法制局でまたもや大どんでん返しか

    ■ 緊急速報:マイナンバー法の「裏番号」禁止規定、内閣法制局でまたもや大どんでん返しか まえがき 個人番号(マイナンバー)を、法定された目的(税とか社会保障とか)以外で他人に対して提供を求めることが禁止されていることは、わりと広く知られており、みんな遵守してきたところだろう。だが、今、どう見ても目的外で提供を求めている(自社サービスの利用者登録の目的とされている)スマホアプリがあるということで、個人情報保護委員会の出方が問われているところ、宇賀説(宇賀克也『番号法の逐条解説』有斐閣)によれば合法ということになるのではないか?(おそらく弁護士らもそれを参考にしていたのでは?)という話が出ているのだが、これについて、番号法(行政手続における特定の個人を識別するための番号の利用等に関する法律、平成25年法律第27号)の立案過程で、内閣法制局で二転三転していたことが判明したので、至急、速報的に、こ

    • 読むとお得なソフトウェアエンジニアリングの技術書一覧

      はじめに この記事はLipersInSlums Advent Calendar 2024 「スラムで年収をあげる〜だが僅かばかりの友の他は、皆、スラム民を嘲った。資格取得で年収アップに挑むなどと〜」の大遅刻組の記事である。シモンは泣いていい。 筆者がプログラミングを初めた頃はインターネットの検索技術は発達しておらず、良質なコンテンツにたどり着くには一苦労だった。そのため、何か新しいことを学ぶのに最初に手を取るのは技術書であった。 今では検索技術は高度に発達し、必要な情報は検索すればたちまち手に入る用になった。しかしながらそれらの断片的な知識群を体系化し、習得するのは未だ難しい。体系的に知識を習得する上で技術書は未だ最も有力な候補となる。 この記事では主にジュニア(?)エンジニア向けに、読むとプログラミングに必要な比較的陳腐化しにくい様々な知識が体系的に身に付いて役に立つお得な技術書を簡単に

        読むとお得なソフトウェアエンジニアリングの技術書一覧
      • ブラウザからDBに行き着くまでただまとめる

        はじめに あなたはブラウザからデータベース(DB)に情報が行き着くまでにどんな技術が使われているか説明できますでしょうか? どのようなプロトコルが用いられ、どの技術を駆使してサーバと通信しているのか、Webサーバでは何が行われ、どのようにして負荷が分散されているのか、トランザクションはどのように管理されているのか、そしてデータベースではシャーディングや負荷対策のためにどのような対策が取られているのか… なんとなくは理解しているものの、私は自信を持って「こうなっている!!」とは説明ができません。 そこで今回は「大規模サービス」を題材としてブラウザからデータベースに至るまでの、情報の流れとその背後にある技術について、明確かつ分かりやすく解説していきたいと思います。 対象としてはこれからエンジニアとして働き出す、WEB、バックエンド、サーバーサイド、インフラ、SREを対象としております。 1.

          ブラウザからDBに行き着くまでただまとめる
        • 何故パスワードをハッシュ化して保存するだけでは駄目なのか? - NRIネットコムBlog

          不正アクセスによるIDとパスワードの漏洩を受けて、MD5によるハッシュ化について話題になっていました。システムを作る上で、パスワードの管理や認証はどう設計すべきかを考えるために、少し整理をしてみます。もし事実誤認があれば、どしどしご指摘ください。 == 2023/8/21追記 == この記事は、ハッシュの保存の仕方一つとっても、沢山の対策方法が必要であるということをお伝えするために記載しています。そして、これから紹介する手法を取れば安全とお勧めしている訳ではないので、その点をご留意いただければと思います。攻撃手法に応じての対応策の変遷を知っていただくことで、セキュリティ対策は一度行えば安全というものではないことを知って頂くキッカケになれば幸いです。 == 追記終わり == パスワードのハッシュ化 まず最初にパスワードの保存方法です。何も加工しないで平文で保存するのは駄目というのは、だいぶ認

            何故パスワードをハッシュ化して保存するだけでは駄目なのか? - NRIネットコムBlog
          • 図解即戦力 暗号と認証のしくみと理論がこれ1冊でしっかりわかる教科書

            この本の概要 テレビ会議やリモートワークが普及する中,情報を守る暗号や本人確認のための認証技術の重要性が増しています。本書は公開鍵暗号や署名などの理論を基礎から詳しく解説し,TLS1.3やHTTP/3,FIDOなどの新しい技術も紹介します。更にブロックチェーンで注目されている秘密計算,ゼロ知識証明,量子コンピュータなど最先端の話題も扱います。 こんな方におすすめ 暗号と認証の基礎を学習したい人 Web担当者やセキュリティ担当者など 1章 暗号の基礎知識 01 情報セキュリティ 情報セキュリティの三要素 情報セキュリティと暗号技術 利便性とコスト 追加された要件 02 暗号 暗号とは よい暗号と使い方 暗号の動向を知る 03 認証 パスワードによる認証 パスワード攻撃者の能力 パスワードの攻撃手法 認証の分類 認可 OAuth 04 古典暗号 シフト暗号 換字式暗号 符号化 2章 アルゴリズ

              図解即戦力 暗号と認証のしくみと理論がこれ1冊でしっかりわかる教科書
            • アニメーションで感覚的にハッシュ関数「SHA-256」の算出過程を理解できる「SHA-256 Animation」

              電子証明書の暗号化やブロックチェーンは、入力された値からまったく異なる値であるハッシュ値を算出する「ハッシュ関数」によって成り立っています。エンジニアのGreg Walker氏が、代表的なハッシュ関数である「SHA-256」のハッシュ値算出の過程をアニメーションで表示できるプログラム「SHA-256 Animation」を公開しています。 GitHub - in3rsha/sha256-animation: Animation of the SHA-256 hash function in your terminal. https://github.com/in3rsha/sha256-animation 実際にプログラムを動かしてみたムービーが以下のものです。 ハッシュ値が生成される様子を「SHA-256 Animation」で観察するとこんな感じ - YouTube プログラムを動かす

                アニメーションで感覚的にハッシュ関数「SHA-256」の算出過程を理解できる「SHA-256 Animation」
              • [改訂新版]プロになるためのWeb技術入門

                2024年11月28日紙版発売 2024年11月28日電子版発売 小森裕介 著 B5変形判/528ページ 定価3,960円(本体3,600円+税10%) ISBN 978-4-297-14571-2 Amazon 楽天ブックス 丸善ジュンク堂書店 ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle honto 本書のサポートページサンプルファイルのダウンロードや正誤表など この本の概要 なぜWebシステムをうまく作ることができないのか?――本書は2010年に初版が発行されました。Webに携わるエンジニアだけでなく,Webマーケティング担当者にいたるまでWebの仕組みを根本から理解するための技術書として多くの方々に利用されました。それから10数年の月日が流れ,本書の特徴である技術の根本をていねいに解説するスタイルはそのままにアップデートを図

                  [改訂新版]プロになるためのWeb技術入門
                • 暗号アルゴリズム「SHA-1」の廃止を発表、NIST

                  米国国立標準技術研究所(NIST: National Institute of Standards and Technology)は12月15日(米国時間)、「NIST Retires SHA-1 Cryptographic Algorithm|NIST」において、暗号アルゴリズム「SHA-1」を廃止すると伝えた。SHA-1の暗号ハッシュ関数はすでに脆弱と評価されており米国政府機関での利用廃止が発表されている。 電子情報を保護するために初期に広く使われた手法の一つであるSHA-1アルゴリズムは、耐用年数が終了しているとして廃止が決定されている。SHA-1がまだ使用されているという現状から、より安全性の高い新しいアルゴリズムに置き換えることが推奨されている。 SHA-1という名称は「Secure Hash Algorithm」の頭文字からきており、1995年から連邦情報処理規格(FIPS:

                    暗号アルゴリズム「SHA-1」の廃止を発表、NIST
                  • RSA署名を正しく理解する

                    初めに 「署名とはメッセージのハッシュ値を秘密鍵で暗号化したものであり、検証は署名を公開鍵で復号してハッシュ値と等しいかを確認することである」という説明(×)をよく見かけます。 正しい署名の定義と実際のRSA署名がどのようなものであり、上記説明(×)がなぜよくないのかを理解しましょう。 署名の定義 署名の解説は署名の概要でも解説しましたが、再掲します。 署名(方式)は鍵生成(KeyGen)、署名(Sign)、検証(Verify)の3個のアルゴリズムからなります。 KeyGenではアリスが署名鍵sと検証鍵Sを生成します。署名鍵sは自分だけの秘密の値なので秘密鍵、検証鍵Sは他人に渡して使ってもらう鍵なので公開鍵ともいいます。 Signは署名したいデータmに対して署名鍵sを使って署名と呼ばれるデータσを作ります。 データmと署名σのペアを他人(ボブ)に渡します。 Verifyはボブが検証鍵Sを使

                      RSA署名を正しく理解する
                    • メールアドレスをハッシュ化したものを公開してもよいのか - しまたろさんの掃き溜め

                      注意 この記事は攻撃の実行を教唆する目的で書かれたものではなく、特定の状況におけるセキュリティ上の問題点を指摘するために公開しているものです。この記事に書かれた内容を実行して発生した結果について、筆者は一切の責任を負いません。 はじめに インターネット上で他人のメールアドレスをmd5で二重ハッシュしたものを公開されている方を見かけたため、解析する実験を行いました。 メールアドレスのユーザー名部分は多くの場合小文字のアルファベットと数字のみ(36文字)のそれほど長くない列で構成されており、ブルートフォース攻撃(総当り攻撃)によって簡単に特定できてしまうと考えられます。 またドメイン部分に関しても、一般の方が使うメールプロバイダが限られていることを考慮すると、サイズの小さい辞書でも十分な確率で当たるものと考えられます。 実験 今回はhashcatという、GPUでハッシュ値を解読するソフトウェア

                        メールアドレスをハッシュ化したものを公開してもよいのか - しまたろさんの掃き溜め
                      • 公開鍵暗号関連のテキストの間違いの典型例 - Qiita

                        はじめに 背景 世間一般の公開鍵暗号関連の解説書・サイトは99%あてになりませんが、一例として、とある情処対策の解説動画の添削を行います。 ※twitterで問題点を説明する機会があったので、折角なら記事として共有できる形にしようという動機からです。 対象 対象の動画は https://www.youtube.com/watch?v=rgK4FGENzMo で、2021/3/1時点の内容を元にしています。 ※後日修正される可能性もあるため。 なお、先に断っておくと、この動画が特別酷いわけではなくて、大体どれもどんぐりの背比べです。如何にみんな真面目に情報を検証していないか、ということが実感できます。 動画のスライドの添削 スライド1: ディジタル署名(~0:48) 第1段落「公開鍵暗号方式を使って」 ディジタル署名とは、公開鍵暗号方式を使ってデジタル文書の正当性を保証する技術です この表現

                          公開鍵暗号関連のテキストの間違いの典型例 - Qiita
                        • あなたの「公開鍵暗号」はPKE? それともPKC? - Cybozu Inside Out | サイボウズエンジニアのブログ

                          初めに サイボウズ・ラボの光成です。 いきなりですがクイズです。次のうち正しい説明はどれでしょう。 SSHやFIDO2などの公開鍵認証はチャレンジを秘密鍵で暗号化し、公開鍵で復号して認証する。 ビットコインでは相手の公開鍵を用いてハッシュ値を暗号化して相手に送る。 TLS1.3ではサーバ公開鍵を用いてAESの秘密鍵を暗号化する。 答えはどれも間違いです。 公開鍵認証は、(デジタル)署名を使って相手先の正しさを検証するものであり、暗号化は行われません。 同様にビットコインもデータや相手の正当性を確認するために署名が用いられ、暗号化は行われません。 TLS 1.3ではRSA暗号の公開鍵を用いて暗号化する方式(static RSA)は廃止され、ECDH鍵共有された値を元に秘密鍵を生成し、AES-GCMなどの認証つき暗号で暗号化します。 公開鍵暗号とは いわゆる公開鍵暗号には大きく2種類の意味があ

                            あなたの「公開鍵暗号」はPKE? それともPKC? - Cybozu Inside Out | サイボウズエンジニアのブログ
                          • DNSpooqの脆弱性詳細と攻撃コード解説 - knqyf263's blog

                            概要 要約 詳細 背景 前提 インターネット上に公開されたdnsmasq LAN内のマシンが攻撃者の支配下にある LAN内のマシンに攻撃者管理のWebサイトを閲覧させることができる 影響 中間者攻撃 汚染拡大 DDoS/Reverse DDoS CVE-2020-25684: ポートの多重化 CVE-2020-25685: 脆弱なCRC32の利用 CVE-2020-25686: 同一ドメイン名に対する複数クエリ発行 DNSフォワーダにおけるレスポンスの未検証 組み合わせる ドメイン名の登録 ソースIPアドレスの偽装 CRC32の衝突 攻撃の流れ ブラウザからの攻撃 検証端末 攻撃の成功確率 PoC fowarder cache attacker 大量クエリの送信 偽装レスポンスの送信 高速化の話 実行 対策・緩和策 余談 まとめ 概要 先日DNSpooqという脆弱性が公開されました。 ww

                              DNSpooqの脆弱性詳細と攻撃コード解説 - knqyf263's blog
                            • プログラマのための公開鍵による暗号化と署名の話

                              初めに 公開鍵による暗号化と署名をプログラマ向け(?)に書いてみました。ちまたによくある暗号化と署名の話はインタフェースと実装がごちゃまぜになっていることが分かり、暗号化と署名の理解が進めば幸いです(と思って書いたけど、余計分からんといわれたらすんません)。登場する言語は架空ですが、多分容易に理解できると思います。 公開鍵による暗号化PKE 早速、公開鍵による暗号化(PKE : Public Key Encryption)を紹介します。登場するのは暗号化したいデータのクラスPlainText, 暗号文クラスCipherText, 秘密鍵クラスPrivateKeyと公開鍵クラスPublicKeyです。PKEは次の3個のインタフェースを提供しています。 abstract class PKE { abstract keyGenerator(): [PrivateKey, PublicKey];

                                プログラマのための公開鍵による暗号化と署名の話
                              • SSL/TLS実践入門 ──Webの安全性を支える暗号化技術の設計思想

                                2024年4月25日紙版発売 2024年4月25日電子版発売 市原創,板倉広明 著 A5判/456ページ 定価3,740円(本体3,400円+税10%) ISBN 978-4-297-14178-3 Gihyo Direct Amazon 楽天ブックス 丸善ジュンク堂書店 ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo honto 本書のサポートページサンプルファイルのダウンロードや正誤表など この本の概要 SSL/TLSは,通信の秘密を守るために利用されている通信プロトコルです。HTTPSやHTTP/3にも利用されており,今日のWebでは利用が一般的になっています。本書では,その最新バージョンであるTLS 1.3のしくみと,その使い方を解説します。SSL/TLSは公開されている実装例などを真似すれば基本的

                                  SSL/TLS実践入門 ──Webの安全性を支える暗号化技術の設計思想
                                • 新型コロナの接触確認アプリCOCOAは、どうあるべきだったのか?

                                  COVID-19対策接触確認アプリ「COCOA」は残念ながら不具合が報道されて話題になりました。そのOSS開発については、誤解が蔓延しているようです。今回はOSSと社会との関係について考察します。(まつもと ゆきひろ) 昨今の新型コロナウイルス感染症の広がりを防ぐ手段の一つとして導入されたのが、接触確認アプリ「COCOA」(COVID-19 Contact Confirming Application)です。 このアプリケーションは、プライバシーを維持したまま、ユーザー同士の接触を記録します。もし過去14日の間で、距離1m以内に15分以上とどまっていた人が、後に感染が分かれば通知してくれます。 もし社会全体で6割以上の人がこのアプリを使えば、大幅な感染拡大の抑制が期待されるとのことでした。 COCOAはAndroid版とiOS版が提供されていますが、日本では2020年現在、スマートフォンユ

                                    新型コロナの接触確認アプリCOCOAは、どうあるべきだったのか?
                                  • SSHの公開鍵暗号には「RSA」「DSA」「ECDSA」「EdDSA」のどれを使えばよいのか?

                                    リモートでコンピューターにアクセスするためのプロトコルであるSSHは、コンピューターの認証を行うために公開鍵暗号を利用しています。公開鍵暗号の方式には「RSA」「DSA」「ECDSA」「EdDSA」があり、それぞれの仕組みと「SSHに適した方式」についてソフトウェア企業「Gravitational」のVirag Mody氏が解説しています。 Comparing SSH Encryption Algorithms - RSA, DSA, ECDSA, or EdDSA? https://gravitational.com/blog/comparing-ssh-keys/ 公開鍵暗号は、暗号化と復号に別々の鍵を用いる暗号方式のこと。例えば、ボブとアリスがやり取りを行う時、アリスは秘密鍵と公開鍵を作成し、公開鍵をボブに渡しておきます。ボブはアリスの公開鍵でメッセージを暗号化してアリスに送信。暗号

                                      SSHの公開鍵暗号には「RSA」「DSA」「ECDSA」「EdDSA」のどれを使えばよいのか?
                                    • 世界一わかりやすいゼロ知識証明 Vol.2: Zero-Knowledge Proofs in the Context of Modern Cryptography

                                      このブログシリーズをグラントプロジェクトとしてサポートしてくださっているイーサリアム財団、また執筆に際してフィードバックとレビューをしてくださった末神奏宙さんに感謝します。 Special thanks to Ethereum Foundation for awarding grants to this blog post series, and Sora Suegami for feedback and review. このブログシリーズは、ソフトウェアエンジニアに限らず、あらゆる日本の読者のみなさんに向けて、最先端の暗号技術とその重要性をわかりやすく説明するという趣旨で書かれています。それぞれ単体の記事としてもお読みいただけますが、順番に読み進めていくことでより理解が深まります。まだお読みでない方は、ブロックチェーンやコンセンサスアルゴリズムの仕組みについて解説しているVol.1を先に

                                      • 防衛省サイバーコンテスト 2025 writeup - st98 の日記帳 - コピー

                                        2/2に12時間というちょうどよい競技時間で開催された。21時終了だったけれども、11時45分ぐらいに最速で全完して1位🎉 第1回以来4年ぶりの優勝だ。昨年大会の第4回ではヒントの閲覧数で優勝を逃してしまって悔しい思いをしたので、雪辱を果たすことができ嬉しい。開始直後からずっと1位を独走できており、450名以上のプレイヤーがいる中で圧勝だったのも嬉しい。 昨年度や一昨年度はバルクが作問を担当していたが、今回はAGESTが担当していた。これまでの問題と比較すると全体的に易化したように思うが、解くにあたって発想の大きな飛躍を必要とするいわゆる「エスパー要素」のある問題はごく一部を除いて存在しておらず*1、よかったと思う。また、昨年度・一昨年度に引き続きwriteupは公開可能というのもよかった。 戦略というほどの戦略は立てていなかったけれども、とりあえずWebを見た後は全カテゴリを上から見て

                                          防衛省サイバーコンテスト 2025 writeup - st98 の日記帳 - コピー
                                        • 2020年版 チーム内勉強会資料その1 : JSON Web Token - r-weblife

                                          おはようございます。ritou です。 5月下旬ぐらいにチーム内勉強会としてJSON Web Token(JWT)についてわいわいやりました。 その際に作成した資料に簡単な説明を添えつつ紹介します。 このブログではJWTについて色々と記事を書いてきましたが、その範囲を超えるものではありません。 ちょっとだけ長いですが、ちょっとだけです。お付き合いください。それでは始めましょう。 JSON Web Token boot camp 2020 今回の勉強会では、JWTについて概要、仕様紹介という基本的なところから、業務で使っていくにあたって気をつけるべき点といったあたりまでカバーできると良いなと思っています。 JSON Web Token 概要 まずは概要から紹介していきます。 JSON Web Tokenの定義とはということで、RFC7519のAbstractの文章を引用します。 JSON W

                                            2020年版 チーム内勉強会資料その1 : JSON Web Token - r-weblife
                                          • Real World HTTP 第2版はなぜ1.5倍になったのか | フューチャー技術ブログ

                                            Real World HTTP 第2版が2020/04/20出版されました。第2版が出版されるというのは、初版をみなさまが買ってくださったおかげです。どうもありがとうございます。紙媒体は先行入荷する書店さんではすでに入っているようです。オライリーのウェブサイトから電子版を購入することもできます。 4/17新刊『Real World HTTP 第2版 歴史とコードに学ぶインターネットとウェブ技術』オライリー(978-4-87311-903-8)渋川よしき 著◆「オライリー」棚にて展開中!Webテクノロジーの基礎となるHTTPの仕様を網羅的に学べる学習書が内容を充実させて改訂! pic.twitter.com/k86zXGaHe9 — 書泉ブックタワーコンピュータ書 (@shosen_bt_pc) April 17, 2020 Real World HTTPの初版の執筆時にも、ネットで見かける

                                              Real World HTTP 第2版はなぜ1.5倍になったのか | フューチャー技術ブログ
                                            • Goのジェネリクス徹底理解

                                              1. ジェネリクスなしでの開発 ジェネリクスが導入される前に、異なるデータ型をサポートするジェネリック関数を実装するためにいくつかのアプローチがありました。 アプローチ1: 各データ型に対して関数を実装する このアプローチは、極めて冗長なコードと高い保守コストをもたらします。いかなる変更も、すべての関数に対して同じ操作を行う必要があります。さらに、Go言語は同じ名前の関数のオーバーロードをサポートしていないため、外部モジュールからの呼び出しにこれらの関数を公開するのも不便です。 アプローチ2: 最も広い範囲のデータ型を使用する コードの冗長性を避けるために、別の方法は最も広い範囲のデータ型を使用することで、つまりアプローチ2です。典型的な例はmath.Maxで、これは2つの数のうち大きい方を返します。様々なデータ型のデータを比較できるように、math.MaxはGoの数値型の中で最も広い範囲

                                                Goのジェネリクス徹底理解
                                              • 試行錯誤と改善を続けたRubyリリースマネジメントの歴史。その歩みを歴代の担当者たちが振り返る - Findy Engineer Lab

                                                世界中のエンジニアから愛されるオブジェクト指向スクリプト言語Ruby。多くの人々がこの言語にコントリビューションし、その成長を支えてきました。なかでも、特定バージョンのリリースの責任を持つ“リリースマネージャー”の功績はとても大きいものです。彼らの存在があったからこそ、Rubyのリリースは滞りなく行われてきました。 しかし、リリースマネジメントの歴史はけして平坦な道のりではありませんでした。歴代の担当者たちが、適切な運用方法について試行錯誤しながら、少しずつ改善を続けてきたのです。その過程には、全てのエンジニアにとって参考になるプロジェクトマネジメントの知見が詰まっています。 今回は、歴代のRubyリリースマネージャーである卜部昌平さん(@shyouhei)、園田裕貴さん(@yugui)、遠藤侑介さん(@mametter)、成瀬ゆいさん(@nalsh)にインタビュー。これまで担ってきた役割

                                                  試行錯誤と改善を続けたRubyリリースマネジメントの歴史。その歩みを歴代の担当者たちが振り返る - Findy Engineer Lab
                                                • 知られざる王小雲。米国の暗号学的ハッシュ関数MD5、SHA-1を過去に葬り去った女性研究者 - 中華IT最新事情

                                                  第4回未来科学大賞で多額の賞金が、数学者、王小雲に授与され、彼女の名前がにわかにメディアに注目をされた。王小雲は2004年に米国のハッシュ関数「MD5」の脆弱性を発見した研究者だったと資訊咖が報じた。 ネット社会に必須のハッシュ関数 デジタル時代、ハッシュ関数はさまざまなところで使われる。最もよく知られているのは、パスワードの保管や書類の改竄検知などだ。 ハッシュとは「混ぜこぜ」という意味で、元のデータを混ぜこぜにして、まったく別のデータに変換をしてしまうというものだ。例えば、「元の数値を2倍にして1を引く」という単純なアルゴリズムでもハッシュ関数に近いことができる。2であれば3になるし、7であれば13になる。元の数字とは異なったものになる。 しかし、これでは何かの役に立つことはできないため、暗号学者、数学者たちは、複雑なアルゴリズムを考案し、ハッシュ関数としてさまざまな応用をしてきた。こ

                                                    知られざる王小雲。米国の暗号学的ハッシュ関数MD5、SHA-1を過去に葬り去った女性研究者 - 中華IT最新事情
                                                  • RFC7938 - 大規模データセンター内でのルーティングのためのBGPの利用方法 - show log @yuyarin

                                                    はじめに この文書は RFC7938 - Use of BGP for Routing in Large-Scale Data Centers の日本語訳です。 翻訳者はデータセンターネットワークの専門家ですが翻訳の専門家ではありません。技術的な意味を維持した上でなるべく読みやすい日本語になるようにしているため、英文の直訳ではなく一部のニュアンスがかけている場合がありますのでご了承ください。オリジナルの目次、謝辞、参考文献等は省略しています。 免責 いつものやつ 目次 はじめに 免責 目次 概要 1. 導入 2. ネットワーク設計の要件 2.1 帯域とトラフィックのパターン 2.2 CAPEXの最小化 2.3 OPEXの最小化 2.4 トラフィックエンジニアリング 2.5 要件の要約 3. データセンタートポロジーの概要 3.1 従来のDCトポロジー 3.2 Closネットワークトポロジー

                                                      RFC7938 - 大規模データセンター内でのルーティングのためのBGPの利用方法 - show log @yuyarin
                                                    • NewSQLのコンポーネント詳解 - Qiita

                                                      4.2.1 Shardingの手法 先ほどの表1を理解するにはSharding手法の列にあげられた各用語の理解が必要となる。 YugaByteDBのブログ「Four Data Sharding Strategies We Analyzed in Building a Distributed SQL Database」には、非常に詳しくShardingの手法が紹介されている。この記事では、大きく以下4つの分類があるという。 Algorithmic Sharding (例: Memcached/Redis) Linear Hash Sharding (例: 過去のCassandra) Consistent Hash Sharding (例: DynamoDB、Cassandra) Range Sharding (例: Spanner、HBase) 詳細は割愛するが、1つ目のアルゴリズム・シャー

                                                        NewSQLのコンポーネント詳解 - Qiita
                                                      • ハッシュ関数「SHA-256」の計算プロセスをわかりやすく視覚化してくれる「Sha256 Algorithm Explained」

                                                        アメリカの国家安全保障局(NSA)によって開発された「SHA-2」は電子署名やブロックチェーンに応用される暗号学的ハッシュ関数の1つです。そのSHA-2の中でも特に使われているSHA-256でハッシュを生成するための計算プロセスがよくわかるサイト「Sha256 Algorithm Explained」を、Domingo Martin氏が公開しています。 Sha256 Algorithm Explained https://sha256algorithm.com/ Sha256 Algorithm Explainedにアクセスするとこんな感じ。 上部にある入力欄に、好きな文字列を入力します。今回はGIGAZINEのURLである「https://gigazine.net/」を入力してみました。すると、入力したURLをバイナリに変換したメッセージブロックが表示されます。メッセージブロックは32b

                                                          ハッシュ関数「SHA-256」の計算プロセスをわかりやすく視覚化してくれる「Sha256 Algorithm Explained」
                                                        • OWASPに学ぶパスワードの安全なハッシュ化 | DevelopersIO

                                                          Dropbox はソルトとペッパーを利用 次の Dropbox 技術ブログによると、2016年9月時点の Dropbox は、パスワードをソルト化とペッパー化のコンボで保存していました。 How Dropbox securely stores your passwords - Dropbox 具体的には パスワードを SHA512 でハッシュ化 このハッシュ値をソルトとともに bcrypt でハッシュ化 最後にペッパーを鍵に AES256 で暗号化 というようにパスワードを多段で保護してデータベースに保存していました(AES256(BCRYPT(SHA512(PASSWORD) + SALT), PEPPER))。 ※ 図はブログ記事より引用 Dropbox はあくまでもペッパーの実例として紹介しました。 bcrypt の項でお伝えしたように、bcrypt 処理前にパスワードをハッシュ化す

                                                            OWASPに学ぶパスワードの安全なハッシュ化 | DevelopersIO
                                                          • スタンフォードのコンピュータサイエンスの授業の感想(後編)|Rui Ueyama

                                                            2017年にも同じタイトルの記事を書いたのだけど、その後無事にスタンフォード大学院のコンピュータサイエンス学部を卒業することができたので、前回の記事以降に取った授業について、僕なりの感想をちょっとまとめたい。 CS255 暗号入門 (2018Q1)文字通り暗号についての授業。対称鍵暗号、公開鍵暗号、メッセージ認証、一方向ハッシュ関数などのトピックについて学ぶ。プログラミングではなく理論中心の授業。 宿題では、例えばこういう手順で暗号化される通信が安全であることを証明せよ、みたいな問題が出た。こういう問題は、もし安全ではないとしたらそれを利用して安全とされている暗号(AESとか)を破れてしまう、みたいな背理法で証明を行う。そういう巧妙な証明を考えるのは結構面白かった。あるいは逆に、このように暗号化された通信方式の穴を見つけよ、みたいな問題も出た。 AESやSHA256そのものがなぜ安全と思わ

                                                              スタンフォードのコンピュータサイエンスの授業の感想(後編)|Rui Ueyama
                                                            • フルスクラッチでSHA-256を作る

                                                              ハッシュ値の利用者として中身のアルゴリズムを知っておきたいと思ったのでTypeScriptで1からSHA-256を作ろうと思います。SHA-256は名前そのまま、どんな長さのメッセージでも256bitsのハッシュ値を返す関数です。 完成版はこちら 前提知識 論理演算(論理積とか論理和とか排他的論理和とか)とシフト演算が分かっていれば大体いけます。 論理積はAND。数式上では\land、コードでは&で表します。 論理和はOR。数式上では\lor、コードでは|で表します。 排他的論理和はXOR。数式上では\oplus、コードでは^で表します。 左シフト演算はビット列を左にnビット動かすやつです。値は2^n倍になります。数式上では\ll、コードでは<<で表します。 右シフト演算はビット列を右にnビット動かすやつです。値は2^{-n}倍になります。数式上では\gg、コードでは符号なしの右シフト演算

                                                                フルスクラッチでSHA-256を作る
                                                              • ブロックチェーン:膨張する看板に偽りはないか - 誠実なプロセスの必要性 -

                                                                夢と応用の概念が膨張したブロックチェーンの2021年2021年は、ブロックチェーンに関係する概念や言葉が、改めて注目を集めた年だったのではないだろうか。2008年に公開されたSatoshi Nakamotoによる未査読の論文によってビットコインが誕生し、その後ビットコインの基盤的機構をブロックチェーンという形で抜き出し、さまざまな応用への検討がなされたが、一方でブロックチェーンを利用する必然性を持った応用が見つけられない状況が続いていた。しかし、2021年になって、必ずしも新しい言葉や概念ではないものの、ビットコインが目指している方向である「正しい運用を仮定できるサーバを不要とする」という概念に基づく様々な言葉と、その言葉に関係する技術開発やプロジェクトが登場した。その多くは、プラットフォーマーによる独占からの解放、社会的な活動の民主化、陽が当たらなかった人へのインセンティブづけ、金融包摂

                                                                • ロスレス画像圧縮: QOI(Quite OK Image) format

                                                                  QOI(Quite OK Image) format 2021年11月にDominic Szablewski氏(@phoboslab)の手による新しいロスレス画像圧縮「QOI(Quite OK Image) format」がアナウンスされました。 C言語のヘッダオンリー・ライブラリとしてわずか300行たらずで実装され、PNGフォーマットに近いデータ圧縮性能でありながら、20~50倍のエンコード速度、3~4倍のデコード速度を実現しています(作者自身によるアナウンス記事より)。 アナウンス記事: Lossless Image Compression in O(n) Time ソースコード: GitHub phoboslab/qoi ベンチマーク結果: QOI Benchmark Result この記事ではQOIフォーマットに関する個人的評価と、その画像圧縮アルゴリズムをざっくりと解説します。

                                                                    ロスレス画像圧縮: QOI(Quite OK Image) format
                                                                  • 来たるべき量子コンピューターの時代に向けて一般人が知っておくべき「ポスト量子暗号」の基礎知識まとめ

                                                                    世界中の研究機関や企業が、従来のコンピューターでは複雑すぎて解けない問題を解ける量子コンピューターの開発競争を繰り広げており、中には「量子コンピューターは既にRSA暗号を解読できるようになっている」と主張する研究者もいます。登場が時間の問題ともいわれている量子コンピューターと、量子コンピューターによる暗号解読に対抗するために開発が進められている「ポスト量子暗号(PQC)」についてのFAQを、アメリカ国立標準技術研究所(NIST)がまとめました。 ・目次 ◆1:そもそも量子コンピューティングとは? ◆2:ポスト量子暗号化アルゴリズムとは? ◆3:「ポスト量子暗号」と「量子暗号」の違いは? ◆4:そんな危険な量子コンピューターがなぜ開発されているのか? ◆5:現行の暗号化技術とそれを量子コンピューターが解読する仕組み ◆6:ポスト量子暗号はどう役に立つのか? ◆7:なぜ今からポスト量子暗号の開

                                                                      来たるべき量子コンピューターの時代に向けて一般人が知っておくべき「ポスト量子暗号」の基礎知識まとめ
                                                                    • パスワード解析などに使われる「レインボーテーブル」の仕組みとは?

                                                                      パスワードやアクセスキーなどの重要なデータは「ハッシュ関数」で一方向の変換を行うことで、漏えいの被害を最小限に抑えることができます。しかし、パスワードとハッシュ値の組み合わせを記録したレインボーテーブルによって、ハッシュ値からパスワードを解析される攻撃を受ける危険性もあります。そんなレインボーテーブルの仕組みについて、ソフトウェアエンジニアのKestas "Chris" Kuliukas氏が図解しています。 How Rainbow Tables work http://kestas.kuliukas.com/RainbowTables/ ハッシュ関数は文字列を別の文字列に変換することができる関数で、変換前の文字列から変換後の文字列を計算することはできますが、変換後の文字列から変換前の文字列を計算することはできません。変換前の文字列は「平文(Plaintexts)」、変換後の文字列は「ハッシ

                                                                        パスワード解析などに使われる「レインボーテーブル」の仕組みとは?
                                                                      • RustのHashMapはentryが便利 | κeenのHappy Hacκing Blog

                                                                        κeenです。個人的によく設計したなと思っているRustのEntry APIについて紹介します。 標準ライブラリのHashMapの操作を無駄なく書きたい人におすすめ。 Entry APIとは HashMap のEntry APIというのは私が勝手に呼んでる名前ですが、 HashMap::entry を起点にして使えるメソッド群のことを指しています。 これは「HashMap に に対応する値があればそれにXXし、なければYYする」をするときに使います。 例えば HashMap<String, Vec<String>> にキーに対応する値(Vec<String>)があれば新たな文字列をpushし、なければ空 Vec を作って新たに文字列をpushするという操作をしてみましょう。 素直に HashMap::get_mut とパターンマッチを使って書くとこうなりますね。 // 準備 let mut

                                                                          RustのHashMapはentryが便利 | κeenのHappy Hacκing Blog
                                                                        • スマートフォンアプリのA/Bテスト実装例 - エムスリーテックブログ

                                                                          これは エムスリー Advent Calendar 2023 の3日目の記事です。 前日は三浦さん(@yuba)による「9時間足すんだっけ引くんだっけ問題~あるいは、諸プログラミング言語はいかにタイムゾーンと向き合っているか」でした。 こんにちは、エムスリーエンジニアリンググループ・マルチデバイスチームの藤原です。 マルチデバイスチームでは複数のスマートフォンアプリを開発しており、新機能の追加やレイアウト変更をする際はA/Bテストをすることもしばしばです。 今回は弊チームで採用しているA/Bテストの実装方法を2通り紹介します。 スマートフォンアプリのA/Bテスト Remote Configを用いた実装例 GraphQLを用いた実装例 GraphQLで実装してみてちょっとした感動があった We are hiring!! スマートフォンアプリのA/Bテスト A/Bテストとは、特定の要素を変更し

                                                                            スマートフォンアプリのA/Bテスト実装例 - エムスリーテックブログ
                                                                          • CISSP 勉強ノート

                                                                            目次の表示 1. 情報セキュリティ環境 1-1. 職業倫理の理解、遵守、推進 職業倫理 (ISC)2 倫理規約 組織の倫理規約 エンロン事件とSOX法の策定 SOC (System and Organization Controls) レポート 1-2. セキュリティ概念の理解と適用 機密性、完全性、可用性 真正性、否認防止、プライバシー、安全性 デューケアとデューデリジェンス 1-3. セキュリティガバナンス原則の評価と適用 セキュリティ機能のビジネス戦略、目標、使命、目的との連携 組織のガバナンスプロセス 組織の役割と責任 1-4. 法的環境 法的環境 契約上の要件、法的要素、業界標準および規制要件 プライバシー保護 プライバシーシールド 忘れられる権利 データポータビリティ データのローカリゼーション 国と地域の例 米国の法律 [追加] サイバー犯罪とデータ侵害 知的財産保護 輸入と

                                                                              CISSP 勉強ノート
                                                                            • 【夏休みの自由研究】そうだブロックチェーンを作ろう!

                                                                              はじめに ITニュースの方でも話しましたが、ここ数日、例の本でWeb3がとても話題ですね。まあ、炎上なので良い事では無いのですが、せっかくなのでその根幹技術らしいブロックチェーン周りの自分の理解を整理してみることにしました。とりあえず、簡易なブロックチェーンを作ってNFTやスマートコントラクトについても少し考えていきたいと思います。 なお、ネタでは無く詳しくない分野なので勘違いとかあると指摘してもらえると嬉しいです。 注意 あくまで私の理解のアウトプットなので実際の挙動や仕様とは異なる可能性があります 実践的で本格的な仕様や実装ではなく、あくまで基本的な理解のためのサブセットの作成 データの自由化!とかそういう話はしません ブロックチェーンを作ろう! ハッシュ値による改ざんの困難性 そもそもブロックチェーンとは何でしょうか? 一般には改ざんに強いP2Pな台帳という理解かな、と思います。暗号

                                                                                【夏休みの自由研究】そうだブロックチェーンを作ろう!
                                                                              • Real World HTTP 第3版 ミニ版

                                                                                TOPICS 発行年月日 2024年05月 PRINT LENGTH 207 ISBN 978-4-8144-0083-6 FORMAT PDF EPUB 本書は、2017年に発行し、2024年に第3版を発行した『Real World HTTP 第3版』のエッセンスを凝縮した、無料の電子書籍です。 HTTP/1.0、HTTP/1.1、HTTP/2と、HTTPが進化する道筋をたどりながら、ブラウザが内部で行っていること、サーバーとのやりとりの内容などについて、プロトコルの実例や実際の使用例などを交えながら紹介しています。 ミニ版のため、一部の内容を割愛しています。詳しくは本書の「まえがき」をご覧ください。 ミニ版の使用について ミニ版の図版やテキストは、著作権法で認められている引用の範囲に加えて、有志での勉強会、自社の社員向けの研修に用いるプレゼンテーション資料のために、全体の10~20%程

                                                                                  Real World HTTP 第3版 ミニ版
                                                                                • 楕円曲線暗号方式の強度について - dwango on GitHub

                                                                                  ※本ブログは2024/2に執筆されています。そのため、アップデートによってここに記載されている内容が現状と乖離する可能性があります。記載する内容を参照する場合は自己責任でお願いします。 はじめに こんにちは! ドワンゴでエンジニアをやっている小林と申します。競技プログラミングを趣味にしています。 今回は業務には関係ありませんが、個人的に興味のあるトピックであるセキュリティーについて執筆します。 対象読者: 以下のどれかを満たす人 AtCoder で青色〜黄色以上、あるいは意欲のある水色以上 暗号理論に興味のある人 数学が好きな人 また、簡単な群論の知識を仮定します。(群の定義など) まとめ セキュリティーの強さはセキュリティーレベルと呼ばれる尺度で測ることができます。 \(k\) ビットセキュリティーはおよそ \(2^k\) 回の計算を要するレベルです。 \(n\) ビットの楕円曲線暗号方

                                                                                    楕円曲線暗号方式の強度について - dwango on GitHub