YoshikuniJujo's avatar
YoshikuniJujo
YoshikuniJujo@yoshikunijujo.github.io
npub1a7y7...fdm2
Haskell好き
YoshikuniJujo's avatar
YoshikuniJujo 1 month ago
TLSの流れは サーバー側が使えるサイファーセットのリストを提示 クライアントがひとつ選ぶ サーバーが証明書を提示 クライアントがverifyする サーバー、クライアントがそれぞれDHEの公開鍵、秘密鍵を生成し公開鍵を渡し合う ここまでの流れをハッシュ化したものをサーバー側が提示 クライアントがそれを確認 以降は共通鍵暗号でやり取りする と言った感じだったかと。
YoshikuniJujo's avatar
YoshikuniJujo 1 month ago
RFCは情報がまとまってて読みやすくていい。ちょっと簡潔すぎるところもあるけど。
YoshikuniJujo's avatar
YoshikuniJujo 1 month ago
オレオレ認証局は必要ないのかもしれない。オレオレ証明書で十分か。
YoshikuniJujo's avatar
YoshikuniJujo 1 month ago
なんとなく、NIP-07の拡張機能を作るまでは、Nostr控えめにやっていこうっていう気持ちがある。8月末までにできなかったら、また考えるけど
YoshikuniJujo's avatar
YoshikuniJujo 1 month ago
実を言うと「ファイルの名前を変える」ってのは不思議な概念で、それは「人間の事情」と「コンピュータの事情」とが絡まり二重化しているから出てくる言葉だ。 人間からすれば「ファイルの名前」がファイルのアイデンティティでありそれ以外のアイデンティティはないわけだけど、コンピュータからすればファイルの名前は単なる属性に過ぎないということ。 この「ファイルの名前を変える」という概念が珍妙なものだということをきちんと理解していたからこそGitには(内部的には)ファイル名を変えるという操作がないのだろう。
YoshikuniJujo's avatar
YoshikuniJujo 1 month ago
Haskellについて。筆が乗り長くなってしまった 僕はHaskellが好きだから、Haskellのいいところも悪いところも好きなんだけど、他の人にもHaskellの良さを知ってもらいたくて「Haskellは他の言語と全然違ってて面白いからみんなやろう」とも言うし、「Haskellも別に他の言語と本質的な違いはないから怖くないよ。みんなHaskellやろう」とも言う。 矛盾しているようだけど、嘘をついているわけではない。 一番思うことは「安全なことはきれいに書ける」のと「危険なこともできるけど、そうするとコードは汚くなる」という話。他の言語で直面する「こっちのほうが安全だけど記述がごちゃごちゃする」「こっちはすっきり書けるけど実は危険」みたいなことが比較的少ない。 あと、値と状態とを混同していないのがすごくいいところ。 例えば、20度ってのは「値」で、たとえば「摩周湖の水温」ってのは状態。 さらに「摩周湖」ってのがオブジェクト。 「摩周湖の水温」は変化するけど、「20度が変化する」ってのはおかしい。 でさらに面白いというか、ややこしいのは「摩周湖の水温」は状態だけど「『摩周湖の水温』という概念」は値だということ。HaskellにはIORef aという型があって、これは一見「変化する状態」のように見えるけど本質的には「変化する状態につけたラベル」であって、これは値。 言うならば、ファイルの名前とファイルの内容のような関係。
YoshikuniJujo's avatar
YoshikuniJujo 1 month ago
RSA暗号はフェルマーの小定理が肝なのだけど、もうRSA暗号は時代遅れなのかな
YoshikuniJujo's avatar
YoshikuniJujo 1 month ago
オレオレ認証局の作り方。まずはオレオレ認証局を作って、それでサインした証明書を作って、それを使ってnodejsでHTTPSサーバを動かす。それに接続していく形でwebクライアントをちょっとずつ作っていく。
YoshikuniJujo's avatar
YoshikuniJujo 1 month ago
楕円曲線暗号によるTLS通信のRFCがもう古くなってしまったものの4492(ヨシクニ)なのは運命を感じた。
YoshikuniJujo's avatar
YoshikuniJujo 1 month ago
DHEについてはとりあえずこれを読めばいいかな。 gとpを決めればいい。 型レベル自然数でそれらを指定したらいい感じにできそうな気がする。 速度や実用性よりもわかりやすさを重視した実装にしよう。 で、代表的なgとpについて正しさを確認しておこう。
YoshikuniJujo's avatar
YoshikuniJujo 1 month ago
楕円曲線上の加算はチャッピーに聞いたらだいたいわかった。チャッピー優秀
YoshikuniJujo's avatar
YoshikuniJujo 1 month ago
ニューヨーク市長がネタニヤフ氏の逮捕を検討してるらしい
YoshikuniJujo's avatar
YoshikuniJujo 1 month ago
DSAよりもシュノア署名のほうが単純で簡単らしいけど、すこし遊ぶという意味で、歴史にも敬意を払って先にDSAを学んで実装してみようかな。
YoshikuniJujo's avatar
YoshikuniJujo 1 month ago
楕円曲線状の加算はだいたいわかったかな。 DHEは大体知ってるから、これでECDHEはじっそうできそう。 実用上は速度的な問題があるかもだけど、型クラスを使えばDHEとECDHEとをまとめて実装できそう。
YoshikuniJujo's avatar
YoshikuniJujo 1 month ago
「有限体は要素数が同じなら本質的に1種類しかない」らしい。すごい。 あと2^m個の要素数の有限体も決められた手順で作れるらしい。すごい。 要素数が素数でもなく、2^m個でもない有限体って作れるのかな?
YoshikuniJujo's avatar
YoshikuniJujo 1 month ago
公開鍵「暗号」は現実世界ではもうその役目を終えているように思う。公開鍵暗号のもう一方の面である署名のほうは重要性を持ち続けているけど。 何かというと、もともと認証、鍵の交換、暗号化という流れの「鍵の交換」のところで公開鍵暗号は使われていたんだけど、今では仕組み上よりセキュアなDH鍵交換が使われている。DH鍵交換は「片方が作った鍵をもう一方にわたす」のではなく「両者が持ちよったデータによって、それぞれが手許で同じ鍵を構築できる」というもの。 という試論。
YoshikuniJujo's avatar
YoshikuniJujo 1 month ago
僕には「人から言われたことを2つまでしか覚えられない」疑惑がある