密码学基础——古典密码学

密码学导论--古典密码学 简单介绍古典密码学的两种密码,一是代换密码,包括凯撒密码、移位密码、单字母替换、仿射密码,维吉尼亚密码、希尔密码,二是置换密码。 阅读详情

密码学基础——古典密码学

目录
一、定义
特点:
二、发展阶段
三、代换密码
1.单表代换密码
1.1恺撒密码
1.2 移位变换
1.3 仿射变换
2.多表代换密码
维吉尼亚密码
四、置换密码
栅栏密码

一、定义

古典密码学是指在现代密码学出现之前,使用较为简单的数学方法和手工操作来实现信息加密的技术和理论。它主要依靠字符的代换、置换等基本操作来隐藏信息的真实内容。

  • 代换(替代):将明文中的每个字符替换为另一个字符,形成密文。例如,凯撒密码就是一种简单的代换密码,它将明文中的每个字母按照字母表顺序向后移动一定的位数来得到密文。
  • 置换(换位):不改变明文中的字符,而是通过重新排列字符的位置来形成密文。例如,栅栏密码就是将明文按照一定的规则分组,然后将每组中的字符顺序打乱重新排列得到密文。

特点:

古典密码的优点是算法相对简单,容易理解和实现。缺点是安全性较低,随着计算机技术的发展,很容易被破解。

二、发展阶段

  • 起源阶段:
            古典密码学的历史可以追溯到古代。例如,公元前 1900 年左右,古埃及人就使用过一些简单的符号替换方法来加密信息。古希腊人使用一种名为 “天书” 的密码工具,通过将字母写在一条缠绕在木棒上的皮带上,来实现信息的加密和解密。
  • 发展阶段:
            在中世纪,密码学得到了进一步的发展。许多国家的政府和军队开始使用密码来传递机密信息。例如,凯撒密码在罗马军队中被广泛使用。
  • 成熟阶段:
            文艺复兴时期,密码学技术更加成熟,出现了多种复杂的加密方法,如维吉尼亚密码等。这些密码在当时的政治、军事和商业领域发挥了重要作用。
    三、代换密码

古典密码的加密是将明文的每一字母代换为字母表中的另一字母,代换前首先将明文字母用等价的十进制数字代替,再以代替后的十进制数字进行运算,字母与十进制数字的对应关系如表所示。

字母abcdefghijklm
数字0123456789101112
字母nopqrstuvwxyz
数字13141516171819202122232425
根据代换是对每个字母逐个进行还是对多个字母同时进行,古典密码又分为单表代换密码和多表代换密码。

1.单表代换密码

1.1恺撒密码

凯撒(Caesar)密码是将明文中的每个字母按照字母表顺序向后移动固定的位数(3位),得到密文。密代换和解密代换分别为:
图片
其中3是加解密所用的密钥,加密时,每个字母向后移3位(循环移位,字母x移到a,y移到b,z移到c)。解密时,每个字母向前移3位(循环移位)。

1.2 移位变换

移位变换的加解密分别是:
图片

1.3 仿射变换

仿射变换的加解密分别是:
图片
其中a,b是密钥,为满足0<=a,b<=25和gcd(a,26)=1的整数。其中gcd(a,26)=1表示a和26的最大公因子为1,表示a和26是互素的,a-1表示a的逆元,即 图片 。
【例题1】设仿射变换的加解密分别是:
图片
对 “security”加密,对 “vlxijh”解密。
解:(1)对 “security”加密:
图片
所以,“security”对应的密文是 “rxjfkzyh”。
(2)对 “vlxijh”解密:
图片
所以,“vlxijh”对应的明文是 “agency”。

2.多表代换密码

多表代换密码首先将明文M 分为由n个字母构成的分组M1,M2,…Mj,对每个分组Mi的加密为:
图片
其中(A,B)是密钥,A是 n×n的可逆矩阵,满足gcd( |A|,N)=1(|A|是行列式).图片
对密文分组Ci的解密为:
图片
【例题2】设n=3,N26 ,
图片
明文为 YOUR PIN NO IS FOUR ONE TWO SIX。
(1)加密过程:
将明文分成3个字母组成的分组 “YOU RPI NNO ISF OUR ONE TWO SIX”,如下所示:
图片
由于矩阵B为0,所以
图片
密文为 “WGI FGJ TMR LHH XTH WBX ZPS BRB”。
(2)解密过程:
解密时,先求出
图片
再求
图片
得明文为“YOU RPI NNO ISF OUR ONE TWO SIX”。

维吉尼亚密码
  • 简介:维吉尼亚密码是一种多表代换密码,由法国密码学家维吉尼亚于 1586 年提出。它克服了单表代换密码容易被频率分析破解的缺点,安全性相对较高。维吉尼亚密码的核心在于使用一个关键词作为密钥,并通过一张特殊的表格来进行加密。
  • 特点:通过使用多个凯撒密码的组合,隐藏了明文中字符的频率分布规律,增加了密码分析的难度。但如果密钥字较短,且明文较长,仍可能通过统计分析等方法被破解。
  • 加密原理:
    • 首先有一个密钥,将密钥重复扩展,使其长度与明文相同。
    • 然后,根据密钥字中每个字符对应的字母在26行字母表(这张表格由26行字母表组成,每一行都是上一行向左偏移一位得到的)中的位置,在表格中找到对应的密文。
      下面是26行的维吉尼亚密码表:第一行为明文字符,第一列为密钥字符,中间为加密(移位)后的结果。
      图片
      【例题3】明文为 “SECURITY”,密钥为 “CODE”,
      解:明文SECURITY(对应为18 4 2 20 17 8 19 24)一共有8个字符,
      因此重复后的密钥为C O D E C O D E(变换为移位的位数为2 14 3 4 2 14 3 4)
      S(明文)+C(密钥)=U(密文)即(18 + 2) % 26 = 20
      E(明文)+O(密钥)=S(密文)
      C(明文)+D(密钥)=F(密文)
      U(明文)+E(密钥)=Y(密文)
      依次类推,可以得到最终密文为:USFYTWWC
  • 解密原理:
    • 与加密过程相反,根据密钥中每个字符对应的字母在字母表中的位置,对密文中相应位置的字符进行逆向的凯撒密码变换。
    • 也可以用密文对应的数字减去密钥对应位置的数字,若结果为负数则加上 26,最后对 26 取模。例如,对于第一个字符,(20 - 2) % 26 = 18
      四、置换密码

栅栏密码

  • 简介:栅栏密码是一种简单的置换密码,它将明文按照一定的规则重新排列,从而达到加密的目的。

  • 特点:加密方法简单,容易实现。但其安全性较低,因为只是对字符的位置进行了置换,字符本身没有改变,攻击者可以通过分析字符的频率分布等特征来尝试破解。

  • 加密原理:将明文按照一定的字数分成若干行(栏数),然后将每行的字符按照特定的顺序重新排列**(按列读取)**,形成密文。
    【例题4】明文 “SECURITY” ,栏数为2
    解:
    (1)加密
    由于栏数为2,即把明文SECURITY分成上下两行交替放置字符。
    第一行:S E C U
    第二行:R I T Y
    加密后的密文就是将两行字符从上到下,从左到右依次连接起来,
    密文S->R->E->I->C->T->U->Y,即SREICTUY

  • 解密原理:先根据已知的分组长度,将密文按照相反的顺序重新分组,再将每组的字符按照原来的顺序还原,即可得到明文。
    (2)解密:
    第一行:S C R T
    第二行:E U I Y
    明文为S->E->C->U->R->I->T->Y,即SECURITY

    学习资源

如果你是也准备转行学习网络安全(黑客)或者正在学习,这里开源一份360智榜样学习中心独家出品《网络攻防知识库》,希望能够帮助到你

**读者福利 |** 优快云大礼包:《网络安全入门&进阶学习资源包》免费分享 **(安全链接,放心点击)**![](https://i-blog.csdnimg.cn/img_convert/a6502ab41b1a86132b9ebb5aab9a2cdc.jpeg)

知识库由360智榜样学习中心独家打造出品,旨在帮助网络安全从业者或兴趣爱好者零基础快速入门提升实战能力,熟练掌握基础攻防到深度对抗。

1、知识库价值

深度: 本知识库超越常规工具手册,深入剖析攻击技术的底层原理与高级防御策略,并对业内挑战巨大的APT攻击链分析、隐蔽信道建立等,提供了独到的技术视角和实战验证过的对抗方案。

广度: 面向企业安全建设的核心场景(渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营),本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点,是应对复杂攻防挑战的实用指南。

实战性: 知识库内容源于真实攻防对抗和大型演练实践,通过详尽的攻击复现案例、防御配置实例、自动化脚本代码来传递核心思路与落地方法。

2、 部分核心内容展示

360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。

在这里插入图片描述

360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。

内容组织紧密结合攻防场景,辅以大量真实环境复现案例、自动化工具脚本及配置解析。通过策略讲解、原理剖析、实战演示相结合,是你学习过程中好帮手。

1、网络安全意识

img

2、Linux操作系统

img

3、WEB架构基础与HTTP协议

img

4、Web渗透测试

img

5、渗透测试案例分享

img

6、渗透测试实战技巧

图片

7、攻防对战实战

图片

8、CTF之MISC实战讲解

图片

3、适合学习的人群

‌一、基础适配人群‌

  1. ‌零基础转型者‌:适合计算机零基础但愿意系统学习的人群,资料覆盖从网络协议、操作系统到渗透测试的完整知识链‌;
  2. ‌开发/运维人员‌:具备编程或运维基础者可通过资料快速掌握安全防护与漏洞修复技能,实现职业方向拓展‌或者转行就业;
  3. ‌应届毕业生‌:计算机相关专业学生可通过资料构建完整的网络安全知识体系,缩短企业用人适应期‌;

‌二、能力提升适配‌

1、‌技术爱好者‌:适合对攻防技术有强烈兴趣,希望掌握漏洞挖掘、渗透测试等实战技能的学习者‌;

2、安全从业者‌:帮助初级安全工程师系统化提升Web安全、逆向工程等专项能力‌;

3、‌合规需求者‌:包含等保规范、安全策略制定等内容,适合需要应对合规审计的企业人员‌;

因篇幅有限,仅展示部分资料,完整版的网络安全学习资料已经上传优快云,朋友们如果需要可以在下方优快云官方认证二维码免费领取【保证100%免费】

强烈兴趣,希望掌握漏洞挖掘、渗透测试等实战技能的学习者‌;

2、安全从业者‌:帮助初级安全工程师系统化提升Web安全、逆向工程等专项能力‌;

3、‌合规需求者‌:包含等保规范、安全策略制定等内容,适合需要应对合规审计的企业人员‌;

因篇幅有限,仅展示部分资料,完整版的网络安全学习资料已经上传优快云,朋友们如果需要可以在下方优快云官方认证二维码免费领取【保证100%免费】

img

ctf密码学基础一(编码及古典密码) UUencode是一种二进制到文字的编码,最早在unix 邮件系统中使用,全称:Unix-to-Unix encoding,UUencode将输入文本以每三个字节为单位进行编码,如果最后剩下的资料少于三个字节,不够的部份用零补齐。形如Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! 阅读详情

相关推荐

密码学基础:从古典到现代的加密技术演进

密码学作为信息安全的核心技术,经历了从古典替换密码到现代公钥体系的演进过程。其基本原理是通过数学算法将明文转换为不可读的密文,确保数据在传输和存储过程中的机密性、完整性与真实性。现代密码学体系包含对称加密(如AES)、非对称加密(如RSA)和哈希函数三大支柱技术,广泛应用于HTTPS安全通信、区块链和数字身份认证等场景。随着量子计算的发展,后量子密码学等新技术正在重塑加密算法的安全边界。掌握密码学基础对于理解网络安全机制和开发安全系统至关重要。

weixin_29322855的博客 237

古典密码学

古典密码学       密码学的应用历史可以追溯到几千年前。自从有了战争就有了保密通信,也有了密码的应用。1949年前,对密码的研究与应用没有形成一门学科,仅是文字变换技术,简称密码术。1949年,香农发表了“保密系统的通信理论”,为密码学的发展奠定了坚实的理论基础。密码技术的研究上了科学的轨道,此后的密码技术真正称得上密码学。       古典密码从古代到19世纪末,长达几千年。纸、笔或

zeroone的博客 6499

密码学基础知识(三)古典密码

说完了前面那些,想起个事,本系列依据内容主要来自《现代密码学》马春光编著。我就是学这本书的。 好了,古典密码就是古时候的密码,哈哈,逗你玩的,shannon的保密系统的通信理论发表前的都是古典密码,会在密码学简史中介绍这位牛人的。 学习古典密码学的意义:学习设计原理和分析方法 古典密码也是,俩门派:置换和代换,顾名思义,一个是换了个原来有的,一个是换了个原来没有的。学术点讲就是前者明文和密文

兮先生的博客 4584

密码学:古典密码.

古典密码是密码学的一个类型,大部分加密方式是利用替换式密码或移项式密码,有时是两者的混合。古典密码在历史上普遍被使用,但到现代已经渐渐不常用了。一般来说,一种古典密码体制包含一个字母表(如A~Z),以及一个操作规则或一种操作设备。古典密码是一类简单的密码体系,到了现代密码时代几乎不可信赖.

网络安全领域___专研者. 6918

全面掌握密码学基础:从古典到现代算法

密码学是一门研究编写和解读秘密信息的学科,它在确保信息安全和保护数据完整方面起着至关重要的作用。本章将介绍密码学的基础知识,包括密码学的历史发展、基本术语和分类。我们将探讨信息加密与解密的基本概念,并对不同类型的加密算法进行初步了解。此外,密码学中的基本要素,如密钥、明文和密文的定义与角色,也会在这里被详细阐述。通过对本章内容的学习,读者将建立对密码学领域的初步理解,并为后续章节的深入探索打下坚实的基础。数字签名是一种利用非对称密钥加密技术来验证消息完整性和发送者身份的技术。

weixin_29009401的博客 1016

破译丰田BEAN总线之谜

我对CAN的深入了解并不是从CAN本身开始的,而是起源于丰田公司自主研发的BEAN总线。由于BEAN总线协议并不是公开的,而是一种技术机密,所以当丰田车不在使用BEAN总线两年多后的今天,虽然这里还不敢公开技术细节,但回想起当年的作品,随便写写也算对自己的努力有所交代。   南方都市报惠州版曾经报道过一则新闻,说的是丰田皇冠车被盗率非常高。其实两年前就已经知道了皇冠车的防盗系数很低,所以当时的首

粤嵌 5264

密码学基础 Chapter 1——古典密码学

密码学第一章

CoLin的pwn小屋 1201

VConsole动态加载

// 移动端真机调试工具 vconsole import VConsole from "vconsole"; import Vue from "vue"; // 动态使用VConsole if(process.env.NODE_ENV==='production'){ if(process.env.VUE_APP_BASEURL.includes('test')||process.env.VUE_APP_BASEURL.includes('pre')){ Vue.prototype

aliven1的博客 1043

密码学原理-篇1:古典密码学

密码学原理-篇1:古典密码学 关键词: 恺撒密码 单表替换密码 多表替换密码 重合指数 古典密码学之所以被称为古典,是因为区别于现代密码学,这些密码理论虽然很有价值,但是现在很少使用。因此,学习古典密码学,主要是学习前人设计密码的思路,和他们成功或失败的历史。 一、恺撒密码 在古典密码学中,一个很重要的实例就是恺撒密码。 根据罗马早期纪传体作家盖乌斯·苏维托尼乌斯的记载,恺撒曾经用下...

sukfortune的博客 1万+

RK3566基于Buildroot定制QT开发环境的完整指南

本文详细介绍了如何在RK3566开发板上使用Buildroot定制QT开发环境的完整流程。从基础环境搭建、Buildroot初始配置到QT模块选择与编译验证,提供了实战经验和常见问题解决方案,帮助开发者高效完成嵌入式Linux下的QT开发环境部署。

weixin_26804345的博客 358

SpringBoot项目实战:5分钟搞定豆包大模型API接入(附完整代码)

本文详细介绍了如何在SpringBoot项目中快速集成豆包大模型API,仅需5分钟即可完成。从环境准备、依赖配置到核心服务封装和控制器层实现,提供了完整的代码示例和实战技巧,帮助开发者高效接入大模型能力,提升智能客服等应用的开发效率。

weixin_30566063的博客 439

密码学基础概念详解:从古典加密到现代密码体系

密码学(Cryptography)一词源自希腊语“kryptos”(隐藏)和“graphein”(书写),字面含义是“隐藏的书写”。从学术角度定义,密码学是研究如何通过数学算法将信息转化为难以理解的形式(加密),以及如何将其还原(解密),从而在不可信环境中保障信息安全的技术科学。密码编码学(Cryptography):设计加密算法与协议,构建安全机制的学科密码分析学(Cryptanalysis):研究如何破解加密算法,寻找安全漏洞的学科。

qq2745567641的博客 1630

YOLO + Qwen3-VL-Seg 深度诊断:双引擎协同完成AI质检

本文提出了一种创新的工业质检双引擎架构,结合YOLO实时检测与Qwen3-VL-Seg精细化诊断,有效解决了传统检测方法中检测与诊断割裂的问题。YOLO部署在边缘端实现高效定位(3.2MB模型,<10ms延迟),Qwen3-VL-Seg在云端完成语义级缺陷分析(仅17M参数的解码器实现像素级分割)。该方案通过6步闭环流程,从实时感知到工艺反哺,显著提升了工业质检的准确性和可解释性,为智能制造提供了从"发现"到"解决"的完整技术路径。

mingo_敏 221

密码学基础,古典密码

古典密码大都比较简单且容易破译,但其意义在于对理解现代密码学十分有益。古典密码一般分为大的两种:置换密码和代替密码。在密码算法设计中将古典密码用于线性变换用以增加算法的复杂度,和增加各个密文之间的联系,使得变换了一个明文会影响尽量多的密文。

qq_44131896的Vlog 1970

基于Python的车牌识别系统实现

本文将以基于Python的车牌识别系统实现为方向,介绍车牌识别技术的基本原理、常用算法和方法,并详细讲解如何利用Python语言实现一个完整的车牌识别系统。

商务合作 / 项目定制 / 学习交流。个人vx:lovely_wml 5万+

【图像增强】论文精读:Correlation Matching Transformation Transformers for UHD Image Restoration(UHDformer)

论文题目:Correlation Matching Transformation Transformers for UHD Image Restoration —— 用于UHD图像恢复的相关匹配变换变压器AAAI 2024!本文提出了一种用于超高清(UHD)图像恢复的通用变压器UHDformer。UHDformer包含两个学习空间:(a) 高分辨率空间中的学习,(b)低分辨率空间中的学习。前者学习多层次的高分辨率特征,融合低层特征,重建残差图像,后者从高分辨率特征中学习更多的代表性特征,以促进更好的恢复。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 291

【密码学】面向小白的古典密码基础入门笔记

1.所有古典密码都已不安全2.密钥空间应该尽量大3.密文应该扰乱统计规律4.效率和安全是矛盾的。

uuzeray的博客 2877

基于百度地图API在AI Studio上的卫星地图块图像处理与分类

本项目基于百度地图API获取了不同的瓦片地图并进行合并等处理,可用于遥感和抽象地图的地图块的图像分类、分割、检测等数据的制作。瓦片地图金字塔模型是一种多分辨率层次模型,从瓦片金字塔的底层到顶层,分辨率越来越低,但表示的地理范围不变。首先确定地图服务平台所要提供的缩放级别的数量N,把缩放级别最高、地图比例尺最大的地图图片作为金字塔的底层,即第0层,并对其进行分块,从地图图片的左上角开始,从左至右、从上到下进行切割,分割成相同大小(比如256x256像素)的正方形地图瓦片,形成第0层瓦片矩阵;

斌擎科技 746

Hello-CTF密码学基础:从古典密码到现代加密的完整解析

欢迎来到Hello-CTF密码学入门指南!作为CTF竞赛中最基础也是最重要的技能之一,密码学知识对于网络安全爱好者和CTF新手来说至关重要。本文将带你全面了解密码学的基础知识,从简单的编码技术到复杂的现代加密算法,为你在CTF竞赛中解决密码学题目打下坚实基础。 ## 📚 密码学基础知识概览 密码学是保护信息安全的核心技术,在CTF竞赛中占有重要地位。Hello-CTF项目提供了系统的密码学学

gitblog_00018的博客 888

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

密码学基础古典密码

古典密码学有两种基本方法,置换密码和替代密码,置换密码指的是,密文和明文的字母是一样的,只是顺序不一样而已,而替代密码指的是,有一张对应的表,将明文中的字符替换成另一个字符。达到生成密文的效果。

weixin_59561323的博客 624

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

【古典密码学】键盘加密 CTF密码学基础

键盘加密作为一种独特的加密方式,不仅具有趣味性和挑战性,还蕴含着丰富的数学和逻辑思维。通过探索和实践,我们可以更好地理解和掌握这种加密方法的精髓,并在实际应用中发挥其独特的优势。无论是键盘布局加密还是键盘坐标加密,它们都为我们打开了一扇通往密码学奇妙世界的大门。

delepaste的博客 2111

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【密码学——基础理论与应用】李子臣编著 第二章 古典密码 课后习题

我学密码呢。认清版本哦!第二章课后题

xinghuayu_lin的博客 910

现代密码学|古典密码学例题讲解|AES数学基础(GF(2^8)有限域上的运算问题)| AES加密算法

注意这里明文和密文都只有4个,但A是2x2矩阵,要相乘的话只能一次乘明文中的两个,所以可以得出下面的方程。参考的一个up主,讲得挺好,正好课程没啥作业,参考up的来做题学习。这里的运算规则就是GF(2^8)有限域上的运算问题。大致加密过程,先有个印象,但最终轮没有这个列混合。明文块和密钥块都可以用一个16字节的矩阵表示。和一个子密钥矩阵(会通过密钥得到)进行异或。根据字节转换寻找到对应的x和y,然后替换。通过已有的密钥通过某些操作计算出子密钥。相乘的这个矩阵是固定的(被给出的)求逆元通过扩展欧几里得算法。

llovewuzhengzi的博客 1375
上一篇: 逆向工程是什么?看完让你摸透逆向工程!!
下一篇: java5、java6、java7、java8、java9新特性
披荆斩棘的GG
博客等级 码龄4年 1万+粉丝 2960原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值