Cryptography基础环境配置(基于Python)

关于Cryptography
密码学(Cryptography)是一门研究如何在信息传输和存储过程中保护信息安全的学科,它主要通过对信息进行加密、解密以及相关安全机制的设计,来实现信息的保密性、完整性、认证性和不可否认性等安全目标。
核心目标
密码学的核心目标可以概括为以下几点:
- 保密性:确保信息只能被授权的接收者获取,未经授权的第三方无法理解信息内容。例如,在网上银行交易中,用户输入的银行卡密码需要通过加密处理,防止被黑客截获后解读。
- 完整性:保证信息在传输或存储过程中不被篡改、伪造或损坏。比如,一份电子合同在传输过程中,如果被恶意修改,接收方通过密码学中的哈希函数等技术可以发现这种篡改。
- 认证性:验证信息发送者的身份是否真实有效,以及信息的来源是否可靠。常见的例子是登录系统时,通过输入密码或使用数字证书来确认用户身份。
- 不可否认性:防止信息发送者事后否认自己发送过信息。在电子商务中,通过数字签名技术,卖家无法否认曾经向买家发送过特定的商品订单信息。
主要分支
密码学主要分为古典密码学和现代密码学两个分支:
- 古典密码学:主要指在计算机出现之前使用的密码技术,其加密方法相对简单,多基于字符替换或移位等方式。例如,凯撒密码是一种典型的古典密码,它通过将字母按照一定的位数进行移位来实现加密,如将字母 A 移位 3 位变成 D,B 变成 E 等。不过,古典密码学的安全性较低,容易被破解。
- 现代密码学:以数学理论为基础,结合计算机技术发展起来的密码学分支。它采用复杂的算法和密钥管理机制,安全性更高。现代密码学又可分为对称密码学和非对称密码学。对称密码学中,加密和解密使用相同的密钥,如 DES(数据加密标准)和 AES(高级加密标准);非对称密码学中,加密和解密使用不同的密钥(公钥和私钥),如 RSA 算法,公钥可以公开用于加密,私钥由用户自行保管用于解密。
Python相关环境配置
Python目前应该很少有人会去用Python2了吧?
在Python中,已经有很多人实现了密码相关的库,因此可以考虑直接导入。
Python虚拟环境配置
首先,由于Python3.12开始的环境限制,如果不是Linux或OS X等类Unix系统,且Python相关依赖被直接收录进相关系统软件源,则直接在非虚拟环境下使用pip安装相关库会直接报错。
因此,我们得先创建虚拟环境
1 | By Venv |
安装相关模块
以下模块选一个就行了,工具还是只需要最趁手的那一个。
PyCrypto相关
PyCrypto库是Python中最早且功能较为齐全的加密库之一。
但是,由于PyCrypto已经停止维护,推荐使用替代的PyCryptodome库。
1 | pip install pycryptodome |
安装完成后,可以在代码中引入相关的方法,例如:
1 | from Crypto.Cipher import AES |
是的,因为它的真实库名和PyCrypto是一样的,因此PyCryptodome和PyCrypto绝对不能同时安装,否则报错烦死人。
Cryptography相关
Cryptography库是另一个流行的加密库,功能强大且易于使用,推荐用于新的项目。
1 | pip install cryptography |
安装完成后,可以在代码中引入相关的方法,例如:
1 | from cryptography.hazmat.primitives import hashes |
显然这个库的命名有些……成一个较为复杂的体系,易于使用应该指的是它支持的方法多。
有一说一,这些模块是好用,但是CTF密码学题目大概率还是得自己手搓相关算法,因此,如若以后有算法实现的笔记,那还得是手动实现。
- 标题: Cryptography基础环境配置(基于Python)
- 作者: Door
- 创建于 : 2025-07-17 10:26:34
- 更新于 : 2025-07-19 07:31:21
- 链接: https://chenshi.club/posts/42f51cbf.html
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。