2019-01-01から1年間の記事一覧

説明会&第1回勉強会を終えての反省

11/28, 12/5に学内で勉強会の説明会と勉強会を行いました。 それについての反省点等を自分メモとして残したいと思います。 勉強会は自作言語を作るという内容で説明・実施しました。 反省点 説明会での反省点 勉強会の説明としてスライドを見せながらの発表…

wordpressを導入した話

勉強用のサーバーにwordpressを導入したのでパーミッションやらの設定はどうしたのか、という話を書きます。 環境 Ubuntu 18.10 権限とパーミッションの設定 参考サイトを真似しながら設定します。 所有者の変更 /var/www/以下のディレクトリ・ファイルの所…

ミニキャン言語で負数に対応した話

はじめに ミニキャン言語で発展課題である負数の実装ができたのでアウトプットします。 兎にも角にもコードだという人は以下を参照してください。 github.com 実装 今回負数の実装をしたのですが、最初は定数のみ(-1や-2など)にしか対応しておらず、その後変…

ミニキャン言語 発展課題 '>=' '<=' を実装した

はじめに せっかく発展課題が実装できたので記事にしました。 ミニキャンでは実装後スライド発表だったので、それも少し意識しました。 前提 GitHub - yamaguchi1024/mc-lang-3: セキュリティミニキャンプ2019山梨 MC言語講義 第三回事前課題 こちらの通常課…

C++ Opencv 画像を合成する

最初に 今回は下の3つの画像を用いて、差分処理を行って画像を合成します。 青空の画像が背景で、Opencvのロゴが前景、真っ黒な画像がロゴを抜き取るための画像になります。 ソース #include <iostream> #include <string> #include <sstream> #include <iomanip> #include <opencv2/opencv.hpp> /* img1とimg2の差分</opencv2/opencv.hpp></iomanip></sstream></string></iostream>…

C++ Opencv 静止画から動画を作成する

まずはソース #include <iostream> #include <string> #include <sstream> #include <iomanip> #include <opencv2/opencv.hpp> int image_to_video(std::string result, std::string image_name, std::string ext, int frame_num, double frame_rate) { // {image_name}_00x.ext にするための桁数の取得 int digit = s</opencv2/opencv.hpp></iomanip></sstream></string></iostream>…

C++ Opencv 動画から静止画を出力する

まずはソース #include <iostream> #include <string> #include <sstream> #include <iomanip> #include <opencv2/opencv.hpp> int video_to_image(std::string result_image_name, std::string video_path, std::string ext) { cv::VideoCapture video(video_path); if (!video.isOpened()) { return -1; } int frame</opencv2/opencv.hpp></iomanip></sstream></string></iostream>…

「セキュリティミニキャンプ 2019 in 山梨 専門講座」に参加した話

セキュリティミニキャンプ 2019 in 山梨 に参加したので参加記を書こうと思います。 駄文ですがよろしくお願いします。 専門講座 現地到着してすぐにkaitoさんとエンカした。 専門講座2の方のUEFIのコードについて早速デバッグしてもらった。(ありがとうご…

バーナム暗号

バーナム暗号とは バーナム暗号はバーナム(Vernam)さんによって考案された共通鍵暗号になります。この暗号はシャノンによって理論的に解読不可能であることが証明されており、高い秘匿性を備えています。 バーナム暗号の長所 バーナム暗号の最大の長所といえ…

pythonを用いた単一換字式暗号の実装

換字式暗号とは 平文を1文字あるいは複数文字に対し、別の文字・記号を割り当て変換することで暗号文を作り出す方式。 A⇆B B⇆D の場合、ABという平文はBDとなる。 実装 今回はpythonを用いて実装しました。文字の扱いはpythonの方が楽だと思ったのもあって、…

転置式暗号の実装

転置式暗号とは 平文の文字を入れ替えて作る暗号化の方法のことです。一番目と二番目の文字を入れ替える。三番目と四番目の文字を入れ替える、など様々な転置の法則で暗号文を作ります。 実装 今回は文字列を abcdefg の場合 abcd efg というように4文字単位…

シーザー暗号の実装

はじめに 暗号技術のすべてという本を購入しました。 そこでシーザー暗号が出てきたので改めて実装してみることにしました。 シーザー暗号とは シーザー暗号とは、アルファベットの先頭文字を指定したROT分だけずらす暗号方式のことです。 ABCのROT1なら、B…

総当たり攻撃を実験した話

/etc/shadowでパスワードが見られると組み合わせによっては一瞬でパスワードがバレてしまうらしい。 ということで、pythonのcryptモジュールを用いて総当たり攻撃を実践してみる。 useradd target passwd target 今回はあらかじめ上記のコマンドでtargetとい…