並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 295件

新着順 人気順

ハッシュ関数の検索結果161 - 200 件 / 295件

  • 政府基準に準拠するために「より脆弱なハッシュ関数」の使用を監査人に命じられた話

    ユーザーパスワードなどの重要なデータを保管する企業や組織は、平文でパスワードを保存するのではなく、暗号学的ハッシュ関数で一方向のみ変換可能な「ハッシュ値」としてデータを格納します。政府の資金を用いる機関に所属していたという人物が、「政府の基準に準拠するため、従来より脆弱なハッシュ関数を使用するように監査人に指導された」と報告して話題となっています。 They want us to be compliant, not secure | Go350 https://www.go350.com/posts/they-want-us-to-be-compliant-not-secure/ They want us to be compliant, not secure | Hacker News https://news.ycombinator.com/item?id=25543818 2020年

      政府基準に準拠するために「より脆弱なハッシュ関数」の使用を監査人に命じられた話
    • そろそろ暗号方式やらデジタル署名やらを理解する - Qiita

      Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? ソフトウェアエンジニア歴そろそろ1年だしまとめる。 暗号方式2種類 (1)秘密鍵(共通鍵)暗号方式 HS256 (HMAC with SHA-256)はそのアルゴリズムの一つ(?) クライアント側とサーバー側が共通のSecretKeyを持つ。 JWT, HTTPS通信の実際のやり取りで使われる 公開鍵暗号方式より高速(1/1000)で暗号化、復号の処理ができると言われている。 (2)公開鍵暗号方式 非対称アルゴリズム(公開鍵と秘密鍵を使用) 実現したいのは「公開鍵で暗号化したものが秘密鍵を持つ人間にしか復号できない」こと このため、キー

        そろそろ暗号方式やらデジタル署名やらを理解する - Qiita
      • CyberChef 超入門 (例題付き) - 午前7時のしなもんぶろぐ

        お久しぶりです。しなもんです。 今回は最近日本でもファンを増やしている便利ツール、"CyberChef" をご紹介します。 CyberChef とは? 豊富な機能 使い始めるのが簡単 直感的に操作可能 処理を繋げて表現できる ブラウザだけで機能する 隔離された環境でも使える Recipe をセーブ/ロードできる 処理速度が微妙・大きなファイルが苦手 初めての CyberChef:〇〇などない 例題1:Coin Challenge! 例題2:Et tu, Brute? 例題3:dots&dushes 例題4:reversible hash 例題5:X-channel light rays 応用編:Emotet ダウンローダからの通信先の抽出 重要な注意点 前提 解析! まとめ 参考資料 CyberChef とは? CyberChef (サイバーシェフ) とは、英国政府通信本部 (GCHQ)

          CyberChef 超入門 (例題付き) - 午前7時のしなもんぶろぐ
        • ブロックチェーンとWebに「100年構想」はあるか - べき論からの脱却に向けて -

          誠実さの不足からの帰結昨年(2021年)の年末の総括の記事で、ブロックチェーンとWebの未来に関する喧騒の中で、「看板と中身を一致させる誠実さ」の必要性について述べた。今年、ブロックチェーンとその応用を取り巻く環境は、熱狂から「冬」と称される状況に大きく変化した。個人的には、この状況を「冬」と呼んでしまうこと自体、やや誠実さに欠けるのではないかと思う。太陽系の動きによって自動的に季節が巡るのと同じように、時間がこの状況を解決してくれるような淡い期待が込められているように感じられるからだ。現在の状況は、昨年の記事で指摘した状況がそのまま発生し、下限のストッパーが見えないままだ。もちろん、その時の暗号資産とフィアット通貨の交換レート(これを価格と呼ぶ人もいるようだし、それを元に時価総額とかTotal Value Locked(TVL)などの誤解を生む用語も出てくるが)が、現実世界の金融引き締め

          • 【パスワード】bcryptとは

            bcryptとは、Blowfish暗号を基盤としたパスワードハッシュアルゴリズム(暗号学的ハッシュ関数)です。 一般的にパスワードは、元に戻すことが困難である「一方向性関数」の性質を持つハッシュ関数を用いてハッシュ値で保管します。 次の図は、パスワードを「平文」「暗号文」「ハッシュ値」で保管していた際のイメージ図です。 「平文」は漏洩したらパスワードが盗まれてしまいます。 「暗号文」は暗号化されていますが「暗号文」を復号する「鍵」があればパスワードを解読できます。パスワードが情報漏洩した時点で、もしかしたら「鍵」も漏洩しているかもしれません。そのため、パスワードを暗号文で保管するのは十分な対策とはいえません。 そして最後は「ハッシュ値」です。適切なハッシュ関数を使っていればハッシュ値へと変換した値を元に戻すことは非常に困難です。 スポンサーリンク しかし「ハッシュ値」で保管するだけでは十分

              【パスワード】bcryptとは
            • ハッシュ関数:気になる情報セキュリティ用語 - 叡智の三猿

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

                ハッシュ関数:気になる情報セキュリティ用語 - 叡智の三猿
              • BTC-TAKEOFF

                こんにちは。 今回は仮想通貨(暗号資産)の保管方法について少しお話したいと思います。 まず、保管方法は大きく分けて2パターン。 仮想通貨の保管方法 (1)取引所に預ける 銀行に預金するのと同じイメージです。 (2)自分で管理する 自宅に金庫を構えて保管するイメージです。 基本的にどちらでもOKですがオススメは後者。 なぜなら中央集権的なシステムから脱却しようという思想がブロックチェーンの根底にあるから。 中央集権的なシステムの場合、 何かあるたびにマージンを取られる、お金の価値も決められてしまう(流通量)、 はたまた経済が不安定な国では口座凍結・出金制限なんてことも考えられます。 これは既存のシステムを批判しているわけではなく、 誰かに管理してもらうのも楽で便利だけど リスクヘッジの手段(選択肢の一つ)として管理者が存在しない資産があっても良いんじゃないの? という考え方です。 その代わり

                  BTC-TAKEOFF
                • インデックスとは?仕組みをわかりやすく解説

                  データベースにおけるインデックスとは、目的のレコードを効率よく取得するための「索引」のことです。テーブル内の特定の列を識別できる値(キー値)と、キー値によって特定された列のデータが格納されている位置を示すポインタで構成されています。インデックスを参照することで目的のデータが格納されている位置に直接アクセスすることができ、検索を高速化することができます。 テーブルのある行へのアクセスを集合住宅での荷物の配達に例えると、インデックスの有無は以下のように表現することができます。 ・インデックス無 集合住宅を歩き回り、各戸の表札を見て配達先かどうか確かめる ・インデックス有 住民の情報が書かれた見取り図で配達先を確認して向かう インデックスの効果は以下のような特徴を持つ表で特に現れやすいです。 ・行数が多い ・検索対象の項目に値の重複、偏りが少ない ・表の更新・追加・削除が少ない 一方以下のような

                  • opensslコマンドでの証明書の整合性と検証結果の確認方法・オプション解説 | 株式会社ビヨンド

                    皆様こんにちは。 寝起きの朝がこの世の終わりのように辛い、システムソリューション部所属のなかです。 今回は下記の記事に続く、opensslコマンドでSSL証明書を確認する系の第2弾な記事です。 前回の記事では、証明書で一番意識するであろう「有効期限」の確認に絞った内容でした。 opensslコマンドでの証明書の有効期限の確認方法・オプション解説 証明書を「新規」・「更新」にかかわらず発行した際は「整合性」の確認が重要です。 「整合性」についてopensslコマンドで確認する方法の説明が1点 証明書を適用後、証明書が認証局での「検証」が成功しているかも確認した方がよいため、 「検証」に問題がないかをopensslコマンドで確認する方法の説明で1点 今回の記事は、上記の2点をテーマに 「opensslコマンドでの証明書の整合性と検証結果の確認方法・オプションについて解説」 「確認方法についてな

                      opensslコマンドでの証明書の整合性と検証結果の確認方法・オプション解説 | 株式会社ビヨンド
                    • HMAC正しく理解していますか?|peg

                      プログラマーであれば一度は目にしたことがありそうなHMACですが、どうやって算出されているかを知ってる人は少ないかと思います。少なくとも私は頻繁に使うものの知りませんでした。 BIP32等ブロックチェーンの世界でも度々登場している他、API認証としても利用しています。メッセージに加えて、パスワードとなる暗号キーを用いてハッシュ値を生成するものという認識で、自分のサービスで使用する際はもっぱらユーザ認証目的で使用しています。 ブラックボックスとしている実際の算出方法は気にしたことがありませんでしたが、正しく理解するために調べた備考録としてこれを記します。 検索した所、HMACは1997年のRFC2104で定義されていましたが、これでは古すぎて今の利用のされ方と相違した定義になっていることも考えられます。そのためWikipediaで概要を確認した後RFC2104を読んでみます。 Wikiped

                        HMAC正しく理解していますか?|peg
                      • aipicasso/emi · Hugging Face

                        このモデルをこのページからダウンロードするためにはHugging Faceに登録された情報を提供する必要があります。この提供された情報は画像生成AIを活用する情報を案内するために使われます。 To download this model from this page, you need to provide information registered with Hugging Face. The information provided will be used to guide you on how to utilize the image-generation AI. \n","classNames":"hf-sanitized hf-sanitized-66X6StOOYP2NMKx7-rXRn"},"gated":"auto","isLoggedIn":false,"repoId

                          aipicasso/emi · Hugging Face
                        • 転送データの暗号化  |  Documentation  |  Google Cloud

                          フィードバックを送信 転送データの暗号化 コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。 これは Google が暗号化によってどのようにデータを保護しているかに関する 3 番目のホワイトペーパーです。このホワイトペーパーでは、Google Cloud と Google Workspace での転送データの暗号化について詳しく説明します。 Google ではすべての Google プロダクトで、顧客データを高度に保護するとともに、セキュリティ保護の方式についても可能な限り透明性を確保するよう努めています。 このコンテンツの最終更新日は 2022 年 9 月で、作成時点の状況を表しています。お客様の保護の継続的な改善のために、Google のセキュリティ ポリシーとシステムは変更される場合があります。 CIO レベルの概要 Google では転送データの信頼

                            転送データの暗号化  |  Documentation  |  Google Cloud
                          • GoによるTLS1.3サーバーの実装

                            はじめに TLSプロトコルの理解を目的として、Go言語によりTLS1.3のフルハンドシェイクのサーバー実装を行いました。この記事では、実装の過程で得た学びをまとめたいと思います。Go言語はTLSをOpenSSLではなく自前で実装しています。暗号処理関連のパッケージが整っているため、TLSプロトコルの仕様に沿った自然な実装がしやすい言語だと思います。 実際に書いたコードはgo-tlsで公開しています。また、同内容はスライドとしてLearning-TLS1.3-with-Go-full.pdfでもまとめています。 暗号処理 TLSの内容に入る前にまず暗号処理の概要について見ていきます。次の3つの性質が重要です: 秘匿性 (Confidentiality) 通信内容が通信相手以外から読み取られないこと 完全性 (Integrity) 通信内容が途中で改ざんされていないこと 正真性 (Authen

                              GoによるTLS1.3サーバーの実装
                            • 広く使用されているユーザー認証プロトコルを危険にさらす「Blast RADIUS攻撃」が報告される

                              RADIUSはネットワーク接続の際に用いられる一般的なユーザー認証プロトコルです。元はダイヤルアップ接続を念頭に1991年に開発されたものでしたが、記事作成時点でもほぼすべてのスイッチ・ルーター・アクセスポイントなどでサポートされています。新たに報告された「Blast RADIUS攻撃」は、そんなRADIUSをバイパスして攻撃アクターがネットワークデバイスやサービスにアクセスできるようになる攻撃手法とのことです。 BLAST RADIUS https://www.blastradius.fail/ RADIUS/UDP vulnerable to improved MD5 collision attack https://blog.cloudflare.com/radius-udp-vulnerable-md5-attack New Blast-RADIUS attack breaks 3

                                広く使用されているユーザー認証プロトコルを危険にさらす「Blast RADIUS攻撃」が報告される
                              • Ethereumの1ブロック先を予測せよ - DeFiで落ちてるお金を拾いたいブログ

                                はじめに こんにちは。住民税の通知書が今日届いたビビドット🫡 (@vividot) / Twitterです。出国していいですか? 今回は知っている人は知っているし知らない人は知らない、Ethereumのブロックの時間について少し不思議な話を書きたいと思います。 地味な小ネタですが、塵も積もれば山となることは僕の住民税が保証します。 直近ではmegamiのmintにも関連する話で、狙っていたmegamiを人に取られた…という人は是非最後まで読んでみてください。 はじめに ブロックの時刻 とは 確かめてみよう それがなんだってんだい ①乱数を操作する ②セールでTXを誰よりも早く叩きつける 初心者はセールで必ず1ブロック遅れてしまう ガスの設定を覚えても、早漏TXを出して失敗しがち ほなどうしたらええねん あとがき ブロックの時刻 とは Ethereumのブロックにはそれぞれ時刻(times

                                  Ethereumの1ブロック先を予測せよ - DeFiで落ちてるお金を拾いたいブログ
                                • ユースケースに応じたユニークなIDの生成 - Carpe Diem

                                  概要 ユニークなID生成をしたい場面は多々ありますが、ユニークIDにはユースケースによって以下のような要件が出てきます。 ユニーク 短い(=データ量が少ない) 推測困難 分散性(ランダム性) 順序性(Lexicographical) 生成速度 それぞれの観点について説明し、最後にGoでオススメの選択肢を提示します。 ユニーク ユニークIDというのでそのまんまではありますが、一番満たさなければいけない要件です。 特に現代におけるサービスでは高トラフィックをさばくためにスケール性を重視し、分散システムであっても衝突しないIDを求められます。 例えばMySQLのようなDBのauto_incrementを使う場合、そのDBがスケールしにくい&SPoFといった課題があります。 Twitterで開発されたsnowflakeは以下のフォーマットになっており、 ※instance = machine id

                                    ユースケースに応じたユニークなIDの生成 - Carpe Diem
                                  • シャーディング経験者に向けたSpannerのコンセプト解説

                                    この記事の目的 リレーショナルデータベース(以下、RDBMS)を大規模に利用されるときの構成手法として、データベースシャーディング(Database sharding)という方法があります。オンラインゲームやSaaSなどアクセス頻度が高く、個別のユーザーごとの操作による更新量が大きい用途などでデータベースの書き込み性能の限界に対しての回避策として多くの場面で利用されている手法です。 この手法の実現方法や得失について簡単に解説したあと、この手法の経験者がSpannerを使う場合にシャーディングでの概念をどのようにSpannerに対応できるか解説します。 シャーディングについては十分わかっており、概念の読み替えだけを知りたい方は最後の表をご覧ください。 RDBMSでのシャーディングの構成 シャーディングは通常水平分割で実現されます。つまり1つのテーブルのレコードを複数の異なる物理データベースに

                                      シャーディング経験者に向けたSpannerのコンセプト解説
                                    • セキュリティと暗号

                                      前年(訳注: 2019年)のセキュリティとプライパシーの講義はコンピューターの ユーザー としてどのようによりセキュアにできるかという点に注目していました。今年は、セキュリティと暗号理論のうち、この講義で先に取り上げたツール群を理解するために関係する事柄に注目します。例えば、Gitにおけるハッシュ関数や、SSHにおける鍵導出関数と対称・非対称鍵の利用についてです。 この講義はより厳密で完全なコンピューターシステムのセキュリティ(6.858)、暗号理論(6.857 and 6.875)コースに代わるものではありません。セキュリティの正式な教育を受けずにセキュリティの仕事をしてはなりません。専門家でなければ、暗号を自作してはいけません。同じことはシステムのセキュリティにも当てはまります。 この講義ではとても簡単に(ただ実用的であると考える)基礎的な暗号理論の扱い方を示します。 どのようにセキュ

                                      • React.jsで簡単なユーザー認証アプリを作ろう!初心者向けガイド - deve.K's Programming Primer - プログラミング初心者のための入門ブログ

                                        はじめに プロジェクト作成 スタイリング 親コンポーネント 子コンポーネントの実装 ログイン状態の保持 ユーザー情報の保存 ログアウト処理 注意点 最後に はじめに 本日は、ユーザー登録、ログイン、ログアウトの機能を持つ認証アプリの基本的な構成を初心者向けに解説します。 Reactでは、ユーザーの認証状態を管理するためにReact ContextやReduxなどの状態管理ライブラリを使用するのが一般的です。 初心者には、Reactの状態管理やファイル構造、データフローに関する概念を理解することは初めての課題かもしれません。 そのため、React ContextやReduxのような状態管理ライブラリを使うことが一般的ですが、これらは初心者にとっては少し複雑に感じるかもしれません。 React Contextフックを使った状態管理では、通常よりもファイル構造が複雑になることがあります。 また、

                                          React.jsで簡単なユーザー認証アプリを作ろう!初心者向けガイド - deve.K's Programming Primer - プログラミング初心者のための入門ブログ
                                        • 分散システムにおけるScalableな名前付けアルゴリズム「Chord Protocol」を実装してみた - Qiita

                                          分散システムにおける名前付けとは? 分散システムの分野には「名前」、「名前付け」、「アドレス」と呼ばれる概念があります。 それぞれどのような意味を持っているのでしょうか? 名前付けと名前 分散システムはネットワークを通じてそれぞれのサーバ、プロセスが協調して動作しています。 この中で、各サーバ、プロセスはやり取りをする相手の「名前」を知らなければやり取りを行うことができません。 この名前の解決を行うことを「名前付け」と呼んでいます。 そして、あるリソース(特定のプロセス、サーバなど)を一意に特定するための文字列を「名前」呼んでいます。 アドレス 名前が分かっていても実際にはそれだけではやり取りできず、実際には「アドレス」と呼ばれるリソースの住所に対してアクセスすることでやり取りが成立します。 つまり、リソースに対する実質的なアクセスポイントをアドレスと呼んでいます。 名前との違いは、名前は

                                            分散システムにおけるScalableな名前付けアルゴリズム「Chord Protocol」を実装してみた - Qiita
                                          • フロントエンド DB で運用コストゼロ

                                            最近はサーバーレスの SQLite が人気みたいですが、個人的には sql.js-httpvfs が好きです。 個人開発で運用コストをゼロにしたいなら、こちらのほうが気楽です。 sql.js-httpvfs は Accept-Ranges を利用して、 DB のすべてのデータを fetch することなく、必要な時にバイト単位での fetch を実現します。 つまり DB をフロントエンドに置いた運用開発ができます。 バイト単位での fetch を実現する Accept-Ranges の仕組みは、フロントエンド新時代を支える技術になる気がしています。 静的 DB はフロントエンドへ移行する ほとんどの開発において DB / ネットワークが最初にボトルネックになります。 昔から bytes-level fetch ができればフロントエンドに DB を置けるのにとは思っていたので、 Accept

                                            • パスワードはハッシュ化する - 叡智の三猿

                                              はじめて作った顧客管理システム わたしがはじめて、顧客管理のシステムを構築したのは1999年です。間近に迫るY2K問題(西暦2000年に世界中のシステムが障害を起こし、パニックになるかもしれない問題)を抱えた緊張のときでした。 きっかけは、当時、在籍していた会社が、ある香水会社の販売代理店の契約を締結したことです。わたしは、顧客からのネット注文に応えるため、簡単なWebサイトと、注文フォームを作りました。注文情報は、sendmailコマンドにより、受注担当者が電子メールとして受付します。担当者がメールで確認した注文内容をアクセスで作った受注画面に登録します。アクセスDBには、商品、顧客などのマスタテーブルと、受注、出荷のトランザクションテーブルを関連付け、出荷情報は経理がエクセルで確認できるよう、ODBC接続をしました。 これは、突貫工事で作った仕組みです。このとき、情報セキュリティを意識

                                                パスワードはハッシュ化する - 叡智の三猿
                                              • エンジニアなら知らないとヤバいSSHの基礎

                                                インフラエンジニアでなくともSSH接続や公開鍵認証は基本知識として覚えといたほうがいいです。 普段めったに触ることのないiOSエンジニアでもknown_hostsや鍵生成などと接する機会は定期的に発生します。 GitHubにSSHの技術が使われています。基本知識として覚えといて損はないと思います。 この記事ではSSHの基本理解から始まり、実際にGitHubに対して公開鍵認証でSSH接続するまでを説明します。 SSHとは? SSHとは、安全にネットワーク先のコンピュータと通信するためのプロトコルです。 暗号や認証の技術を利用してセキュリティを強固にしており、このプロトコルによる通信は全て暗号化されます。 ちなみにSSHはSecure Shellの略名です。 SSHは通信元がなりすまし防止するために認証の仕組みを提供している。 SSHプロトコルを実装したソフトウェア SSHはあくまでRFCによ

                                                  エンジニアなら知らないとヤバいSSHの基礎
                                                • go-ethereumの暗号ライブラリ活用戦略

                                                  ブロックチェーンで活用される暗号技術や、Ethereumのアーキテクチャについて学び、理解を深めることを目的に、Ethereumの最初の実装の1つであり最も使われテストされているクライアント go-ethereum から得られた知見をこの記事にしました。 本記事では、暗号ライブラリは何がどのように使われているのか、という切り口からコードリーディングを行い、解説しています。 記事の内容に不備等あれば是非フィードバックいただきたいです。 概要 go-ethereumにおけるパッケージの活用方法は2通り。直接importして利用するか、ラップしたライブラリを go-ehtereum/crypto に実装して使うか。 プリコンパイルドコントラクトの機能など、一部独自に実装されているものもあるが、ほとんどの暗号技術はGoの標準や準標準の暗号ライブラリを基盤として機能しており、実績のあるライブラリを再

                                                    go-ethereumの暗号ライブラリ活用戦略
                                                  • サーバー負荷を減らすための簡易的クーポンコード発行とチェック機構のつくり方

                                                    世の中のWebサービスの中には、抽選応募や割引クーポンのように、ユーザー獲得を狙ったり、オフラインとオンラインを結びつけたり、マーケティングの施策がいくつかあります。 本の付録に特典コードが付いており、購入者のみがWeb診断テストを受けることができるオンラインショッピングで買い物をすると、次回使える割引クーポンがメールで送られる商品のラベルやレシートに抽選IDが付いており、Webからプレゼントの抽選応募ができる 運営側の立場からすると、上記のようなクーポンコードやアクティベーションのためのアクティベートコードなど、ユニークでランダムな文字列を使って管理することがあると思います。 C6nwEPaQ 例えば上記のような文字列ですね。 このような文字列リストを生成したいとなった場合、ランダムに文字を繋ぎ合わせて、重複のない文字列を発行するプログラムを組むことで実現できるでしょう。 また、Webサ

                                                      サーバー負荷を減らすための簡易的クーポンコード発行とチェック機構のつくり方
                                                    • マイクロソフト、SHA-1で署名された「Windows」関連ファイルのダウンロードを停止へ

                                                      印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます Microsoftは米国時間7月28日、SHA-1を用いてデジタル署名されたWindows関連ファイルのダウンロードを「Microsoft Download Center」から除去する計画を発表した。これらのファイルは8月3日に削除される予定だという。 同社は今回の決定について、SHA-1アルゴリズムのセキュリティ問題を理由に挙げている。 同社の発表では「SHA-1は、セキュリティコミュニティーの大半がもはやセキュアではないと確信している、レガシーな暗号化ハッシュ手段だ。デジタル署名にSHA-1のハッシュアルゴリムが用いられている場合、攻撃者はコンテンツの偽装やフィッシング攻撃の実行、中間者(Man In The Middle)攻撃が可

                                                        マイクロソフト、SHA-1で署名された「Windows」関連ファイルのダウンロードを停止へ
                                                      • Rustで最速のサーバソフトウェアを目指す!

                                                        最速を目指さないなら、なんのためのRustなのか! メモリの安全性?信頼できる並列性?そんなものは飾り、最速あっての、Rust愛です。 サーバソフトウェアの実装を容易にする非同期処理(async/await)機能も充実してきて、「RustでHTTPサーバを書いてみよう」というような情報をたくさん見かけます。しかし、最速という観点が欠け、Rust愛が足りていないようです。 Webフレームワークなど、数多くのOSSソフトウェアに利用されている、最も人気の非同期ランタイムのTokioを試してみました。 Tokioを利用したサーバアーキテクチャTokioの公式ガイドなどを見て、同じようなコードで、HTTPサーバのような、TCPプロトコルで多数のクライアントからのリクエストを処理するようなサーバソフトウェアを実装すると、下記の図ようなアーキテクチャでリクエストが処理されます。 Tokioを使った標準

                                                          Rustで最速のサーバソフトウェアを目指す!
                                                        • 電磁波の闇に挑む特殊チーム - 叡智の三猿

                                                          ChatGPTによる「電磁波攻撃による情報搾取」をテーマとした物語 2040年の未来、世界は電磁波の支配下にある。技術の進歩により、人々は電磁波を利用して情報を送受信し、制御する能力を持っていた。それは便利で革新的な方法であり、通信は以前に比べてはるかに迅速かつ効率的になった。 しかし、この技術は暗い側面も持っていた。悪意ある者たちは、電磁波を使って情報を盗み、操ることで権力を握ろうとしていた。彼らは巧妙な手法で、電磁波を介して個人の秘密や企業の機密情報を盗み出し、それを利用して不正行為や脅迫を行った。 主人公は、この電磁波の悪用に立ち向かうために活動する特殊なチームの一員だった。彼らは、テクノロジーと戦術を駆使して、電磁波を使って情報を搾取する犯罪者たちを追跡し、彼らの悪事を阻止する使命を負っていた。 ある日、彼らのチームは大規模な犯罪組織が企てる巨大な計画を突き止める。この組織は、電磁

                                                            電磁波の闇に挑む特殊チーム - 叡智の三猿
                                                          • RFC7432 BGP MPLS-Based Ethernet VPN - show log @yuyarin

                                                            はじめに この文書は RFC7432 BGP MPLS-Based Ethernet VPN の日本語訳です。 翻訳者はデータセンターネットワークの専門家ですが翻訳の専門家ではありません。技術的な意味を維持した上でなるべく読みやすい日本語になるようにしているため、英文の直訳ではなく一部のニュアンスがかけている場合がありますのでご了承ください。オリジナルの目次、謝辞、参考文献等は省略しています。 免責 いつものやつ 目次 はじめに 免責 目次 Abstract 1. はじめに 2. 要件の仕様 3. 用語 4. BPG MPLSベースのEVPNの概要 5. イーサネットセグメント 6. イーサネットタグID 6.1. VLAN-Based サービスインターフェイス 6.2. VLAN Bundleサービスインターフェイス 6.2.1. Port-Based サービスインターフェイス 6.3.

                                                              RFC7432 BGP MPLS-Based Ethernet VPN - show log @yuyarin
                                                            • 怪しいファイル・サイトを検査! 「VirusTotal」の安全な使い方教えます! - 午前7時のしなもんぶろぐ

                                                              お久しぶりです! しなもんです。 大変お待たせしました……(。>﹏<) 最近は Twitter でばかり活動していてしなもんぶろぐの方はご無沙汰でしたが、ちゃんとブログも続けていくつもりですのでこれからもどうかご愛読ください。 ブログでは主にセキュリティ技術者以外の一般の方向けのある程度ボリュームある記事を書いている (つもりな) のですが、Twitter では単なる思い付きやある程度詳しい方向けのつぶやき (と雑談) がメインになっています。 もしよろしければあわせてご覧ください。 twitter.com さて、本日はファイルやサイトの危険性を検査できるサイト「VirusTotal」と、その安全な使い方をご紹介します。 VirusTotal って何? VirusTotal のすごいところ 無料で使える 色々なセキュリティソフトの検査結果を一覧ですぐ見られる Google が運営している

                                                                怪しいファイル・サイトを検査! 「VirusTotal」の安全な使い方教えます! - 午前7時のしなもんぶろぐ
                                                              • 情報セキュリティ・シンポジウム(第23回)の模様:オープン・ソース・ソフトウェアのセキュリティ

                                                                IMES DISCUSSION PAPER SERIES INSTITUTE FOR MONETARY AND ECONOMIC STUDIES BANK OF JAPAN 日本銀行金融研究所 〒103-8660 東京都中央区日本橋本石町 2-1-1 日本銀行金融研究所が刊行している論文等はホームページからダウンロードできます。 https://www.imes.boj.or.jp 無断での転載・複製はご遠慮下さい。 情報セキュリティ・シンポジウム(第23回)の模様: オープン・ソース・ソフトウェアのセキュリティ Discussion Paper No. 2023-J-9 備考: 日本銀行金融研究所ディスカッション・ペーパー・シ リーズは、金融研究所スタッフおよび外部研究者による 研究成果をとりまとめたもので、学界、研究機関等、関 連する方々から幅広くコメントを頂戴することを意図し ている

                                                                • React Native Expo 全SDK まとめ - Qiita

                                                                  Swift+Railsなスタックで7年くらいアプリ作ってきましたが、最近はReactNative+Firebaseに完全移行しちゃいました。Expo素敵すぎる...もっと早く手出しておけばよかった... そこらへんの話はまた今度にして、ExpoSDK(v37)を勉強がてらさらっと眺めてみます。 AR https://docs.expo.io/versions/v37.0.0/sdk/AR/ iOSのみ、three.jsのラッパー Accelerometer https://docs.expo.io/versions/v37.0.0/sdk/accelerometer/ 端末の加速度を監視できる Admob https://docs.expo.io/versions/v37.0.0/sdk/admob/ モバイル広告「Google Admob」のラッパー Amplitude https://

                                                                    React Native Expo 全SDK まとめ - Qiita
                                                                  • BigQueryでチェックサムをする方法 - 株式会社ししまろ

                                                                    目次 チェックサムとはBigQueryでチェックサムをする方法まとめ参考 チェックサムとは チェックサムとは、データの整合性を確認するための手法です。 データから特定のアルゴリズム(ハッシュ関数など)を利用して、固定長のチェックサム値を生成します。チェックサム値が同じ場合、データの中身が一致している可能性が高く、チェックサム値が異なる場合、データの中身が異なると判断できます。 クエリをリファクタリングする際や、テーブルを書き換えたときに、書き換え前後で値が一致している(デグレしていない)ことをチェックするのに役立ちます。 データベースによってはチェックサム用の関数が用意されていることもあります。例えば、Oracle Databaseではチェックサム関数が用意されています。 BigQueryでチェックサムをする方法 BigQueryの標準SQLでチェックサムをするには、以下のクエリを実行しま

                                                                      BigQueryでチェックサムをする方法 - 株式会社ししまろ
                                                                    • Pythonを用いた情報セキュリティマネジメント試験対策: データ暗号化とセキュアなハッシュ関数の実装 - Python転職初心者向けエンジニアリングブログ

                                                                      情報セキュリティマネジメント試験は、セキュリティに関する専門的な知識とスキルを測る重要な試験の一つです。今回はPythonを利用して、試験の一部であるデータ暗号化とセキュアなハッシュ関数に焦点を当て、具体的なコードとともに詳しく説明します。 データ暗号化の基本概念 データ暗号化は、機密性を保護するために情報を変換するプロセスです。代表的な対称鍵暗号としてAES(Advanced Encryption Standard)を使用してみましょう。 from Crypto.Cipher import AES from Crypto.Random import get_random_bytes from Crypto.Util.Padding import pad, unpad import base64 def encrypt_data(data, key): cipher = AES.new(k

                                                                        Pythonを用いた情報セキュリティマネジメント試験対策: データ暗号化とセキュアなハッシュ関数の実装 - Python転職初心者向けエンジニアリングブログ
                                                                      • BitTorrentバージョン2はSHA256対応でよりセキュアに、ハッシュツリーによる効率化も行われている

                                                                        P2Pを用いたファイル転送用プロトコル「BitTorrent」は2017年にバージョン2に到達し、SHA-256への対応やハッシュツリーの導入など、さまざまな改良が加えられました。オープンソースのBitTorrent実装であるlibtorrentは、BitTorrentバージョン2対応の完了報告とともに、ブログ上でBitTorrentバージョン2の新機能を説明しています。 BitTorrent v2 https://blog.libtorrent.org/2020/09/bittorrent-v2/ BitTorrentバージョン1ではピースのハッシュ化にSHA-1を用いていましたが、SHA-1はGoogleによって衝突が確認されたため、ピースの改ざんを検知できない可能性がありました。BitTorrentバージョン2ではハッシュ関数にSHA-256を採用することで、より安全性が高まっていま

                                                                          BitTorrentバージョン2はSHA256対応でよりセキュアに、ハッシュツリーによる効率化も行われている
                                                                        • Bloom Filterの数理 - Qiita

                                                                          Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Mastering Bitcoin の読書会をやっていました。読み直す度に新しい発見があるのがこの本であり Bitcoin の技術でして、その中で Bloom Filter についての話題があります。 Bloom Filter というのは確率的アルゴリズムの一つです。このエントリでは、 Bloom Filter とはどういうものか、そしてその数理はどうなるのかを記述したいと思います。 Bloom Filter の特徴 まず Bloom Filter というのは確率的アルゴリズムの一つでして、「ある要素 $e$ が、$n$ 個からなるデー

                                                                            Bloom Filterの数理 - Qiita
                                                                          • 認証規格まとめ 2021年版 - OpenID Connect & FIDO と OAuth 2.0 や SAML との違い - RAKUS Developers Blog | ラクス エンジニアブログ

                                                                            こんにちは。 株式会社ラクスで先行技術検証をしたり、ビジネス部門向けに技術情報を提供する取り組みを行っている「技術推進課」という部署に所属している鈴木(@moomooya)です。 ラクスの開発部ではこれまで社内で利用していなかった技術要素を自社の開発に適合するか検証し、ビジネス要求に対して迅速に応えられるようにそなえる 「技術推進プロジェクト」というプロジェクトがあります。 2021年度は通年で「ユーザー認証」について取り組んでいるので、途中ではありますが紹介したいと思います。 ■ 昔ながらの認証 設計概要 クレデンシャル情報の保持 認証処理 問題点 ■ 用語解説 ■ 認証に関する仕様 OpenID Connect OpenID ConnectとOAuth2.0の違い OpenID ConnectとSAMLの違い FIDO 2.0 OpenID ConnectとFIDO2.0の位置関係 F

                                                                              認証規格まとめ 2021年版 - OpenID Connect & FIDO と OAuth 2.0 や SAML との違い - RAKUS Developers Blog | ラクス エンジニアブログ
                                                                            • PythonのフレームワークのDjangoって?Djangoでできることを分かりやすく解説!

                                                                              Pythonの学習を行っており、Djangoの習得を検討している方向けにDjangoでできることと、Djangoを活用して作られたWebサービスを紹介していきます。 本記事を読めば、Djangoの学習を開始するべきか判断できるでしょう。 DjangoはPythonで実装されている高機能なサーバーサイドウェブフレームワークです。 無料のオープンソースとして公開されています。 Djangoを利用することで、コンテンツ管理システムやWikiからソーシャルネットワーク・ニュースサイトなど、高品質なアプリケーションを少ないコードで作成可能です。 そもそもPythonとは Pythonとはプログラミング言語の1つです。C言語などと比較してわかりやすい文法が特徴となっています。 学習者が多いことから、学習サイトや書籍が充実しているのが魅力の1つです。2020年時点でのGitHubの調査では、世界2位の人

                                                                                PythonのフレームワークのDjangoって?Djangoでできることを分かりやすく解説!
                                                                              • 暗号資産とブロックチェーンの安全性の現状と課題

                                                                                IMES DISCUSSION PAPER SERIES INSTITUTE FOR MONETARY AND ECONOMIC STUDIES BANK OF JAPAN 日本銀行金融研究所 〒103-8660 東京都中央区日本橋本石町 2-1-1 日本銀行金融研究所が刊行している論文等はホームページからダウンロードできます。 https://www.imes.boj.or.jp 無断での転載・複製はご遠慮下さい。 暗号資産とブロックチェーンの安全性の現状と課題 松尾真一郎 まつ お しんいちろう Discussion Paper No. 2020-J-8 備考: 日本銀行金融研究所ディスカッション・ペーパー・シ リーズは、金融研究所スタッフおよび外部研究者による 研究成果をとりまとめたもので、学界、研究機関等、関 連する方々から幅広くコメントを頂戴することを意図し ている。ただし、ディ

                                                                                • Instant NeRF の心臓、Multiresolution Hash Encoding をシンプルに実装しつつ2次元画像で試してみる - OPTiM TECH BLOG

                                                                                  こんにちは、プラットフォーム事業部の河内です。最近は新オフィスを堪能しています。 さて、今年の 3 月に NVIDIA から Instant NeRF という手法が発表されました。 blogs.nvidia.co.jp NeRF がどんなものなのか、Instant NeRF が今までの手法と比べ何がすごいのかについては上記の記事でおおまかに掴めるかと思いますが、中身が気になるところです。 NVIDIA の記事中で Tiny CUDA Neural Networks ライブラリを使用とあるのでリポジトリを見てみると、どうやら TensorFlow や PyTorch を利用したものではなく、Instant NeRF の根幹となる手法のためにチューニングされたフレームワークのようです。 github.com リポジトリの README では 2 つの手法とその論文が引用されており、ひとつは "

                                                                                    Instant NeRF の心臓、Multiresolution Hash Encoding をシンプルに実装しつつ2次元画像で試してみる - OPTiM TECH BLOG