В этой статье мы сделаем новую установку 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
Поэтому версии "Ubuntu 20.04.5 LTS", нам позволяет установит только SageMath version 9.0, Release Date: 2020-01-01
Используя стандартную команду установки:
!sudo apt-get install -y sagemath-common
К сожалению эта версия не работает должным образом.
Для полного проведения криптоанализа мы установим в Google Colab совершенно новую версию SageMath version 9.3
Файл: Install_SageMath_in_Google_Colab.ipynb мы опубликовали в GitHub
Перейдем на официальный сайт: https://colab.research.google.com
Выберем опцию “Загрузить блокнот”
Загрузим файл: Install_SageMath_in_Google_Colab.ipynb
Теперь через утилиту 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
Перейдем по каталогу:
cd SageMath/
Откроем панель и перейдем в папку: SageMath
Убедимся есть ли Python-script: relocate-once.py
Запустим Python-script: relocate-once.py по команде:
!python3 relocate-once.py
Все готово!
Теперь запустим SageMath по команде:
!./sage -sh
Запустим проверку версии по команде:
sage -v
Все верно!
Мы получили новую версию: 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
Чтобы решить дискретное логарифмирование (Pollard's rho algorithm for logarithms) запустим Python-script: discrete.py
Теперь чтобы получить приватный ключ нам осталось запустить команду:
python3 discrete.py
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