24、现代密码学:从古典密码到 DES 算法的实用与安全探索

现代密码学:从古典密码到 DES 算法的实用与安全探索

在当今数字化时代,密码学在保障信息安全方面起着至关重要的作用。本文将深入探讨密码学中的多种加密方法,包括置换密码、古典密码以及著名的 DES 算法,分析它们的工作原理、实用性和安全性。

置换密码

置换密码,也称为排列密码,是一种通过重新排列消息元素的位置而不改变元素本身来转换消息的加密方式。它是古典密码中的重要一类,与替换密码一起,广泛应用于现代分组密码的构建中。

假设明文消息的元素是字母,设 $b$ 为一个固定的正整数,表示消息块的大小。所有 $(1, 2, …, b)$ 的排列(即重新排列)构成集合 $K$。那么一个排列 $p = (p(1), p(2), …, p(b))$ 就是一个密钥,因为 $p \in K$。对于明文块 $(x_1, x_2, …, x_b) \in P$,置换密码的加密算法如下:

设 $p^{-1}$ 表示 $p$ 的逆,即对于 $i = 1, 2, …, b$,有 $p^{-1}(p(i)) = i$。那么对应的解密算法为:

对于长度大于块大小 $b$ 的消息,消息会被分成多个块,然后逐块重复相同的加密和解密过程。由于对于消息块大小为 $b$ 有 $b!$ 种不同的密钥,一个明文消息块可以被置换加密为 $b!$ 种可能的密文。然而,由于字母的身份不变,置换密码极易受到频率分析技术的攻击。

例如,当 $b = 4$ 时,明文消息 “proceed meeting as agreed” 首先被分成 6 个每块 4 个字母的块:“proc eedm eeti ngas agre ed”,然后可以被置换加密为密文 “rcpoemedeietg

根据原作 https://pan.quark.cn/s/459657bcfd45 的源码改编 Classic-ML-Methods-Algo 引言 建立这个项目,是为了梳理和总结传统机器学习(Machine Learning)方法(methods)或者算法(algo),和各位同仁相互学习交流. 现在的深度学习本质上来自于传统的神经网络模型,很大程度上是传统机器学习的延续,同时也在不少时候需要结合传统方法来实现. 任何机器学习方法基本的流程结构都是通用的;使用的评价方法也基本通用;使用的一些数学知识也是通用的. 本文在梳理传统机器学习方法算法的同时也会顺便补充这些流程,数学上的知识以供参考. 机器学习 机器学习是人工智能(Artificial Intelligence)的一个分支,也是实现人工智能最重要的手段.区别于传统的基于规则(rule-based)的算法,机器学习可以从数据中获取知识,从而实现规定的任务[Ian Goodfellow and Yoshua Bengio and Aaron Courville的Deep Learning].这些知识可以分为四种: 总结(summarization) 预测(prediction) 估计(estimation) 假想验证(hypothesis testing) 机器学习主要关心的是预测[Varian在Big Data : New Tricks for Econometrics],预测的可以是连续性的输出变量,分类,聚类或者物品之间的有趣关联. 机器学习分类 根据数据配置(setting,是否有标签,可以是连续的也可以是离散的)和任务目标,我们可以将机器学习方法分为四种: 无监督(unsupervised) 训练数据没有给定...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值