ぺんぎんさんのおうち

日記です。たまに日記じゃないこともあります。

電気通信大学 編入推薦入試の話

聞かれたことのメモ. 

筆者の他エントリを読んだことがある人は既にご存知かもしれないが, このブログではいい加減な内容のみを扱っているのであまり信用しないでほしい.

 

それでも読みたいという奇特な読者のためにメモを残しておこうと思う.

繰り返すが, 当てにしないでほしい. 

入試からある程度日が経っているのでそろそろ情報が漏れても大丈夫なはず(確証はないわ, 公開すんのやめとくか). 

 

 

面接

・じゃあまず年齢を教えてくれるかな

高専で勉強している内容と, 入学してから何をしたいか

勉強と言われると漠然とした答えしか出ないので研究の話をした. 食いつきは..ナオキです. 入学してからは色々なイベントや勉強会に積極的に参加したいみたいなことを答えた. 

 

・なぜセキュリティの勉強をしたいと思っているのか, セキュリティの分野は広いけど特にどの分野に興味があるのか

理由は割愛, 分野は暗号に興味があると答えた. Cryptoのプロになりたいよね.

「研究でも機械学習やっているので数学, 暗号が好きです, 数学得意です」みたいなことを言った気がする.

 

・英語について

ここでTOEICが〜とか英検が〜とか言ってるうちはダメ. 

僕はすかさず切り札,  レッドアイズ・ダークネスメタルドラゴンを召喚 留学の話をした. 授業でプレゼンした話とか. TOEIC810回受けるより1回海外行く方が良いのかなと.

 

・卒業後はどうしたいか

とりあえず美少女メイドになりたい

 

 

MMAの話が出た. 

 

 

数学

2つの問題から選ぶタイプ.

パッと見て線形代数を選択したのでもう片方はちゃんと見てない. 関数論だったかも?

 

固有値とは何か

・与えられた行列の行列式を答える問題

・上の問題で与えられた行列に変数aがあり, 固有値λが0のときのaを求める

・"固有値表現の基底を求めよ"みたいな感じの問題だった気がする

    固有ベクトルを求めるだけ

 

 

専門

4つほどある分野の中から1つ選ぶタイプ

僕は情報を選んだ(他わからん)

 

割り算の筆算で6.7割が不定になってる, 所謂虫食い算.

複数の値を持つものがあり, とりあえず解答はできたけど他の値を試すところで時間切れになった.

 

 

 

結果は言わずもがな, 合格である. 

私からアドバイスできることは多分ない. 

というかここまで読んでいる読者はきっと受験生ではないだろう. 

セキュリティキャンプ2018乾燥機

応募課題で提出したやつ

ykm11.hatenablog.com

そういえば編入試験がどうとかって話を上記エントリでしてましたが, 無事合格できたので来年からは東京の人間になります.

 

セキュリティの勉強とかキャンプに応募したきっかけとかの話は割愛します.

優秀な皆さんなら脳内で補完ができるはずです.

 

僕(たち)はTLS1.3/暗号ゼミでTLS1.3対応のサーバを自作しました. 僕は暗号の部分を担当しました. 

やったこととしては, "RFCを読んで実装" これだけです.

 

これ読めばTLS1.3対応のサーバーが自作できます.

 

.

.

.

.

 

140文字以上の文章を書こうとすると発作が起きるのであとは他の人の参加記を参考にしてください.  時間があるときにまた書き直すかもしれません. 僕はこれから肉を焼きに行くので一旦筆を置きます.

 

 

DAY0 移動日

 

DAY1

DAY2

DAY3

DAY4

DAY5

 

 

 

違うんですよ

いや違うんですよ.

キャリーバッグは普通に歩いて駅向かってたらキャスターが取れて, 

バックパックの方はキャンプ前からチャックが調子悪くて, 直そうとしたら完全に破壊してしまっただけなんですよ.

 

"ておくれ"ではないので. 本当に.

 

乾燥機

Amazon.co.jp

🙏今日は僕の誕生日ではありませんが, プレゼントはいつでもおまちしておりますよ🙏

近況

ykm11.hatenablog.com

Guten Morgen ぼくです.

 

何日か前から東京にいます.

家が決まりません. 探してないからなんですけど.

まだ半年以上あるし大丈夫かな.

 

 

卒業できるかどうかの話をします

弊学に来る新任の先生が講義担当してくれて, それが履修/修得単位として認定されるので今のまま進んでくれると卒業できます. やったね.

新任の先生が採用されればの話ですけど. お祈られた場合は2回休んだ上で振り出しに戻るので頼む.

 

 

WSLの(Neo)Vimをコマンドプロンプトから起動

TL;DR

vim.batを書いてパスを追加. もしくはパスに追加されているディレクトリ内にvim.batを書く.

vim.bat

wsl vim %1

nvim.bat

wsl nvim %1

 

実行だけなら

wsl vim

でよい

 

はじめに

研究室のPCがWinなので

・WSLでVimを使ってファイルの編集

コマンドプロンプトから実行

みたいなことをしていました.

 

そもそも

$ wsl vim hoge

ってすれば bat書いたりしなくてよくね?? とか言われそうですが

毎回wslつけてコマンド叩くの煩わしくないですか?????

 

コマンドプロンプトからVimが使えればいいのでは?ということに気付いたのでしました.

 

- WSLってなぁに?? という人のために説明をすると, Bash on Windowの新しい呼称(?)です. 厳密には色々と違いがあるようですがあまり関係ないのでここでの詳しい解説はしません

 

手を動かそう

適当なディレクトリにbatファイルを置いてパスを追加するだけ

vim.bat

wsl vim %1

nvim.bat

wsl nvim %1

- %1は引数

 

こうすればコマンドプロンプト内で

$ vim test.py

 と打つとvim.batが実行されて (wsl vim test.pyに置換されて の方がよさそう) Vimが立ち上がります. 

.vimrc や init.vim がある場合もちゃんと認識してくれます(検証済み).

 

vim を叩くと vim.bat が実行されて, 

wsl vim が動きます. (僕はvimをnvimにエイリアスしていますが)

f:id:ushiromiya3:20180726154259p:plain

実際に動作している部分が確認できます. 

 

f:id:ushiromiya3:20180726154227p:plain

僕がneovimで使っているプラグインのnerdtreeやdeopleteも動作してくれます.

 

 

画像内で使用しているHyperのプラグインは以下のものを使わせてもらっています. かわいい. すこすこのスコティッシュフォールド.

www.npmjs.com

 

おわりに

今回はvimを使いたい!! という話でしたが, 他にもシェルでよく使う ls とか cat, less, pwd も同じようにbat書いておけば自由に追加できます.

 

はやくしずりんになりたい.

NITAC minictf

参加しとらん

馬刺し美味かった.

 

作問した -解説-

1問だけ.

crypto_300_blind

僕の草案から少し変わってるかもしれないので適宜読み替えてください(問題見てないのでわからん すまん 馬刺しは美味かった). 

 

crypto_300_blind

元ネタはこれ

Blind signature - Wikipedia

 

RSAで 攻撃対象の公開鍵{e, N}と秘密鍵d, 解読したい暗号文c, 暗号文cに対応する平文m

があるとして, 

 

1. 攻撃者が好きな数字rを公開鍵{e, N}を使って暗号化 (r_cとする)

2. 暗号化した r_c と 暗号文 c を 掛ける (s とする)

3. 攻撃対象にsを送りつけて秘密鍵dで署名してもらう 

4. 署名から平文が得られる

 

こんな感じの攻撃手法

 

-前提-

c ≡ m^e mod N

m ≡ c^d mod N 

N = p * q ; where p and q are sufficiently large

 

-証明-

好きな数字 r を公開鍵{e, N} で暗号化 : r_c

r_c ≡ r^e mod N

 

c と r_c を掛ける : s

s ≡ c * r_c mod N

 

s はさらに以下のように表される

s ≡ m^e * r^e mod N 

  ≡ (m*r)^e 

 

s を 秘密鍵 d で署名してもらう 

 

s^d mod N = (m*r)^ed mod N

s^d ≡ m*r mod N  

これで平文に1. で選択した数字rを掛けたものが得られた.

あとは Nを法としたrの逆元をm*r に掛けてあげると平文mが降ってくる.

 

 

今回の問題は

1. 2つの数字x1, x2を自分で決める

2. pow(x1, x2, n) * c を復号したものが返ってくる

 

といった感じになっている(はず),

 

これは

s ≡ (x1^x2 mod N * m^e mod N) mod N

≡ x1^x2 * m^e mod N

 

になって, s を d で署名するので

s^d ≡ x1^(x2*d) * m^(ed) mod N 

≡ (x1^(x2*d) mod N * m mod N) mod N

 

 

このとき x2 = e であれば

s^d ≡ x1 * m mod N

となる

 

あとは邪魔なx1を消せばよいので, x1の逆元(x1^-1)を掛けてあげると

x1 * x1^-1 * m mod N 

≡ m mod N 

 フラグが得られる

 

 

x1 = なんでもいい (ただし逆元が存在する数字)

x2 = e = 65537

 

 

おわりに

最近しずりん(静凛 (@ShizuRin23) | Twitter)がめっちゃ好き

どうすればいいかわからん ほんまかわいい