密码学概述&置换密码
密码学
概述
如何将信息进行加密,传送到接收方,接收方在进行解密获取信息,中间即使有窃听者窃听到信息也可解密破解。
密码学分类
- 密码编辑学(保密)
- 密码分析学(破译)
- 该破译与传统的黑客技术有一定的区别
传统密码体质
密码系统图示
密码系统定义
- 一个密码系统是一个五元组(P,C,K,E,D),
- P:明文集
- C:密文集
- K:密钥集
- E:加密算法集
- D:解密算法集
- 密码学 Cryptography
- 加密 Encryption
- 解密 Decryption
置换密码
- 置换密码是根据一定的规划重新排列明文,以便打破明文的结构特征,也称为换位密码。
- 常见有两种:
- 列置换密码
- 周期置换密码
1.置换定义
在限集X上的运算:X->X若是双射函数,则称其为一个置换。
M=(1 2 3 4 5 6 7 8
2 5 3 6 1 8 4 7)=(1 2 5)(3)(4 6 8 7)
逆置换
M^-1=(1 2 3 4 5 6 7 8
2 5 3 6 1 8 4 7)^-1=(2 5 3 6 1 8 4 7
1 2 3 4 5 6 7 8)
=(1 2 3 4 5 6 7 8
5 1 3 7 2 4 8 6)=(1 5 2)(3)(4 7 8 6)
2.置换密码
- 加密:
- 解密:
- 攻击:
- 穷举密钥进行攻击知道有意义的明文为止
3.周期置换密码
- 周期置换密码是将明文串P按照固定长度m分组,然后对每一组按照1,2,……,m的某个置换重新排列位置,从而得到密文C。
- 解密时将密文按照长度m分组,对每组按照逆置换重新排列,从而得到明文m。
- 明文M=abcdefg,分组长度m=4,密钥=(1 3)(2 4)则密文C=cdabghef
m=(1 2 3 4
3 4 1 2)
m1=(a b c d)->(c d a b)
m2=(e f g h)->(g h e f)
C=(cdabghef)
4.列置换密码
- 加密:
- 将明文P以固定分组宽度m按行写出,每行m个字符,不足部分用空格代替,设有n行,得n行m列字符矩阵M;
- 按1,2,……,m的某个位置交换列的位置次序,得字符矩阵M';
- 将M'按1,2,……,m列的顺序依次独处密文序列C;
P=abcdefgh,分组宽为m=4,得2行4列矩阵M:
M=(a b c d
e f g h)
设置换x=(1 3)(2 4)
则M'=(c d a b
g h e f)
则密文序列C=cgdhaebf
解密:
- 将密文C以分组宽度m按照写出字符矩阵,的n行m列M';
- 按1,2,……,m的逆置换交换列的位置次序,得字符矩阵M;
- 将M按行的顺序依次独处明文序列P。
密文序列C=cgdhaebf
M'=(c d a b
g h e f)
逆置换x'=(1 3)(2 4)
M=(a b c d
e f g h)
注:
- 置换摩玛、周期置换密码、列置换密码三种加密方法本质上相同;
- 三种加密方法都可以通过穷举密钥来进行攻击
- 明文字母打乱后变成密文字母,字母相同不变,由密文中特殊的字母组成由意义的单词可去推测密钥的部分信息。
密码学概述&置换密码的更多相关文章
- android 数据加密——加密的概述
数据加密又称密码学,它是一门历史悠久的技术,指通过加密算法和加密密钥将明文转变为密文,而解密则是通过解密算法和解密密钥将密文恢复为明文.数据加密目前仍是计算机系统对信息进行保护的一种最可靠的办法.它利 ...
- 【原创】浅析密码学在互联网支付中的应用|RSA,Hash,AES,DES,3DES,SHA1,SHA256,MD5,SSL,Private Key,Public Key
一)概述 什么是互联网支付? 当支付遇到互联网,一场革命自然不可避免.成为现实的是传统的现金支付已经“退居二线”,各种在线支付方式成为人们日常消费的主要支付方式.银行推出的网银以及第三方支付公司推出的 ...
- 2019-11-26:密码学基础知识,csrf防御
信息安全的基础是数学--->密码算法--->安全协议(ssl VPN)-->应用(证书 PKI)密码学入门密码编码学:研究加解密算法的学科密码分析学:研究破译密码算法的学科 加解密分 ...
- 分组密码(三)DES 算法— 密码学复习(六)
在介绍完Feistel结构之后,接下来进入到著名的DES算法. 6.1 DES算法的意义 在正式介绍DES之前,首先介绍几个重要的历史时间节点. ① 1973年,美国国家标准局(NBS)向社会公开征集 ...
- 密码学基础:AES加密算法
[原创]密码学基础:AES加密算法-密码应用-看雪论坛-安全社区|安全招聘|bbs.pediy.com 目录 基础部分概述: 第一节:AES算法简介 第二节:AES算法相关数学知识 素域简介 扩展域简 ...
- Bristol大学密码学博士生的五十二个知识点
Bristol大学密码学博士生的五十二个知识点 这个系列,是Bristol大学的密码安全工作组为密码学和信息安全相关的博士准备了52个基本知识点. 原地址:http://bristolcrypto.b ...
- 密码学之PRP/PRF转换引理
本文将介绍密码学中的PRF.PRP等相关概念,并介绍 PRP/PRF 转换引理及其证明,希望读完本文后,你能对现代密码学中这几个基础概念有所了解. 在开始本文前,希望你有如下预备知识: 现代密码学是怎 ...
- 【AR实验室】ARToolKit之概述篇
0x00 - 前言 我从去年就开始对AR(Augmented Reality)技术比较关注,但是去年AR行业一直处于偶尔发声的状态,丝毫没有其"异姓同名"的兄弟VR(Virtual ...
- Recurrent Neural Network系列1--RNN(循环神经网络)概述
作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 本文翻译自 RECURRENT NEURAL NETWORKS T ...
随机推荐
- Monty Hall Problem (三门问题)
最近有点忙,没怎么写程序...今天突然想起以前看到过的一个问题-三门问题,十分想用程序来模拟一下,于是实在忍不住了就模拟了这个游戏的实验,通过写程序更加加深了我对这个问题的理解,期间也查找了各种相关资 ...
- 安装scikit-learn
首先到官网下载安装 python ,之后下载setuptools 进行安装. 'python' 不是内部或外部命令 可运行 set PATH=%PATH%;C:\Python34 安装完成之后,运行 ...
- 设计模式课程 设计模式精讲 3-10 里氏替换原则coding
1 代码演练 1.1 继承关系判别(是否是真正意义的继承) 1.2 入参控制 1.3 出参控制 1 代码演练 1.1 继承关系判别(是否是真正意义的继承)(其实我觉得这个例子有点牵强) 1.1.1 反 ...
- 解决安装PyMySQL一直停在Building wheels for collected package:cryptography, cffi, pycparser的问题
我的运行环境为: 硬件:树莓派3b 系统:ubuntu_meta_16.04.2 因为项目需要,我在树莓派上搭建了基于python编程的Django的web框架,需要从MySQL中读取树莓派以及传感器 ...
- MNIST手写数字分类simple版(03-2)
simple版本nn模型 训练手写数字处理 MNIST_data数据 百度网盘链接:https://pan.baidu.com/s/19lhmrts-vz0-w5wv2A97gg 提取码:cgnx ...
- Week of Code:GG
题意是给出一个数n,一个长度为n-1的字符串.求的是1到n符合要求的序列的数量,该序列需要满足当该位置为G时,这个位置的数大于后面位置的数.当该位置为L时,这个位置的数要小于后面位置的数.最后数量模m ...
- Day1-B-CF-1144B
简述:有一个n个元素的序列,选奇数下一个就选偶数,偶数则下一个就是奇数,问能否取完,能取完输出0,否则输出能剩下的最小的之和 思路:统计奇偶数个数,若相等或相差一则取完,否则排列后取出最小的前x个(x ...
- Python - Mro
参考 https://stackoverflow.com/questions/2010692/what-does-mro-do http://python.jobbole.com/85685/ 问题: ...
- 中山普及Day13——普及
又是迷之自信的说...估的230,考的50整,我欲上天呐!!! T1:深渊(怕不是黑暗种族聚集地???) 思路:动归.而且是简单动归.转移方程:Fi,j=max(Fi-1,j,Fi,j,Fi-1,(j ...
- Golang 如何交叉编译
Golang 支持交叉编译,即在一个平台上生成另一个平台的可执行程序.方法如下: Mac 下编译 Linux 和 Windows 64位可执行程序 CGO_ENABLED=0 GOOS=linux G ...