定义 一个密码体制是满足以下条件的五元组(P,C,K,E,D):

1.P代表所有可能的明文组成的有限集。
2.C代表所有可能的密文组成的有限集。
3.K代表密钥空间,由所有可能的秘钥组成的有限集。
4.对于每一个k∈K,都存在一个加密规则ek∈E和相应的解密规则dk∈D。并且对每对ek:P→C,dk:C→P,满足条件:对每一个明文x∈P,均有dk(ek(x))=x。
———————————————————————————————

密码体制–代换密码Substitution Cipher)

令P=C=Z26。K是由26个数字0,1,,,25的所有可能的置换组成。对任意的置换π∈K,定义

eπ(x)=π(x)

dπ(y)=π-1(y)

这里的π-1表示置换π的逆置换。
———————————————————————————————
事实上,在代换密码的情形下,我们也可以认为P和C是26个英文字母。在移位密码中使用Z26是因为加密和解密都是代数运算。但是在代换密码的情形下,可以更简单地将加密和解密过程直接看做是一个字母表上的置换。
任取一置换π,便可得到一加密函数,参见下表(同上一篇移位密码,小写字母表示明文,大写字母表示密文):

a

密码学基础--代换密码(Substitution Cipher)相关推荐

  1. 密码学基础--仿射密码

     在仿射密码中,加密函数定义为: e(x)=(ax+b)mod26 a,bZ.因为这样的函数被称为仿射函数,所以这样的密码体制也称为仿射密码(可以看出,当a=1时,其对应的正是移位密码). 为了能对密 ...

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

    说完了前面那些,想起个事,本系列依据内容主要来自<现代密码学>马春光编著.我就是学这本书的. 好了,古典密码就是古时候的密码,哈哈,逗你玩的,shannon的保密系统的通信理论发表前的都是 ...

  3. 现代密码学1.3--古典密码/historical cipher

    现代密码学1.3--古典密码/historical cipher Caesar's cipher/凯撒密码 The shift cipher/移动密码 The mono-alphabetic subs ...

  4. 凯撒密码加密算法python_CTF中会用到的密码学基础(节选)

    Hello,大家好,好耐冇见,我系初音 今天我们来学习一下关于CTF中会用到的部分密码学基础(很简单的那部分) 01第一节.凯撒密码 在密码学中,凯撒密码(Caesar cipher),或称凯撒加密. ...

  5. 【密码学原理与实践】(二)代换密码 符java代码实现

    代换密码(Substitution Cipher) 转载请著明出处 定义 令P=C=Z26,K是由26个数字0,1,-25的所有可能的置换组成,对任意的π∈K,定义eπ(x)=π(x)和dπ(y)=π ...

  6. 重力传感器 测重力代码_“重力瀑布”如何帮助您教授孩子的密码学基础知识...

    重力传感器 测重力代码 by Kamil Tustanowski 通过卡米尔·图斯坦诺夫斯基 "重力瀑布"如何帮助您教授孩子的密码学基础知识 (How "Gravity ...

  7. 有趣的密码学介绍~古典密码之凯撒密码来咯~

    游说万乘苦不早,著鞭跨马涉远道.仰天大笑出门去,我辈岂是蓬蒿人! 文章目录 前言 正文 古典密码 一.古典密码概述介绍 1.置换密码 2.代换密码 二.古典密码分类介绍 1.置换密码 2.编辑本段代换 ...

  8. 计算机基础(07)密码学基础

    今天的我们只要接触密码学相关的信息,那一定是经常会听说各种密钥啊,之类的,但这个东西到底是怎么发展来的呢?这里我们从密码学的发展.古典密码学和现代密码学等角度搞清楚密码学到底是怎么发展的,以及为什么后 ...

  9. HTTPS安全通讯 1. 密码学基础

    文章目录 一. 密码学发展 1. 古代保密之术 2. 近代密码学发展 二.数论 三. 群论与有限域 1. 抽象加法与群论 2. 有限域 四.加密基元与加密工具包 五.随机数 1. 随机数分类 2. 命 ...

最新文章

  1. 社交网络图挖掘2--社区的直接发现和图划分
  2. java当中显示紫色_在java中将深色变为亮色
  3. Java快速入门学习笔记9 | Java语言中的方法
  4. IntelliJ Idea学习笔记005---intellij idea build时出现Artifact contains illegal characters的解决
  5. mysql in 索引_关于MySQL种的in函数到底走不走索引、我和同事差点大打出手!
  6. 客户端浏览器向服务器发起http请求的全过程
  7. linux使用中的问题 --- (cp: missing destination file operand after xxxx)
  8. 数据仓库与数据挖掘概述
  9. python pdfminer3k_python 使用pdfminer3k 读取PDF文档的例子
  10. win2008服务器系统玩红警,WIN10 64位系统完美运行红色警戒2教程
  11. 再探幻读!什么是幻读?为什么会产生幻读,MySQL中是怎么解决幻读的?
  12. 《C++ Primer Plus 第六版 中文版》的研读与学习(五)
  13. 服务器系统显示白屏,服务器远程显示白屏
  14. 推荐系统 - 基于标签的推荐算法
  15. Java TCP实现高仿版QQ聊天(一)
  16. rutracker网站无法进入,解决方案来啦
  17. 安卓关于健身的代码_亲子运动健身新玩法,娱乐享瘦两不误,让孩子不再沉迷电子产品...
  18. mysql 临时文件写满_阿里云数据库MySQL临时文件导致实例空间满的解决办法
  19. 有关老年计算机培训的报道,宝鸡市华厦老年大学
  20. 吴恩达机器学习课程笔记——第一周

热门文章

  1. 我和new bing的聊天记录
  2. 手机php打开自带地图,android在自带的app中,调用手机自带的百度地图和高德地图去实现导航的功能...
  3. alarm函数使用方法
  4. 论什么叫牛逼的程序猿
  5. 摩客怎么设置安卓的dp_Android下设置文字大小用sp还是dp
  6. 多人小组开发App思路,开发前的准备
  7. js onpaste事件,禁止粘贴
  8. 一文搞懂 MySQL 中的索引
  9. Xshell连接ubuntu后,在vim编辑器中数字小键盘无法打出数字
  10. Take my breath away