Ubuntu篇Crypto常见工具

前言

在Ubuntu实践Github上几种热门的密码学工具,帮助CTFer有效实战。

Ubuntu

本文Ubuntu版本22.04,默认python版本3.10,自带openssl

Ubuntu22.04多个python版本切换

某些工具,比如ciphey,不能在python3.10上使用,所以需要在ubuntu内置多个python版本切换使用。

本文采用annaconda来管理python版本。

#创建虚拟环境,envx.x(虚拟环境名称)
conda create -n envx.x python=X.X(3.6、3.7等)

'''
如出现 WARNING: A newer version of conda exists.
则输入以下命令
conda clean --packages --tarballs   #清除conda
conda update --all                  #更新conda
创建过程中出现 Proceed ([y]/n)?
即:是否确认将默认环境的包导入进虚拟环境中
'''

#激活虚拟环境
source activate envx.x

#退出虚拟环境
source deactivate envx.x

#删除虚拟环境
conda remove -n envx.x --all

#查看安装了哪些包
conda list

'''
可以在已激活的虚拟环境中安装一个包并查看,退出环境后,
再次查看默认环境的包,自行对比确认虚拟环境创建完成
'''

#查看当前存在哪些虚拟环境
conda env list 

Sagemath

Sage基于并使用Python,Python程序可以在Sage中直接运行,也可以在Sage中使用Python的各种库。sage是Crypto学习者的利器。

安装

打开software即可安装。

但这里还是有换源的问题。

笔者这里因为网速还ok,一直用的官方自带cn源。

在这里换源尝试一下

sudo apt update
sudo apt upgrade

即可安装成功

在Ubuntu里打开后会自动在本地搭建一个Jupyter Notebook,自动弹出浏览器访问,本地访问对应的url。

可以直接打开对应sage或者python脚本进行编辑,但是不能运行。可以new一个python3或者sage的notebook来编写、调试、运行代码。

也可以在此处下载包。

在terminal运行脚本

sage xxx.py

将sage导入python脚本

可以在Python脚本中将Sage作为库导入。

注意:需要使用与Sage捆绑的Python版本(当前为python3.10.6)运行该Python脚本。要导入Sage,需要在Python脚本中添加以下内容:

from sage.all import *

若想运行脚本,

如②中python hi.sage.py运行报错,但python hi.sage可以运行

# This file was *autogenerated* from the file hi.sage
from sage.all_cmdline import *   # import sage library

print('hi')

需要使用该选项调用Sage -python 它将使用Sage附带的Python版本运行脚本。

例如,如果Sage在你的 PATH 变量,则可以执行以下操作:

sage -python /path/to/my/script.py

另一种方法是编写Sage脚本并使用Sage本身运行该脚本。Sage脚本具有文件扩展名 .sage 和或多或少是一个Python脚本,但使用Sage特定的函数和命令。然后可以运行Sage脚本,如下所示:

sage /path/to/my/script.sage

这将负责加载必要的环境变量和默认导入。

Ciphey

自动化大量解密和解码的工具,例如多个基本编码,经典密码,哈希或更高级的加密,同时也支持自定义算法。据说比cyberchef更强。

日常在CTF中,偶尔会碰到一些不能一眼看出编码规则的字符串,这些字符串的编码规则或许并不复杂,但由于有限的知识面和脑洞并不能马上解码,严重影响效率。

安装过程中需要注意此工具对python版本的要求。

安装完成后,开箱即用

1.文件输入ciphey -f encrypted.txt
2.非限定输入ciphey -- "Encrypted input"
3.正常方式ciphey -t "Encrypted input"

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值