タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
旧日本海軍、乱数表を使い回し 山本巡視電は指示に反する運用 米が暗号解読、長官機撃墜・機密解除史料 2023年08月04日08時00分配信 旧日本海軍の山本五十六連合艦隊司令長官(AFP時事) 太平洋戦争中の1943年4月18日、前線巡視に向かう山本五十六連合艦隊司令長官の搭乗機が撃墜され、長官が戦死した事件で、その2カ月前に旧日本海軍が異なる暗号書の間で乱数表の使い回しを命じていたことが分かった。機密解除された米軍史料を収集した戦史研究家の原勝洋さん(81)が、時事通信の取材に明らかにした。長官の行動予定を記した暗号電が、乱数表変更の指示に反する形で作成されたことも判明。暗号は米側に正確に解読され、撃墜を招く結果となった。 長官の死から80年、真実が今 機密情報、日米で懸け離れた認識 旧海軍の暗号を巡り、機密保全上、極めて問題のある使用法を中央が命じ、出先も不適切に運用したことが文書で裏
SSHの鍵生成には暗号論的に安全な疑似乱数を使おうという話。 暗号論的に安全ではない疑似乱数がどれだけ危険かというのを、簡単なCTFを解くことで検証してみました。 背景 SSH公開鍵に自分の好きな文字列を入れる、という記事を読みました。 かっこいいSSH鍵が欲しい 例えばこのSSH公開鍵、末尾に私の名前(akiym)が入っています。 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFC90x6FIu8iKzJzvGOYOn2WIrCPTbUYOE+eGi/akiym そんなかっこいいssh鍵が欲しいと思いませんか? かっこいい!真似してみたい! そこまではいいんですが、問題は実装です。 秘密鍵を生成する際の乱数生成には高速化のために Goのmath/randを使っていますが、乱数が用いられるのは公開しない秘密鍵自体であり、このアルゴリズム自体はLagged Fib
インターネットのセキュリティを向上させるため、Cloudflareがリスボンオフィスに乱数生成のための「波マシン」を設置したことを明らかにしました。 Chaos in Cloudflare’s Lisbon office: securing the Internet with wave motion https://blog.cloudflare.com/chaos-in-cloudflare-lisbon-office-securing-the-internet-with-wave-motion/ Chaos Using Waves at Cloudflare’s Lisbon Office - YouTube データの盗聴を防ぎつつ正しい相手に届けるには、通信に使用する暗号の「鍵」を生成する際のランダム性が大切です。しかし、コンピュータープログラムは「同じ入力であれば同じ出力をする」と
2022-07-19 これらの問題を解決する Random Extension 5.x 並びに Random Extension Improvement RFC が可決され、 master に merge されました。 PHP 8.2 より利用可能になります。 https://wiki.php.net/rfc/rng_extension https://wiki.php.net/rfc/random_extension_improvement https://github.com/php/php-src/commit/4d8dd8d258ff365b146bcadcb277ede8992706d0 2022-06-18 これらの問題を解決するため、 PHP 8.2 に対して Random Extension 5.x の RFC が作成され、投票が始まっています 2021-01-15 PHP
世の中には、全てのパターンを網羅的に調べることができないほど複雑な事象がある。 その一部の要素に乱数を用いて網羅性の代替とすることを、人類は「シミュレーション」という科学っぽい名称で呼んだ。 しかし、乱数を用いるシミュレーション(モンテカルロ・シミュレーション)は、科学を途中過程に置いた信仰だと思う。 乱数を用いた時点で、結果がそれこそ神のみぞ知る厳密解に合致しているのか、多くの場合わからない。 そもそも、その合致を数式的に証明できるのであれば、シミュレーションなんか必要ないわけで。 それは、大規模シミュレーションとか呼ばれるものなんかで特にそうだろう。 大規模となれば、計算には莫大な時間と費用がかかる。 なので、乱数の使用数に比して、統計的信頼度を満たすほどの回数で試行するのは困難であろう。 そうなると、厳密解への合致はそのシミュレーションへの信頼感といった信仰によってしか期待できない。
原木シイタケの種菌が付いた木を、ハンマーで一定数叩くことで収量が倍増する方法が発見され話題となっている。発生の効果や条件は明らかとなっているものの、そのメカニズムについて詳しい情報は分かっておらず、ネット上では「キノコ増殖バグ」と呼ぶ声が数多く寄せられ注目を集めているようだ。 本現象は、大分県豊後大野市に拠点を置く農林水産研究指導センターによって公開されたもの。シイタケは栽培時に種菌を付着させる「ほだ木」へ振動を与えると収量が増えることで知られているが、同センターは経験的に共有されていた発生条件を分析してそのプロセスを発信している。 (画像は「写真AC」より) 具体的な方法としては、キノコの菌糸が集まってできる「子実体」が発生する約2週間前に、ほだ木へ散水したのちハンマーで木の表裏を5回ずつ計10回叩くことで効果を発揮する。品種「もりの春太」を使った実験では、木口よりも樹皮を叩く方がより多
テレビゲームやギャンブル、暗号は一見すると全く関係ないように思えますが、実はすべて「乱数」を利用しており、現代人の生活は乱数なくして成立しません。そんな乱数をコンピューターでどうやって生成させているのかを、プログラミング関連のブログ・BetterProgrammingが解説しています。 Generating Random Numbers Is a Lot Harder Than You Think | by Sunny Beatteay | Sep, 2021 | Better Programming https://betterprogramming.pub/generating-random-numbers-is-a-lot-harder-than-you-think-b121c3e75d08 プログラミングで乱数を使いたい場合、例えばRubyの場合は「rand」、Pythonの場合は
『ポケットモンスター スカーレット・バイオレット』の一部対戦環境において乱数が固定されているのではないかとの噂が広まっている。結論からいえば、バトルスタジアムのカジュアルバトル弊誌検証においては、乱数固定説に一致する結果が確認できた。 発端となったのは、RedditユーザーLord-Trolldemort氏の報告だ。同氏は(バトルスタジアムの)ダブルバトルにおける「命中率」がおかしいと指摘した。同氏は、対戦のたびに初手でこおりのいぶき(命中率90%)を繰り出しているが、その多くが失敗に終わると指摘。14回中14回失敗に終わったと報告した。その上で、ゲームのランダム要素を司る内部値である「乱数シード」が固定されているのではないか、と分析したのだ。TwitterユーザーのAnubis氏も同様の検証を実施し、乱数シードが固定されているとの意見に同意。結論として、初手に先制で命中率90%以下の技を
暗号化において重要になってくるのは「ランダム性の生成」です。Cloudflareでは、基本的にはLinuxで乱数を生成していますが、何か問題があったときのために利用できる乱数生成器として、オフィスに「ラバライト」や「二重振り子」を設置しています。 Cloudflareのオフィスにおけるカオスの活用 https://blog.cloudflare.com/ja-jp/harnessing-office-chaos-ja-jp/ Randomness 101: LavaRand in Production https://blog.cloudflare.com/randomness-101-lavarand-in-production The Hardest Working Office Design In America Encrypts Your Data–With Lava Lamps
はじめに ある乱数生成器が N 個のセットのなかからランダムに一つを返すとき、その返り値をそれよりも小さな範囲に収まるようにしてから利用したい、という要件にたまに出会います。例えば、[0, 2^32) の範囲内の乱数を生成する乱数生成器を利用できる環境で、サイコロの目をランダムに計算するには、何らかの方法を使って [0, 6) の範囲の乱数に収める必要があります。このような getrandom(2) や /dev/urandom を使った乱数生成器の例以外にも、例えば Int64 のユーザー属性値を入力にしてユーザーを 10 種類に均等に分類したいという類の要件を過去にレビューしたこともあります。 ある値域をより小さい値域にマップするために、よく利用されるのは剰余(モジュロ)演算です。乱数生成器の例でいえば、その返り値を X とすると、 X % 6 を計算すれば結果は [0, 6) に収ま
大手米銀のJPモルガン・チェースは量子コンピューターを用いて「真の乱数」を生成し、認証することに成功したと発表した。セキュリティーやトレーディングの応用につながり得る世界初の快挙だという。 科学誌「ネイチャー」に26日掲載された論文によれば、乱数列はハネウエル傘下のクオンティニュアムが開発した量子コンピューターを用いて生成された。JPモルガンの研究員はアルゴンヌ国立研究所やオークリッジ公立研究所、テキサス大学オースティン校と共に、「真性のランダム性」を初めて数学的に証明したという。 扱いに注意が必要なデータを暗号化する上で重視され、広く使われている乱数ジェネレーターの大半は、実際には事前に決められたシークエンスであり、本当の意味での乱数ではない。コンピューターはプログラムされた一連の数学的オペレーションで動作するため、常に同じ回答を出し、高性能のコンピューティング能力を持つハッカーに暗号を
米JPモルガン・チェース、アルゴンヌ国立研究所、Quantinuumなどに所属する研究者らが発表した論文「Certified randomness using a trapped-ion quantum processor」は、量子コンピュータを用いて、予測困難であることが保証された乱数をつくり出すのに成功したとする研究報告である。 古典的なコンピュータでは真のランダム性を生み出すことは原理的に不可能とされる中、今回の研究チームは56個の量子ビットを持つイオントラップ型量子コンピュータ(QuantinuumのH2-1)をインターネット経由で操作し、古典計算による偽装ではないことを認証できる、7万1,313ビットのランダムビットを生成した。 量子コンピュータを使って生成された乱数かを検証する方法としては、既存の古典的なコンピュータでは、量子コンピュータと同じ速さでの計算ができないという点を利
ボードゲーム開発者のmor!氏が、2人以上が集まった時に指を出すだけで6面ダイス(サイコロ)と同等の乱数を生成できる「ゆびダイス」の仕様を10月28日に無償公開しました。 コースターボーイ#00 ゆびダイス | 『ゲームマーケット』公式サイト | 国内最大規模のアナログゲーム・ テーブルゲーム・ボードゲーム イベント https://gamemarket.jp/game/184200 今すぐ使おう!ゆびダイス。知ったからにはもう君の物! | 『ゲームマーケット』公式サイト | 国内最大規模のアナログゲーム・ テーブルゲーム・ボードゲーム イベント https://gamemarket.jp/blog/190519 #ゲームマーケット2024秋 M-09四等星にて、なんか買うとオマケでコースター印刷ゲームシリーズ「コースターボーイ」の#00、「ゆびダイス」を無償配布します。 これはゲームでは
村田製作所は、「第14回国際カーエレクトロニクス技術展」(2022年1月19~21日、東京ビッグサイト)において、量子乱数ハードウェアセキュリティモジュール(HSM)を展示した。量子コンピュータ時代に求められる耐量子計算機暗号(PQC)に利用可能な、偏りの少ない量子乱数を生成するHSMを外付け部品として自動車やドローンのシステムに組み込むことでより高度なセキュリティ対策を実現する。2025年のサンプル提供をめどに開発を進めているところだ。 開発中の量子乱数HSMは、CMOSイメージセンサーにLEDで光を当てることで、量子ショットノイズを単位時間ごとに抽出し、乱数の基となるランダムデータを取り出すという原理を利用している。「熱雑音などの物理現象を基にした従来の乱数生成は、ある程度前後の相関があるため、量子コンピュータのような膨大な計算能力を使えば前の乱数から後の乱数が分かり、暗号を解読できて
この記事は、 NTT Communications Advent Calendar 2022 22日目の記事です。 はじめに こんにちは、イノベーションセンターの鈴ヶ嶺(@suzu_3_14159265)です。普段は、クラウド・ハイブリッドクラウド・エッジデバイスなどを利用したAI/MLシステムに関する業務に従事しています。 本日は、Rustでベクトル化された乱数生成器を実装する方法を紹介します。乱数生成器にはPermuted congruential generator(PCG)という高速でシンプルな実装を取り扱います。ベクトル化には1つの命令で複数のデータを適用するSingle Instruction, Multiple Data(SIMD)を活用します。 また、以下のように毎年Rustネタのアドベントカレンダーを書いているのでぜひ見ていただけると嬉しいです! NTTコミュニケーション
◆ゼロ知識証明(※1)の中でも高い安全性をもつリセット可能統計的ゼロ知識アーギュメント(※2、※3)について、その実現には証拠暗号(※4)の利用が不可欠であることを世界で初めて証明しました。 ◆「平文のない世界」をめざすIOWN PETs(※5)の一技術として金融や医療/ヘルスケアなど様々な分野での利用が期待されるゼロ知識証明の実用化に貢献する成果です。 日本電信電話株式会社(本社:東京都千代田区、代表取締役社長:島田 明、以下「NTT」)は、高い安全性を持つゼロ知識証明であるリセット可能統計的ゼロ知識アーギュメントの実現には、実質的に証拠暗号の利用が不可欠であることを世界で初めて厳密に証明しました。ゼロ知識証明は、相手に追加情報を与えることなく主張の真実性だけを証明する暗号プロトコルの一つであり、例えばパスワードを開示せずに正しいパスワードを持っていることを証明することができる画期的な技
あらすじ Haskellでの乱数生成ライブラリは長らく群雄割拠の時代が続いていました。 その理由は、公式のrandomパッケージの使い勝手がすこぶる悪かったため、 各々が独自のインターフェースでまともな乱数生成ライブラリを公開していました。 その時代は、random-1.2の登場により終わりを迎えました。 これからはrandomパッケージを使えば基本的に問題ないでしょう。 Before random-1.2 Haskellの公式の乱数生成ライブラリがrandomだったのですが、 このライブラリは System.Randomといういかにも標準的なモジュールを提供している割に使い物になりませんでした。 そのため、 mwc-random tf-random xorshift mersenne-random-pure64 などのライブラリが独自のインターフェースを提供していました。 randomの
どうも!LSSです!! JavaScriptで、背景に「青い空と白い雲」を乱数を用いて描いてみました。 乱数なので、ページを開くたびに模様が変わります。 コード ついでに、記事部分の背景も透過 乱数なもので… コード <script> bgtxt=''; for(i=0;i<50;i++){ cr=Math.floor(Math.random()*60+30); ct=Math.floor(Math.random()*50+cr); cx=Math.floor(Math.random()*400+ct*2); cy=Math.floor(Math.random()*400+ct*2); cpx=Math.floor(Math.random()*100); cpy=Math.floor(Math.random()*100); bgtxt+='radial-gradient('+cr+'px
池谷裕二 @yuji_ikegaya 【ヒトは乱数を生成できない】「25648・・・」などと300桁ほど数字を適当に並べてもらうだけで、誰がその数字列を作ったのかを判別できるそうです。こちらの論文→ nature.com/articles/s4159… (「無意識の脳のクセ(=認知指紋)」が反映されるのでしょうか) 2024-03-10 16:17:12 リンク Nature A cognitive fingerprint in human random number generation - Scientific Reports Is the cognitive process of random number generation implemented via person-specific strategies corresponding to highly individual
class XorShift128Plus { /* constants */ protected const MASK_S5 = 0x07ffffffffffffff; protected const MASK_S18 = 0x00003fffffffffff; protected const MASK_S27 = 0x0000001fffffffff; protected const MASK_S30 = 0x00000003ffffffff; protected const MASK_S31 = 0x00000001ffffffff; protected const MASK_LO = 0x00000000ffffffff; protected const ADD_HI = 0x9e3779b9; protected const ADD_LO = 0x7f4a7c15; protec
mt19937の周期は1秒間に無量大数個の無量大数倍の乱数を発生させるコンピュータがあっても、無量大数年の無量大数倍を遥かに超える周期になっている。周期の長さを日本語で表現するのが困難である。 一方。 Xorshift128の周期 は $2^{128}-1 ≒ 3.4×10^{38}$ で、mt19937 より遥かに短い。 それでも十分長い。 1秒間に$10^{15}$個(千兆個。1ペタ個)の乱数を発生させると $10^{16}$年、つまり 1京年ぐらいで一周する。 日本語で表現できる範囲内ではあるものの、この周期で不足する状況を起こすのは難しいと思う。 というわけで mt19937 がファーストチョイス。とりあえず mt19937 を使う。 mt19937 だと計算速度面で問題があるようなら、 Xorshift128 を使う。 という対応を行ってきた。 xoshiro / xoroshi
Yes We Have Random Bananasから発見。画像もここから転載。 先週発見した記事でダントツに面白かったのがこれ。 天然カリウムには一定量の放射性同位体であるカリウム40が含まれているようです。 一方バナナはカリウムを多く含む果物です。 この2つの事実を利用して作られたのがこの、「バナナを使って真の乱数を生成する装置」です。 プログラミングなどで乱数を扱っている人なら誰しも乱数の種(シード)の設定をどうするか悩んだことがあると思いますが、この装置があれば簡単にこの乱数の種を得ることができるというわけです。 まぁ簡易的には、起動してからのハードウェアタイマーや、マウスの動き、ユーザがEnterを押すまでの時間など、乱数の種となる情報はたくさんありますが、これらはどれも、その仕組みがわかれば乱数列を特定されてしまう可能性があるのです。 この装置の中に放射線を測定するガイガー管
どうも!LSSです!! JavaScriptには Math.random() が用意されており、簡単に乱数を生成する事ができます。 一方、CSSには乱数がありません。 ので、乱数が必要ならJavaScriptを併用すれば良いのですが、 「CSSのみで疑似的に乱数を作る方法」 の案を練っていたので、今回実際に作ってみました。 (が、記事タイトル通り難アリです^^;) CSSで疑似乱数 コード 疑似乱数になる仕組み 問題点 結論:JavaScriptを使おうw CSSで疑似乱数 ボタン 「ボタン」をクリックすると、上のラジオボタン6つのうちどれかにチェックが入ります。 どこにチェックが入るか、がランダムです。 コード <style> @keyframes rndma{ 0%{left:0px;} 100%{left:-600px;} } .rndm{ position:relative; wi
セキュリティ企業のBishop Foxは2021年8月5日(米国時間)、同社のブログでIoTデバイスが使用するハードウェア乱数ジェネレータ(RNG:Random Number Generator)に深刻な脆弱(ぜいじゃく)性が存在すると伝えた。 同社によれば、RNGを備えたIoTデバイスは乱数を適切に生成できておらず、十分なセキュリティを実現できていないという。影響を受けるデバイスは350億台に上ると推測されている。 Bishop Foxが指摘した脆弱性は特定のデバイスに存在するわけではなく、IoTデバイスとOS、SDKが抱える普遍的な問題だ。今すぐに全てが修正されるという類の問題ではないため、多くのIoTデバイスが脆弱なRNGを使用する状況が続くものとみられる。
syudou 10ページくらいあります。 粗品 表紙ダサいなあ、俺の宣材写真(笑)。 syudou そこは勘弁してください(笑)。初対面なので僕の自己紹介ということで。 粗品 でも「霜降り明星のだましうち!」(ABCラジオで放送中のレギュラーラジオ番組)を聴いていただいてますよね? syudou はい。僕は粗品さんをリスペクトしているので、ラジオは仕事とは一切関係なく聴いています。 粗品 すごいな! これはあとでじっくり読ませていただきます。すんません、ありがとうございます。 syudou これをお渡しできたので、今日やりたいことはだいぶ達成しました(笑)。 ──今回粗品さん自身が取材の対談相手にsyudouさんをご指名されたということですが、数いるボカロPの中からsyudouさんを選んだ理由はなんだったんですか? syudou それですよ! なぜ僕なのか。 粗品 理由はいろいろあるんです
道具(どうぐ)プリンターの乱数調整のやり方 任意のアイテムを簡単に入手できるようになったことで、『金策』『育成』『レアボール(オシャボ)集め』『進化アイテム』などが歴代最効率となりました 目次 目次を閉じる 目次 1.準備 2.乱数調整の流れ 動画で流れを把握しましょう 道具プリンター乱数の流れ 2-1.レアボールチャンスを出す 2-1-1.待機ポイント 2-1-2.『現在の日付と時刻』に移動する 2-1-3.タイマー開始タイミング 2-1-4.タイマー終了タイミング 2-1-5.1回プリントする 2-1-6.成功確認 2-1-7.失敗時のズレ調整用 2-2.レアボールを当てる 2-2-1.プリントする?画面で待機 2-2-2.時間を変更する 2-2-3.タイマー終了タイミング 2-2-4.10回プリントする 2-2-5.成功時 2-2-6.失敗時のズレ確認方法 手順はここまで以降は時間設
どうも!LSSです!! 乱数のテスト もし乱数が偏っていたら? テスト結果 今回のテストに使用したコード あとがき 乱数のテスト この記事の冒頭にある「テスト」ボタンを押すと、その下に10×10、100個のボックスが出てきます。 中には数字が入っていて、赤っぽい色になっています。 これは、以下の手順で生成しています。 まず、100個の配列変数を全て0にする。 Math.floor(Math.random()*100)で「0」から「99」の範囲での乱数を生成し 配列変数の添え字が上記の乱数に当たるものを+1します 例えば乱数の結果が0なら、1つめの配列変数が。34なら35番目の配列変数が増加します これを、「増加させた結果、その配列変数の値が255に達する」まで繰り返します その100個の配列変数の値に応じて、100個のボックスを作ります。 数が少ないほど赤っぽく、数が多いと白っぽくなります
山本巡視電の不都合隠蔽か 乱数表「4月1日変更」に虚偽の疑い 調査報告、米軍史料と食い違い・長官機撃墜 2023年08月08日08時00分配信 米陸軍戦闘機に撃墜された山本長官の搭乗機=1984年2月5日、パプアニューギニア・ブーゲンビル島(時事) 太平洋戦争中の1943年4月18日、前線巡視の途上に山本五十六連合艦隊司令長官の搭乗機が米軍機に撃墜された事件で、巡視予定を記した暗号電報が解読されていない根拠として現地が報告した乱数表の「4月1日変更」が、機密解除された米軍史料と食い違っていることが分かった。暗号部署で起きた不都合な運用を隠蔽(いんぺい)するため、虚偽の事実が報告された疑いが浮上した。米国立公文書館で史料を発掘、分析した戦史研究家の原勝洋さん(81)が時事通信の取材に明らかにした。 旧日本海軍、乱数表を使い回し 山本巡視電は指示に反する運用 米が暗号解読、長官機撃墜・機密解除
◆この記事の概要 ハースストーンにおけるRNG(random number generator:乱数生成)についてざっくりと時系列を追って、RNGがカードゲームにおいてどのような機能を持っているか評価する。 とても当たり前な事をやや大げさに説明してるのでそこらへんは流し読みしてもらってもいい。 ◆前文 今年(2021年)4月からクラシックフォーマットが新たにハースストーンのフォーマットに追加され、2014年当時のハースストーンと現在のハースストーンのゲームデザインの違いを、実際にプレイすることでより正確に評価できるようになった。この記事はクラシックフォーマットをプレイしている最中に私が再発見した事柄について述べていく。 例えば、クラシックフォーマットはプレイした時の満足度は高いにも関わらず、クラシックフォーマットで回数をこなすのはスタンダードやワイルドよりもやや重く、思ってるよりもプレイし
どうも!LSSです!! 今回は、「乱数の活用方法」について。 記事タイトルに「プログラミング初心者向け」と書きましたが、乱数を扱ったプログラムを書いた事のある方には「言われんでも分かってるわい!」と言われそうな内容となっておりますw 「乱数を返す関数があるのは分かったけど、それを利用するのにどう手を加えたらいいの?」と考えている方向けの記事となります。 なお、JavaScriptの場合について書いていますが、考え方自体は他のプログラム言語にも応用できます! 今回使用する2つの関数について Math.random() Math.floor(引数) 1~6のいずれかの整数をランダムに返す 説明 12%の確率で「当たり」 説明 0~99の整数を返すが小さい方が出やすいように偏らせる 説明 あとがき 今回使用する2つの関数について 2つの関数を使用します。 使い方の前にさらっと、その2つの関数の特
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く