Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Python Quest 2

113 views

Published on

Pythonistaを使ったAES暗号の実装解説

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Python Quest 2

  1. 1. START CONTINUE パイソンクエストⅡ 悪行のタニマチ
  2. 2. プロローグ
  3. 3. 落ち込んだりもしたけれど、私は元気です。 アシッド疑似体験を 通じてイノベーショ ンを画策するも失敗。 自己変革ではなく、 もっと社会参加をし たほうがいいのでは ないか、と思い至る。 人の役に立つアプリを作ろう!
  4. 4. ところでお前、誰よ?
  5. 5. 自己紹介 名前:しらい つかさ 技術:Python初心者 最近:妻が長期出張中。 現在、娘のキャラ弁作りが日課。 冷凍食品の偉大さに感動する。 志向:どうしてもスネークケース記法に なじめない(定数かよ!)
  6. 6. 人の役に立つこと
  7. 7. 脅かされるプライバシー 複雑化、高度化するネット社会。 利便性のトレードオフとして 個人の行動履歴が情報収集されている。 人間=センサーという位置づけで情報がアップされていく 購買履歴 位置情報 画像情報 SNS等
  8. 8. 脅かされるプライバシー 利便性追求のために必要な部分もあるが すべてをさらす必要があるのか。 自分自身の情報を 自分自身でコントロールすべきではないのか。 Webが情報をPullするのか 人が情報をPushするのか 同じ流れでも意味は異なる Webの中で主体性を持つ権利はある
  9. 9. 脅かされるプライバシー 主としてSNSは公開されることを前提としているが 公開の意思がないはずの ドキュメントファイルやイメージファイルなども、 ネットワークストレージ内で 勝手に分析されているおそれがある。 じゃあファイルを暗号化してみよう
  10. 10. 暗号化技術
  11. 11. Crypto AES暗号をサポートするPythonライブラリ Pythonistaでは何とプリインストールされている (Stashとか裏技っぽいことしなくていいので便利) 以下ページの内容をちょっと解説 https://qiita.com/penta2019/items/a500630608960752a914 pythonでAES暗号化/複合化 @penta2019 このサイトを参考にしました
  12. 12. 基本ロジック ファイルから読み込んだデータをインプットするように 追記すればあっという間にファイル暗号モジュールの完成 パスワードをSHA256で256bitキーにする 乱数からiv(initialization vector)を生成 ivとキーを使ってAES暗号化 ivをヘッダにしてデータ生成
  13. 13. 追加内容 こんなかんじ。ありがとう、penta2019さん。 class FileEncrypter: def encryptFile(self, inputFile, outputFile, password): with open(inputFile, "rb") as target: contents = target.read() data = self.encrypt(contents, password) with open(outputFile, "wb") as result: result.write(data) def decryptFile(self, inputFile, outputFile, password): with open(inputFile, "rb") as target: contents = target.read() data = self.decrypt(contents, password) with open(outputFile, "wb") as result: result.write(data)
  14. 14. 実装
  15. 15. 秘匿化通信 Pythonistaを使って、 iPhone上で生成したファイルを暗号化する。 + 暗号化されたファイルをiCloud上に保存 知識による認証でファイルを暗号化 &iCloudで紛失も防止
  16. 16. 一体何をしているんだい?それでも人の親なのかい? 真剣に考えたのに失敗…。あ、それならば! 結構まじめなアプローチで考えたのにこんなふざけた結果になってどうするんだ下 手に発表したら人間性を疑われるんじゃないのかでも本当に役に立つと思って作っ たのになていうか今回も勉強しようと思ってたディープラーニングと全く関係なく ないか?いつまでこんなことしてるのか本当に馬鹿なのかねえ馬鹿なの馬鹿なの大 丈夫なのかねせっかくだったらもっとましな発想ができないのかそれともアシッド シミュレータでもう少し頭の中をかき混ぜて少しはましな働きが できるようにしたほうがいいのかって元に戻ってどうするよまっ たく進歩がないな人の役に立つとか技術を組み合わせるとか めちゃくちゃ難しいんだけどどうしようイノベーションとか ほど遠いよほど遠い蚤が月面着陸目指すようなもんなんじゃ ないのかいやここはあえてシンプルに便利そうな何かを目指 すべきなのかデバイス機能を使ってこそのPythonistaかなあ
  17. 17. ご清聴 あ り が と う ございます

×