之前总是觉得密码学离我们很远,完全不相关,但是我学到了知识之后才发现,其实生活中很多东西都与我们相关,但是我们又一副不在乎的模样才让他们擦肩而过,我觉得密码学很有魅力,前面的密码学家解密的过程也很有趣,由于之前学习过概论,有一点编程基础,恰巧又看到了这次的训练营,就心血来潮的报名了一下。尤其很深刻的是对于SM4的理解。
首先,我学了一下SM4加密算法的基本原理。SM4加密算法使用Feistel结构和S盒来实现加密和解密过程,具有高度的安全性和效率。学习SM4加密算法需要了解Feistel结构、S盒、轮函数等相关概念,并掌握SM4加密算法的加密流程和解密流程。在学习了一下基础后,了解SM4加密算法的安全性是很重要的。SM4加密算法被广泛应用于各种领域,因此需要我们了解其安全性以及如何进行攻击。我们需要了解SM4加密算法的密钥空间、置换、扩散和混淆等特性,以及各种攻击方法,如差分攻击、线性攻击和穷举攻击等。
我觉得学习算法需要进行实践和探索。这样才能对它有更深的理解,我们使用现有的SM4加密算法实现来学习其使用方法和实现原理,并且尝试自己实现一个加密算法,完成了相关的任务,以深入理解其实现细节和相关算法。希望这种课程可以多多开展,能让更多的人学到真知识!
使用SM4技术
class SM4_Tab(QWidget):
def init(self):
super().init()
# Initialize SM4 object
self.sm4 = SM4()