ぺんぎんさんのおうち

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

近況

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)がめっちゃ好き

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

近況

続き.

ykm11.hatenablog.com

 

SecHack : 落ちた

セキュリティキャンプ : 合格した

受験 : 合格した ← 最強

 

打率6割強, まあいいのでは.

進路が決まり, とりあえずあとは卒業するだけなので, 夏季インターンとかリモートでできるプログラミング系のバイトを探しています. 下宿先でいんたねっと契約したいのでお金欲しいです. あと生活費のために.

 

 

しかし..

"卒業するだけ"とはいえ, そう簡単には卒業させてくれそうにありません.

1つ下の学年からカリキュラムが変わり, 留学からの留年をキメたので単位が足りない という状況に陥りました.

5学年で受講可能な科目が減ったのが主な原因です. 

補講・レポート等で対応してくれるので余裕じゃん〜とか思ってたら, あてにしていた科目の担当の先生が某の校長に着任ということで弊学からいなくなりました.

 

教授みてるか!! 俺だ!! 

異動の前に単位くれ!! じゃあな!!

 

 

さて, どうすっかな.

参考にならない, 高専からの編入受験記

※あてにするな

 

短期間の定期試験ですら集中して勉強できない人間が長期戦の編入試験をクリアできると思うな.

僕は無理だった.

 

4年春~冬

ひたすら実習やレポート.

勉強する時間が取れないレベル. 進学よりも就職を強くしようとしてる感じがする.

進学勢辛そう.

 

5年

ドイツ行った.

なんかよくわからんけど留年した.

 

 

ここから5年second season

春休み

友人とMHXXやってた. 高専受験前も無限にMHFやってた気がする.

数学(線形代数微分積分, 微分方程式)の問題を解く.

 

4月

卒研.

 

5月

願書関係の書類を揃えていく.

 

セキュリティキャンプの課題やってた.

 

6月

そわそわしてた

 

試験前日

ゲームセンター行ったり友人とHUBに飲みに行ったりした.

帰ってから友人宅でゲームしてた.

 

試験後

駅の近くで油そば食べた後デッドプール2観に行った.

 

 

 

申し訳程度のアドバイス

数学, 物理 : 問題集をする. 過去問を解く. わからないところはちゃんと聞く.

英語 : 海外のニュースサイトを読む. 英作文をする.

 

これを早いうちからやっておくと余裕がでてくるので, ちゃんとしよう.

何より継続して入試レベルの問題をやっていけるようにするのが重要.