密码学概述与基本加密方式
1.密码学
密码学(cryptology)是研究编制密码和破译密码的技术的科学。研究密码变化的客观细律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。
著名的密码学者Ron Rivest认为“密码学是关于如何在敌人存在的环境中通讯”,是信息安全等相关议题,如认证、访问控制的核心。其首要目的是隐藏信息的含义,而不是隐藏信息的存在。
2.加密模型
我要介绍几种基本的加密解密方法,首先了解一下数据加密的模型:
(1)密码(password):是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。
(2)明文(plaintex或Message):就是原始的信息,或是需要被密码保护的信息,可能是比特流、文本文件、位图、数字化的语音流或视频图像等.
(3)密文(ciphertext):原始信息经过加密处理后,隐藏原文含义的信息。
(4)加密(enciphering):把原始信息转换成不直接可读形式的过程。
(5解密(deciphering):是加密的逆过程,从加密过的信息中得到原始信息的过程。
(6)密钥(key):是在控制加密和解密算法实现过程中通信双方掌握的专门信息。密钥是一个具有特定长度的数字串,其值是从大量的随机数中选取的。
3.基本加密方法
1.移位密码(凯撒密码)
Step:将密码按顺序向前(向后)移动n位。
Eg:
明文:ABCDEFG key=3
密文:DEFGABC
2.置换密码(换位密码)
Step:一般是纵行换位密码,明文以固定的宽度水平的写在一张图表纸上,密文按垂直方向读出,解密就是密文按相同的宽度垂直的写在图表纸上,然后水平的读出明文。
Eg:
明文:attack begins at five 密钥:cipher
因为密钥有6个字符,所以将明文按照一行6个字母排成矩阵得
a |
t |
t |
a |
c |
k |
b |
e |
g |
i |
n |
s |
a |
t |
f |
i |
v |
e |
分析置换规则,根据26个英文字母排列顺序,得出密钥cipher各个字母的先后顺序,c是第一位出现。其次是e,以此类推得出其顺序为:145326
随即将顺序规则插入明文矩阵得
a |
t |
t |
a |
c |
k |
b |
e |
g |
i |
n |
s |
a |
t |
f |
i |
v |
e |
1 |
4 |
5 |
3 |
2 |
6 |
纵列依次写下得密文:aba cnv aii tet tgf kse
3.替换密码
Step:这是一种基于凯撒密码的加密方式。得到偏移数量后,将明文与密文相对照,得到一个混合表。使用混合表,我们能得到最终密文。
Eg1:
明文:ABCDEFGHIJKLMNOPQRSTUVWXYZ key=3
密文:DEFGGHIJKLMNOPQRSTUVWXYZABC
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
A |
B |
C |
得知混合表为:A=D B=E C=F D=G E=H F=I G=J……X=A Y=B Z=C
明文:I want give you a hug
密文:L ZDQW JLYH BRX D KXJ
Eg2:
当得到字母组合的密钥时,将字母组合写在混合表最前面,重复的字母删去,组成混合表。
明文:ABCDEFGHIJKLMNOPQRSTUVWXYZ key=ZEBRAS
密文:ZEBRASCDFGHIJKLMNOPQTUVWXY
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
Z |
E |
B |
R |
A |
S |
C |
D |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
T |
U |
V |
W |
X |
Y |
得知混合表为:A=Z B=E C=D D=R E=A F=S G=C …… W=V X=W Y=X Z=Y
明文:We are discovered
密文:VA ZOA RFPBLUAOAR
3.Vigenere加密
话不多说,直接上例子!
Eg:
明文:We are finally discovered 密钥:radio
首先先将26个英文字母标个序号(从0开始标记)
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
接着将明文拆分成单独的字母记为P1、P2……P22,根据26个字母所对应的序号将其标记。同理,将密钥拆分为单独的字母循环放入表格中并对应相应序号。
P1 |
P2 |
P3 |
P4 |
P5 |
P6 |
P7 |
P8 |
P9 |
P10 |
P11 |
P12 |
P13 |
P14 |
P15 |
P16 |
P17 |
P18 |
P19 |
P20 |
P21 |
P22 |
w |
e |
a |
r |
e |
f |
i |
n |
a |
l |
l |
y |
d |
i |
s |
c |
o |
v |
e |
r |
e |
d |
22 |
4 |
0 |
17 |
4 |
5 |
8 |
13 |
0 |
11 |
11 |
14 |
3 |
8 |
18 |
2 |
14 |
21 |
4 |
17 |
4 |
3 |
K1 |
K2 |
K3 |
K4 |
K5 |
K6 |
K7 |
K8 |
K9 |
K10 |
K11 |
K12 |
K13 |
K14 |
K15 |
K16 |
K17 |
K18 |
K19 |
K20 |
K21 |
K22 |
r |
a |
d |
i |
o |
r |
a |
d |
i |
o |
r |
a |
d |
i |
o |
r |
a |
d |
i |
o |
r |
a |
17 |
0 |
3 |
8 |
14 |
17 |
0 |
3 |
8 |
14 |
17 |
0 |
3 |
8 |
14 |
17 |
0 |
3 |
8 |
14 |
17 |
0 |
最重要的一步来了,我们将根据上表算出密文的所对应的字母。
公式:密文C=明文P+密钥K
当计算结果超过25时,将超过25的部分重新归0开始计算。
例如:C1=P1+k1=22+17=39 超过25的部分为14,因为是从0开始计算,所以得出C1=13,又因13对应的字母为N,得出C1=N。
C2=P2+K2=4+0=4=E
C3=P3+K3=0+3=3=D
……
C22=P22+K22=3+0=3=D
得出密文为:NEDZSWIQIZCOGQGTOYMFVD
以上便是我介绍的几种比较简单基础的加密算法。
——参考内容:《边做边学信息安全(人民邮电出版社)》、百度百科
密码学概述与基本加密方式相关推荐
- 密码学的几种加密方式
这段时间开始接触区块链技术,区块链中很重要的一个环节就是加密,本文简要介绍一下常用的加密方式 常用的加密方式有这四种,比特币的交易就是基于数字签名加密方式的. 1.对称加密 对称加密是使用同一个密钥对 ...
- 密码学之常见加密方式(05)
常见加密方式 文章目录 常见加密方式 前言 一.对称加密 二.DES加密 三.DES解密 Base64 算法简介 Base64 算法原理 Base64 构成原则 四.base64补等号测试 五.AES ...
- Python实现前端AES加密方式分析,***密码学必备!
在前端常见的加密方式中AES很少使用,因为相对于非对称的RSA安全性很低,AES是典型的对称加密,密钥就在前端源码里. 案列网站是ewt360.com,一个并不复杂的网站,首先抓个包看看: 加密字段只 ...
- 密码学之恺撒加密(03)
恺撒加密 文章目录 恺撒加密 一.中国古代加密 二.外国加密 三.凯撒位移加密 四.凯撒加密和解密 五.频度分析法破解恺撒加密 密码棒 频率分析解密法 英文字母频率统计表: 以下是本篇文章正文内容 一 ...
- 简述https的几种加密方式
加密方式 常见的加密方式:对称加密和非对称加密. 对称加密算法和非对称加密算法只不过是密码学中的两种加密算法罢了,所谓的算法就是一种可以将信息从一种形式转变为另一种形式的规则. 对称加密 概念:对称密 ...
- 无线路由的四种加密方式
Do you know the encryption technology of Wi-Fi application? 一.WEP加密 1.1 百度释义 WEP(Wired Equivalent ...
- 最常见加密方式和Python实现
前言 我们所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的Bytes. 所以当我们在Python中进行加密操作的时候,要确保我们操作的是Bytes,否则就会报错. 将 ...
- Java各种加密方式集锦(AES,DES,RSA,DSA,MD5,SHA)
一. 什么是加密 加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容.在网络数据传输过程中会经常用到报文加密,通常是对报文体 ...
- Android常用加密方式
加密解密简介 加密技术是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密).加密技术包括两个元素:算法和密钥.算法是将普通的信息或者可以理 ...
最新文章
- 进一步提升用户信息安全保护意识 小米安全与隐私宣传月完满落幕
- php基础知识(六)
- PendingIntent与Intent区别
- dbms支持哪几种数据模型_DBMS中不同类型的数据模型
- hdu 4588 Count The Carries
- 在BCB中使用多线程实例
- 编译LTIB遇到的问题解决办法
- javashop B2C开源电商系统源代码
- 利用canvas制作乱跑的小球
- 计算机连接小米usb驱动,win7系统安装小米usb驱动的操作方法
- 偏差与方差、L1正则化、L2正则化、dropout正则化、神经网络调优、批标准化Batch Normalization(BN层)、Early Stopping、数据增强
- 同步升压与非同步升压区别
- ADB命令连接逍遥模拟器
- 计算机应用Office2016,Office 2016
- 如何删除PDF水印?PDF删除水印怎么操作
- 【译】Jep文档(4)——数据类型(Data Type)
- unity 模拟弹簧
- nova3安装android10系统,华为nova3 刷机教程 华为nova3 强刷升级教程
- Python + Selenium环境搭建
- Android系统服务(SystemService)简介