【2020年第二屆“網鼎杯”網絡安全大賽 青龍組】Crypto you raise me up / SageMath 一波騷操作

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from Crypto.Util.number import *
import random

n = 2 ** 512
m = random.randint(2, n-1) | 1
c = pow(m, bytes_to_long(flag), n)
print 'm = ' + str(m)
print 'c = ' + str(c)

# m = 391190709124527428959489662565274039318305952172936859403855079581402770986890308469084735451207885386318986881041563704825943945069343345307381099559075
# c = 6665851394203214245856789450723658632520816791621796775909766895233000234023642878786025644953797995373211308485605397024123180085924117610802485972584499

題目很…一看就嫩看懂!but…

打開Ubuntu,安裝sagemath,開算!
在這裏插入圖片描述

n = 2 ** 512

m = 391190709124527428959489662565274039318305952172936859403855079581402770986890308469084735451207885386318986881041563704825943945069343345307381099559075

c=6665851394203214245856789450723658632520816791621796775909766895233000234023642878786025644953797995373211308485605397024123180085924117610802485972584499

ZmodN = Zmod(2^512)

m = ZmodN(m)
c = ZmodN(c)

c.log(m)

hex(56006392793405651552924479293096841126763872290794186417054288110043102953612574215902230811593957757)

最後的輸出16進制結果

'0x666c61677b35663935636139332d313539342d373632642d656430622d6139313339363932636234617d'

16進制再轉爲字符串

在線轉換網址:https://www.sojson.com/hexadecimal.html

在這裏插入圖片描述

flag{5f95ca93-1594-762d-ed0b-a9139692cb4a}

附 SageMath的安裝使用方法:

下載地址
http://www.sagemath.org/download-linux.html
1. windows版
2. linux Debian系的kali,或者ubuntu

上面的網址隨便選個亞洲的鏡像,然後下載,扔進linux
在這裏插入圖片描述

下面的圖是windows的在:https://github.com/sagemath/sage-windows/releases/tag/0.6.0-9.0
在這裏插入圖片描述
官方教程
http://doc.sagemath.org/html/en/tutorial/index.html

翻譯參考
https://www.lainme.com/doku.php/topic/sage/start

下面以自帶py2,3的 kali 作演示:

我很早之前安裝的時候,解壓時間特別特別長,等不及沒注意直接 ./sage 安裝就會出大問題!!!

耐心!細心!恆心!

選中壓縮包,右鍵在此解壓

或者命令行

tar xvf sage-9.0-Debian_GNU_Linux_9-x86_64.tar.bz2

解壓後的樣子:
在這裏插入圖片描述進解壓的文件夾裏

cd SageMath/

在這裏插入圖片描述
在這裏空白處,右鍵打開終端輸入:

./sage

在這裏插入圖片描述Done!

Ubuntu 自帶py3,無py2的的環境安裝故障

ubuntu ./sage後報錯
	已安裝py3
	運行reloacte.py
	usr/bin/env python 沒有這個目錄
	
	打開報錯relocate-once.py,在第一行python後面加3,改爲usr/bin/env python3  讓她找到python的目錄即可解決!

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章