Установим 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 скачаем tar-file: sage-9.3-Ubuntu_20.04-x86_64.tar.bz2

!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

Исходный код

Telegram: https://t.me/cryptodeeptech

Видеоматериал: https://youtu.be/DBu0UnVe0ig

Источник: https://cryptodeep.ru/install-sagemath-in-google-colab


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

Crypto Deep Tech