GPUを使ってPDFのパスワードを解析する(Google Colab編)

GPUを使ってPDFのパスワードを解析する(Google Colab編)

以前ローカル環境でGPUを使ってPDFのパスワード解析してみたが、
実は、Google Colabを使えば、高性能GPU搭載PCを持っていなくても、GPUを使った解析を体験できてしまう。
ローカルよりも環境構築がとても楽なので、GPGPUの速度を手っ取り早く体感したい方におすすめ。
前記事同様、悪用厳禁。暗号化PDFは自分で検証用に準備すること。

準備するもの

ブラウザが開けるPC(chrome bookでもok)

環境構築

  1. ブラウザでGoogle Colabを開く。
  1. ヘッダーメニューのファイル→新規作成をクリック。
  2. ヘッダーメニューのランタイム→ランタイムのタイプを変更→GPUを選択。
  3. 以下をコードセルにペースト、実行するとHashcatが導入できる。
    1
    !apt install cmake build-essential -y && apt install checkinstall git -y && git clone https://github.com/hashcat/hashcat.git && cd hashcat && git submodule update --init && make && make install

検証

今回はGPGPUの速度を手っ取り早く体感するのが目的であるため、ハッシュの抽出にWebサービスを利用する。
以下のサイトに暗号化PDFをアップロード。



ハッシュをコピーしてtxt形式で保存。




ハッシュが保存してあるtxtファイルをGoogle Colabにアップロード。




新しいコードセルを作成し、Hashcatを実行する。ColabではUnixコマンドは頭に!をつける必要がある。
例えば、

1
! hashcat -m 10500 -a 3 -w 4 hash.txt '?d?d?d?d?d?d'

-w 4 を付けることで全力で探索することができる。以前ローカル環境で-w 4をつけたらクラッシュしたが、Colabでは正常に動いた。
詳しい使い方は以下のサイトやWikiを参照。




Google ColabではGPUは3種類(K80 T4 V100)あり自動で割り振られる。今回は、中くらいの性能であるT4が割り当てられた。(性能順は K80 < T4 < V100)
解析速度を見てみると12000kH/s~16000kH/sであり、ローカルの2070sとほぼ変わらない速度であった…
運よくV100が割り当てられたら、更に早くなるに違いない。
この環境を無料で使えてしまうGoogle Colab恐るべし…

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×