密码学前置内容 - Sage环境配置
在我们踏入密码学的神秘世界之前,首先要做好一个重要的准备工作:配置好我们的学习环境。就像一位冒险者需要一把锋利的剑和坚固的盾牌一样,我们也需要一个强大而灵活的工具来帮助我们理解和实践密码学中的各种算法和概念。而 SageMath 就是这样一个理想的工具,它不仅功能强大,还非常适合我们进行密码学相关的计算和实验。
SageMath 是一个开源的数学软件系统,集成了大量的数学库和工具,特别适合进行数论、代数、组合数学等领域的计算。对于我们学习密码学来说,SageMath 提供了丰富的函数和模块,可以帮助我们轻松地实现各种加密算法、数论函数、群论操作等。无论是计算大素数、求解同余方程,还是模拟加密协议,SageMath 都能为我们提供强大的支持。
如果只是简单安装使用 SageMath,那不用说了,直接上官网下载安装即可:SageMath官网
不过为了让大家能够更方便地使用 SageMath,我这里介绍一种在windows系统中VS Code使用 SageMath 的方法,这样我们就可以在一个熟悉的环境中进行密码学的学习和实践了。
下载VS Code和配置python环境 🥰
这里有大量的教程,网上也有很多相关的文章,这里就不赘述了,直接上一个较详细链接(有点详细过头了,注意辨别):
VS Code Python环境配置教程
安装 WSL 系统 😋
你可以按照微软官方的指南来安装wsl:WSL安装指南
当然,网上也有很多相关的教程,反正能装好就行,多用ai和搜索引擎。
在 WSL 系统中安装sagemath 😡
首先更新 WSL 系统并安装 Miniconda 🤩
先打开 WSL 终端,执行以下命令更新系统并安装必要依赖:
# 更新系统包
sudo apt update && sudo apt upgrade -y
# 下载Miniconda安装包(适配Linux x86_64架构,最新版Python 3.10+)
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh
# 执行安装脚本(全程可按提示操作,核心选项看下面说明)
bash miniconda.sh
安装时的交互选项说明:
- 第一步:按Enter阅读许可协议,一直按↓直到末尾,输入yes同意
- 确认安装路径(默认/home/你的用户名/miniconda3,直接按Enter即可)
- 询问是否 “初始化 Miniconda”,输入yes(这一步会自动把 conda 加入终端环境变量,避免后续找不到 conda 命令)
安装完成后,关闭当前 WSL 终端,重新打开(让环境变量生效),执行以下命令,若显示 conda 版本信息则安装成功:
conda --version
使用 conda 安装 sagemath 🤠
Sage 依赖一些数学计算库,先提前安装:
sudo apt install -y build-essential libssl-dev libffi-dev python3-dev \
libgmp-dev libmpfr-dev libmpc-dev libzmq3-dev
开始创建 SageMath 的专属 conda 环境:
# 创建名为sage的环境,指定Python 3.10(Sage适配的稳定版本)
conda create -n sage python=3.10 -y
# 激活sage环境(终端前缀会变成 (sage))
conda activate sage
接下来在激活的sage环境中安装 SageMath:
# 通过conda-forge源安装SageMath
conda install -y sage
注:Sage 包体积约 3-5GB,下载时间取决于网络,耐心等待即可;若中断,重新执行该命令会续传。
安装结束后,在sage环境中输入以下命令:
sage
若出现如下界面,说明安装完成:
┌────────────────────────────────────────────────────────────────────┐
│ SageMath version x.x.x (Release Date: xxxx-xx-xx) │
│ Using Python 3.x.x. Type "help()" for help. │
└────────────────────────────────────────────────────────────────────┘
sage:
每一个计算机环境的配置都伴随着多种多样的问题,每个人的环境又不尽相同(这也是我不配图的原因,配了图反而会限制大家发挥),所以如果你在安装过程中遇到了什么问题,不要慌张,先自己搜索一下相关的错误信息,看看有没有人遇到过类似的问题并且提供了解决方案,或者直接问ai,不要放弃。😉
VS code中使用sagemath 🤗
在VS Code中,我们可以通过安装一个叫做 “WSL” 的插件来连接到我们在WSL中配置好的SageMath环境。
- 打开VS Code,点击左侧的扩展图标,搜索 “WSL” 并安装。

- 看到左下角有一个打开远程窗口的图标,点击它,选择 连接到 WSL。


- 连接成功后,你就进入了WSL的环境,在VS Code的终端中输入
conda activate sage来激活 SageMath 环境。
- 现在你就可以在VS Code中使用SageMath了!你可以创建一个新的Python文件,输入一些SageMath的代码,运行它们来进行计算和实验。
总之,配置好 SageMath 环境是我们学习密码学的第一步,虽然可能会遇到一些挑战,但只要坚持下去,你就会发现这个工具在你学习和实践密码学的过程中是非常有帮助的。祝你安装顺利,学习愉快!🤗
下一章:密码学前置内容 - 密码分类与简介 👈
回到开始:关于我 👈










