Установим SageMath в Google Colab

В этой статье мы сделаем новую установку SageMath в Google Colab. Ранее мы опубликовали статью: “Install SageMath for cryptanalysis on Fedora 64bit(10GB) Cloud Virtual Server” , но для продолжение криптоанализа блокчейна Биткоин многие наши читатели предпочитают использовать Debian и Ubuntu в отличие от Fedora. Как нам известно Google Colab обновился до версии "Ubuntu 20.04.5 LTS".

Мы это можем проверить запустив команду:

!cat /etc/lsb-release
Установим SageMath в Google Colab

Поэтому версии "Ubuntu 20.04.5 LTS", нам позволяет установит только SageMath version 9.0, Release Date: 2020-01-01

Используя стандартную команду установки:

!sudo apt-get install -y sagemath-common
Установим SageMath в Google Colab

К сожалению эта версия не работает должным образом.

Для полного проведения криптоанализа мы установим в Google Colab совершенно новую версию SageMath version 9.3

Файл: Install_SageMath_in_Google_Colab.ipynb мы опубликовали в GitHub

Перейдем на официальный сайт: https://colab.research.google.com

Выберем опцию “Загрузить блокнот”

Установим SageMath в Google Colab

Загрузим файл: Install_SageMath_in_Google_Colab.ipynb

Установим SageMath в Google Colab
​!wget https://cryptodeeptech.ru/sage-9.3-Ubuntu_20.04-x86_64.tar.bz2 !tar -xf sage-9.3-Ubuntu_20.04-x86_64.tar.bz2
Установим SageMath в Google Colab

Перейдем по каталогу:

cd SageMath/
Установим SageMath в Google Colab

Откроем панель и перейдем в папку: SageMath

Установим SageMath в Google Colab

Убедимся есть ли Python-script: relocate-once.py

Установим SageMath в Google Colab

Запустим Python-script: relocate-once.py по команде:

!python3 relocate-once.py
Установим SageMath в Google Colab

Все готово!

Теперь запустим SageMath по команде:

!./sage -sh
Установим SageMath в Google Colab

Запустим проверку версии по команде:

sage -v
Установим SageMath в Google Colab

Все верно!

Мы получили новую версию: SageMath version 9.3, Release Date: 2021-05-09

Реализуем алгоритм Twist Attack скачаем Python-script: discrete.py

wget https://raw.githubusercontent.com/demining/CryptoDeepTools/bbd83042e7405508cd2e646ad1b0819da0f9c58d/18TwistAttack/discrete.py
Установим SageMath в Google Colab

Чтобы решить дискретное логарифмирование (Pollard's rho algorithm for logarithms) запустим Python-script: discrete.py

Теперь чтобы получить приватный ключ нам осталось запустить команду:

python3 discrete.py
Установим SageMath в Google Colab

Sage Math 9.3 выполним задачу дискретного логарифмирование (Pollard's rho algorithm for logarithms)

Теперь все работает должный образом!

Мы получили приватный ключ к Биткоин Кошельку в десятичном формате, далее для криптоанализа нам нужно следовать инструкциям статьи посвященной Twist Attack

Установим SageMath в Google Colab
Начать дискуссию