コミックマーケット100(C100)振り返り

第100回目(!)のコミケでCoppersmith法についてのコピー本を頒布した。 これについて、誰向けかも分からないような話をつらつらと書いていく。

CTFのCryptoで使うCoppersmith法を解説する本

Coppersmith法とは?

数学とか暗号とかに興味の無い人は、ここは飛ばしてください。 興味のある人はここだけでも読んでください。

Coppersmith method - Wikipedia

F(x)=x^{n}+a_{n-1}x^{n-1}+\dots+a_1 x+a_0 について、F(x)\equiv 0 \mod M\left|x\right| \leq M^\frac{1}{n} を満たすような解を多項式時間で求めるアルゴリズムである。

一瞬、「解の制約からmodの意味が無くなるのでは?」と思うかもしれない。 しかし、x^{n}Mを超えないが、a_1 xなどは超える。

中ではLLL格子基底簡約を使っている。 LLL基底簡約の使い方の一種として、a_0 y_0 + a_1 y_1 +\dots + a_n y_n \equiv 0 \mod M を満たす小さな y_0,\ y_1,\ \dots\ y_n を求めるというものがある。 今度は「x^{0}=y_{0},\ x^{1}=y_{1},\ \dots,\ x^{n-1}=y_{n-1} と置いて、その使い方をするだけでは?」と思うかもしれない。 解の制約がもっと厳しいならこれで解けるが、Coppersmith法の制約は無理である。 雑に言うと、y_{0},\ y_{1},\ \dots,\ y_{n-1} のビット数が M のビット数を超えるので解がいくらでも出てくる。

で、どうするの? というのが本題。 上記のようなLLL基底簡約の良くある使い方をしていなくて面白い。

この話、終わった後に書いていないで、頒布物の紹介ツイートにでも書いておけば、頒布数が違ってきた気もするな。 後述のように時間が無かったのでしょうがない。

ちなみに、「Finding a Small Root of a Univariate Modular Equation」という論文に書かれている。 ガチ勢には、「で、その本の論文からの差分は何なの?」とか訊かれそうだな。 特に無いので、論文を読んでください。

参加サークル数

www.bigsight.jp

コミケの会場の東京ビッグサイトは、元々東展示棟6ホール+西展示棟4ホールだった。 このうち西展示棟の2ホールは企業向けで、サークル向けは残りの8ホール。 これで3日開催。

東京オリンピックのために東展示棟が8ホールになり、南展示棟4ホールも新設された。 一方、オリンピックのために使えない棟があったりもしたが、今はフルに使える。 で、開催期間は2日間。

単純計算でだいたい同じくらいのサークルが入りそうだが、入場券確認&検温後の待機スペースに割り当てたり、コスプレに割り当てたりで、結局サークル向けに割り当てられるホール数は以前と変わらず。 それで日数が少なくなった上に、感染症対策でサークル間の空間を広く取ったりで、サークル数は半分近くに減っている。

時系列

2月頃。前回のC99は来場者もそうとう絞っていて、本を買いに来てくれる人もほとんどおらず、「次は参加しなくて良いかな」と思っていた。 でも、第100回は出られるなら出たいなと申込み。 上記のように参加できるサークル数が少なく、100回記念で申し込むサークルも多いだろうし、当選することは期待していなかった。 期待していなかったので特に準備もしなかった。

6月頃。当落発表。受かっていた。まじか。 本を書こうと頑張り始める。 当初は別の本を書こうと思っていた。

7月頃。新型コロナ第7波。本は書けないし、感染者数の増加で「これはまた中止になるのでは……」という感もあり、やる気無し。 ちなみに、印刷所に製本を頼む場合、基本的には7月末~8月頭くらいが入稿の目安。 多少は金で解決できる。 数割値段が高い代わりに、締切りが数日伸ばせるという「特急料金」があったりする。 これが資本主義か。

いや、でも、もう無理では。 「中止になったら原稿を書く必要も無いんだよな……」で「コミケ 中止」でTwitter検索をしていた。 「お前、新型コロナ下で音楽フェスが開催されていること文句を付けているけど、その名前の『@C100~』は何だよ。コミケも中止しろ」などの揉め事が起こっていたりした。

7月末頃。 中止になると思っていたけど、運営のスタンスとしては「お上に中止にしろと言われない限りはやる」で、政府も緊急事態宣言を出すつもりは無さそう。 本を出さなかったからと言って誰かに怒られるわけではないけれど、せっかくの100回だし何とかしたいよなぁ。 テーマを絞ってページ数を減らしてのコピー本なら何とかなるのでは? で今に至る。

コピー本

コピー本とは、コンビニのコピー機などで印刷してステープラー(ホチキス)で綴じた本である。 少部数なら印刷所に頼むより安いし、前日に作業をしても間に合う。 代わりにクオリティは落ちる。

kinko'sかセブンイレブンなどのコンビニのコピー機を使えば良い。 どちらも「同人誌が作れるよ」とアピールしている。 どちらでも変わらなそうなものだが、できることできないことが微妙に違っていて悩ましい。

www.kinkos.co.jp

kinko's。プリンタにフィニッシャーが付いていてステープラー留めもしてくれる。さらに、表紙を別の紙にすることができる。たとえモノクロ印刷でも表紙が厚紙になっているだけで、だいぶ印象が違う。それならkinko'sで良いのでは? と思うが、小冊子印刷をする場合は、なぜかUSBメモリから印刷することができない。一旦印刷してコピーする必要がある。画質が落ちるだろ……。有料で店頭のPCを借りるとできるという噂も聞いたので、今度試してみたい。

昔は24時間営業だったが、新型コロナの影響で24時間営業は取り止め。 土日祝日が休みの店も多いので注意。 今回のコミケは、前日は平日だが、前々日が祝日だった。

www.doujinshi-print.com

セブンイレブンUSBメモリから直接小冊子にできる。しかし、ステープラー留めをしてくれない。 USBメモリで持ち込むのではなく、インターネット経由でデータを送ることもできるが、1枚(両面の場合は1面)10円のところが、20円と倍になる。 大量に印刷しようと思うとUSBメモリが必須。

kinko'sで表紙を厚紙に印刷して、セブンイレブンで本文を印刷するという合わせ技にすることにした。

www.doujinshi-print.com

セブンイレブン(kinko'sも?)のプリンターは用紙の縁ギリギリまで印刷することができない。 それでは端のほうが切れてしまって困るので、デフォルトでは「ちょっと小さめ」に印刷するようになっている。 本文は文章で余白があるからそんな配慮は要らないんだけど……ということで、「原寸印刷」ができるようになっている。 が、しかし、小冊子印刷の場合はなぜか原寸印刷ができない。 なぜ? 上記のページだと縮小されることを見越してちょっと大きめのサイズで作れと言っている。 Re:VIEWで作るPDFでもめっちゃ頑張ればできるのかもしれないが、やりたくないぞ……。

B5の元データを小冊子のように面付けしたB4両面のデータを作り、小冊子印刷ではなく普通に両面印刷するという手を思いついた。 そのデータをどうやって作るのかというと、手元のPCでPDFを開いて小冊子印刷の設定で印刷してPDFにすれば良い。 今でこそ各ソフトからPDFで直接保存ができるけれど、元々PDFといえば印刷でプリンタとしてPDFを選ぶものだった(よね?)

手元のPCの印刷のところには「Adobe PDF」と「Microsoft Print to PDF」が出てきた。 普通に考えれば、本家本元の「Adobe PDF」のほうがクオリティが高そうなものだけど、なぜか黒が濃いグレーになり、画像の画質がとても落ちてNG。 もしかしたら設定で何とかなったのかもしれないが、分からん。 「Microsoft Print to PDF」だと色は問題無し。 画像の画質は、「Adobe PDF」よりは良いが、やっぱりJPEGにされてちょっと画質が落ちる。 画像については、IllustratorからPNGで書きだしていたものをEPSにしたら劣化しなくなった。

PDFをデータそのまま配置だけどうにかしてくれれば良さそうなもので、そういう有料ソフトもあったが、試してはいない。 誰か試したら感想を教えてほしい。

www.bookletcreator.com

中綴じ。 針の向きを変えられるホチキスが売っていて、とりあえずこれを使えば中綴じができる。

www.max-ltd.co.jp

とりあえずはこれでも何とかなるのだけど、紙がズレないようにするのがなかなか難しい。 本気を出すならこれ。

www.max-ltd.co.jp

東急ハンズで「高いなぁ」と思いながら定価(4,400円)で買ったけど、ヨドバシ.comだと半額くらいで買えるな。 まあ、こんな数が出なそうな商品を実店舗で安売りはできないか。 半分に折ってから綴じようとすると紙がずれがちなので、このホチキスのガイドをきっちりB5に合わせて、綴じてから折ったら良い感じだった。

もっと本気を出すならこれか。 針も普通のホチキスよりちょっとゴツいやつで良さそう。 誰か買ってみてほしい。

www.max-ltd.co.jp

針はステンレス製のものを使うと良い。 ちょっと高いが、元が安いので誤差。 ただ、上の「もっと本気を出す」やつ用の11号針はステンレス製が無い。

www.max-ltd.co.jp

最後に、中綴じ用のホチキスを使っても、どうしても多少は紙がずれるので、昔自炊用に買ったゴツい裁断機で端をちょっと切った(化粧断ちと言うらしい)。 これでだいぶ見た目が良くなる。 B5ではなくなるので、他のB5の本と揃わなくなるが……端がずれていたらどうせ揃わないので、まあ良いだろう。 どうせ端を落とすなら、セブンイレブンのプリンターの「ちょっと小さめ」のままで良かったかもしれない。

www.durodex.co.jp

なかなかのクオリティでは(自己満足)。

コミケ当日

前回のC99よりはだいぶ人が増えているけれど、新型コロナの前に比べるとまだまだ頒布数が少ない。 いや、私のは急遽作ったコピー本だし、ろくに宣伝もしていないが、周囲のサークルを見る感じ。 コミケに行ったことが無い人のイメージは、大行列で本が飛ぶように売れているというものかもしれないが、あれは一部の人気サークルだけであって、大半のサークルは元々そんなことはない。 でも、もうちょっと売れていたような気がするんだよな。

会社の周りの飲食店は当然人気の店と不人気の店がある。 新型コロナに伴うリモートワークで客が減り、客の合計が半分になるなら、てっきりどの店も客が半分くらいになると思っていた。 実際は、人気店はたいして変わらず、不人気店から一気に客が減って、次々と潰れていった印象がある。 コミケもそんな感じなのか、大手のサークルは新型コロナ前と客数があまり変わっていなかった気がする。

コミケ2日目

2日目は(サークル参加ではない)一般参加。 受付時間09:00~09:30(E枠)のチケットを買っていた。 遅れたらどうなるんだろうね?

【Q6】一般参加の受付時間内に間に合わなかった場合、どうすれば良いですか?

【A6】受付時間については、設定された時間以降であれば受付後入場可能です。ただし、アーリーチケットであっても、午前入場の開始準備が始まった後については、午前入場待機列の最後尾に並んでいただく場合がありますので、予めご了承ください。

https://www.comiket.co.jp/info-a/C100/C100EntryTicket2.html

こう書かれているけど、細かい扱いが分からない。 一番後ろに回されても困るし、ちゃんと時間通りに行こう……と思っていたが、初日の疲れで寝坊。 特にどうということもなく、その時点で待っていたG枠などの人達を横目にすっと入れた。 次も同様の形式かもしれないのでメモ。

ゆりかもめで行った。 「一般参加はあっち」と言われて歩いて行き、受け付け前の人達の横を通って、ぐるっと回って元の場所に戻ってきた。 りんかい線で来るのがデフォであって、りんかい線ならそんなことも無かったのかもしれない。 次は朝はりんかい線で行こう。 メモ。