Code Interpreterを使って、PDFにパスワードをつけたり、パスワードを解除したりする。
今回も引き続きCode Interpreterを使うという記事です。
PDFにパスワードをかけたり、パスワードを解除したり、パスワードを総当たりで探索したりします。
PDFにパスワードをつける
Code InterpreterでPDFにパスワードをかけることができます。
今回はChatGPTについてまとめたパスワードに、例として4桁の数字のパスワードである「5678」をパスワードとして設定します。
このpdfにパスワードをかけて保存してください。
パスワードは5678にしてください。
ChatGPT:
PDFファイルにパスワードをかけて保存しました。以下のリンクからダウンロードできます。
**ChatGPT_Overview_Password_Protected.pdf**
パスワードは **`5678`** です。確認してみてください。
このように、簡単にパスワードをつけることができました。
パスワードをつけたファイルを共有しておきます。
パスワードがついているファイルを読み込む
パスワードがついているファイルを読み込むことができます。
先ほどのパスワードをつけたファイルを開いて、読み込んでみます。
このPDFを'pdfplumber'ライブラリを使用して、開いて何ページのPDFか教えて下さい。
PDFのパスワード5678です。
ChatGPT:
PDFは2ページあります。パスワードを使用して正常に開くことができました。何か他にお手伝いできることはありますか?
総当たりでパスワードを開く
上のツイートのように、次のプロンプトのように指示することで、PDFファイルを0000から9999までの1万通りパスワードを試して、パスワードがかかったPDFを開きます。
このPDFを'pdfplumber'ライブラリを使用して、開いて下さい。
パスワードは4桁の数字であることがわかっています。総当たりで試して下さい。
計測したところ、Code Interpreterの環境では1秒間に200回ぐらい試すことができるようでした。
1万通りだと、この環境でも最大50秒程度で開けてしまうので、パスワードとしてあまり意味がないようです。
パスワードについて
4桁の数字だけのパスワードだと、すぐに開けられてしまうのは、当然。
NISCのコラムによると次のように、ファイルの暗号化に使われるパスワードは、15桁以上が推奨されているようです。
試しに、パスワードの桁数を4, 8, 10, 15で何通りあるか、ChatGPTに計算してもらったのが上の図です。今は10の29乗ぐらいのオーダーが推奨されているんですね。すごい…
まとめ
PDFのパスワードを総当たり開くネタについて、反応が大きくて驚きました。
セキュリティについては、先ほどのNISCコラムのページや、インターネットの安全・安心ハンドブックなど、セキュリティについて参考になるページが読まれると良いと思いました。
CodeInterpreterでPDFでパスワードをつけたり、開いたりするのはそれほど優先度は高くないけれど、PDFを扱える環境が手元にない時など、Code Interpreterでできるのは便利なタイミングはあるかもと思いました。
コメントお待ちしています。匿名の質問はマシュマロから→https://marshmallow-qa.com/currypurin