本周,我们团队开始了学习数据安全和加密技术的内容,重点学习了对称加密中的AES算法以及其CBC模式的应用。我们讨论了AES算法的基本原理、密钥生成和加密流程,并着手编写了使用Python实现AES加密的基础代码。
学习成果
- AES算法理解:通过研究,我们了解到AES算法是一种广泛使用的对称密钥加密算法,适用于快速加密大量数据。AES在多种加密模式下工作,其中CBC(Cipher Block Chaining)模式因其增强的安全性而被广泛采用。
- 密钥管理:我们学习了密钥生成的重要性和复杂性,实现了基于用户ID的密钥生成函数,使用SHA-256散列函数来保证密钥的强随机性和唯一性。
- 编程实践:在Python环境中,我们使用
cryptography
库来实现AES CBC的加密和解密操作。通过实际编码,我们加深了对填充、初始化向量(IV)和密钥如何影响加密过程的理解。
遇到的问题及解决方案
在实现加密解密过程中,我们最初面临了数据填充和IV管理的问题。通过查询文档和多次实验,我们学会了如何正确地处理填充,并理解了IV在加密过程中的作用和重要性。
下周计划
下周,我们计划深入研究AES算法的其他模式,并尝试将加密技术应用到实际的数据传输过程中。同时,我们也将开始整合项目,完成项目的初版内容。