LoginSignup
0
0

SageMathを使ってみました。

Posted at

SageMath

簡単に言えば数学の高速計算ソフトウェア? pythonで書けるので学習コストも低い
オンライン上でも試せるらしい。
https://sagecell.sagemath.org/

CTFの勉強をしていてcryptoで桁の大きい数を扱うのでローカルのpythonだと計算ができなくて困っていたら何やらSageMathというものを使えばいいということを耳にした。

早速インストール

macだったのでこのgithubからインストール。
https://github.com/3-manifolds/Sage_macOS/releases

使ってみる

ソフトウェアをインストールすれば、jupyter notebookもそのまま使えるとのことだったので、

スクリーンショット 2023-12-13 16.39.41.png

Classic Jupyterと開きたいフォルダとを選択。

無事jupyter notebook開けたんですけど、cryptoの問題を解くときによく使うpycryptodomeをimportしてもエラーが出たのでその備忘録。

answer.jpynb
from Crypto.Util.number import *
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
Cell In [23], line 1
----> 1 from Crypto.Util.number import *

ModuleNotFoundError: No module named 'Crypto'

ChatGPTに聞くとsysをimportしてsys.pathをprintしろということだったので

answer.jpynb
import sys
print(sys.path)
---------------------------------------------------------------------------
['/Users/yamaguchiyutaka/study/TsukuCTF2023/crypto', '/private/var/tmp/sage-10.2-current/local/var/lib/sage/venv-python3.11.1/lib/python311.zip', '/private/var/tmp/sage-10.2-current/local/var/lib/sage/venv-python3.11.1/lib/python3.11', '/private/var/tmp/sage-10.2-current/local/var/lib/sage/venv-python3.11.1/lib/python3.11/lib-dynload', '', '/private/var/tmp/sage-10.2-current/local/var/lib/sage/venv-python3.11.1/lib/python3.11/site-packages']

pycryptodomeが入った場所を確認する。

answer.jpynb
!pip show pycryptodome
---------------------------------------------------------------------------
Name: pycryptodome
Version: 3.19.0
Summary: Cryptographic library for Python
Home-page: https://www.pycryptodome.org
Author: Helder Eijs
Author-email: helderijs@gmail.com
License: BSD, Public Domain
Location: /Users/yamaguchiyutaka/.sage/local/lib/python3.11/site-packages
Requires: 
Required-by: 

sys.pathにpycryptodomeを追加。

answer.jpynb
import sys
sys.path.append('/Users/yamaguchiyutaka/.sage/local/lib/python3.11/site-packages')

解決しました!

やはりむやみやたらにローカルにpipするのはまずいのかな?
まあ、ChatGPT最強ということがわかりました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0