[密码学]利用docker安装与使用sagemath

Sage 是一个免费的、开源的数学软件系统。在我们学习密码学或者数论线代等等数学问题的过程中,用来进行一些复杂的数学运算很好用,比如求离散对数等等。下面就来介绍一下如何在你的电脑上使用docker快速部署sagemath,以及如何使用sage。

之所以选择Docker安装,是因为我刚学了docker,是因为docker部署对系统版本啥的统统没有要求,环境啥的都在容器里也不需要你自己配置,只需一行命令就能快速部署,非常方便。缺点就是要先安装docker,不过网安方面你要漏洞复现啥的多少都要用到docker,早晚要装的。Docker的安装过程网上一搜一大把,这里就不多赘述了。下面来看如何部署使用Sage。

部署Sagemath镜像

系统:Linux系统,这里是kali,只要是linux应该没啥区别

软件要求:docker

首先启动docker:

systemctl start docker

然后就直接通过命令把Sega容器镜像从Dockerhub上拉取下来:

 docker pull sagemath/sagemath

然后就等待镜像拉取就行了,大概4个多g,耐心等待一会:

 

拉取完毕后在镜像目录就能看到了:

Sage的启动和简单利用

通过以下命令在命令行中启动sagemath:

docker run -it sagemath/sagemath:latest

效果如下:

 

 或者我们拉取的sage镜像里是内置了jupyter notebook的,我们也可以通过如下命令在网页段打开jupyter来使用,更加直观一点:

docker run -p8888:8888 sagemath/sagemath:latest sage-jupyter

通过它给我们的网址在浏览器中访问就可以了 :

 

关于Sage的使用,首先Sage是基于python的,python程序在Sage中都能运行。

关于具体使用,这里是官方的教程文档:http://www.sagemath.org/doc/tutorial/index.html 

也有国内大佬翻译的版本,比如:欢迎来到Sage教程! [Lainme's Blog]

示例:求离散对数

以notebook的形式为例,new一个Sage的程序:

 输入求离散对数所需的三个参数,即h=p的x次mod g当中的h,p,g,然后调用Sega提供的函数discrete_log(h,mod(g,p))即可,非常简单:

不同运算需要的相关函数见教程。

命令行也是一样的,就直接输入命令就行了 

 以上就是Sage基础的安装使用过程,希望有所帮助。

 

 

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值