タグ

ブックマーク / qiita.com/yyu (4)

  • 公平なランサムウェア - Qiita

    Engilsh version is here. はじめに 以前から「公平なランサムウェア」を作りたいと思っていた。つまり、ランサムウェアの作者でBitcoinを欲しいアリスと、アリスのランサムウェアに感染してデータを暗号化されたボブがいるとする。ボブはアリスにBitcoinを支払ってデータを復号してもらいたいが、この2人には次のような不正が考えられる。 アリスの不正 ボブがBitcoinを送金したにも関わらず、暗号化を解除する鍵を渡さない ボブの不正 アリスが暗号化を解除する鍵を送信したにも関わらず、Bitcoinを送金しない つまり、ボブがBitcoinを送金したら確実に暗号化を解除する鍵を得られるようにしたい。 この文章ではこれらの不正を防ぎつつ取引を公平に行う方法について説明する。この文章を読んで何か分からないことや疑問、改善するべきところを見つけた場合は気軽にコメントなどで教えて

    公平なランサムウェア - Qiita
  • 僕が(ほとんどを)考えた公平なガチャシステム - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    僕が(ほとんどを)考えた公平なガチャシステム - Qiita
  • 正規表現からLLVMへのコンパイラを実装する - Qiita

    正規表現技術入門というの中に、正規表現のJITコンパイルという技術が紹介されている。VM型の正規表現エンジンは以前作った1ので、これをLLVMへコンパイルすればおもしろいのではないかと考えて、実行することにした。なお、実装にはScalaを用いた。 追記: また、JVMのバイトコードへJITコンパイルする実験も書きました。 正規表現のJITコンパイラを実装する 正規表現の抽象構文木 VMの実装の時に用いたものと同じく、次のデータ構造を用いる。 sealed trait Regex case object Empty extends Regex case class Let(c: Char) extends Regex case class Con(a: Regex, b: Regex) extends Regex case class Alt(a: Regex, b: Regex) ext

    正規表現からLLVMへのコンパイラを実装する - Qiita
  • JK・おっさんプロトコル - Qiita

    JKとおっさんの間で、個人情報を一切漏らすことなく円滑なコミュニケーションが行えるように工夫したプロトコルです。現在は次の二つのプロトコルがありますが、ニーズに合わせてもっと色々考えたいと思っています。 高校生判定プロトコル 登場人物 ここには次のような登場人物がいると仮定します。 JK 自分が高校生であることを証明したいが名前や住所、所属する学校などは保護したい おっさん ある人間について、その人間の性別や年齢といった個人情報はどうでもいいが、高校生であるということは確定させたい このような仮定があるので、例えばJKが、JKの所属する学校の発行する学生証を用いておっさんに身分を示すということは、学校名などといった個人情報が流出するので使うことはできません。 概要 次のような構成になります。 おっさんは自分が 信頼できる カラオケ・理髪店・映画館をいくつかピックアップして、そのリストをJK

    JK・おっさんプロトコル - Qiita
  • 1