171216—几种经典加密方法。

来源:互联网 发布:淘宝手机店铺装修素材 编辑:程序博客网 时间:2024/06/05 00:24

送走了四级考试之后,接下来可以好好学习了。

此篇只打算梳理几种加密方式的大体思路,具体公式不熟,不在整理范围内。

Caesar加密

即凯撒密码,基础的基础,核心是“k”偏移量。
其原理在于,按既有字母表顺序,以k为偏移量,使用一个字母后固定数值位的另一个字母代替该字母。例如:取k=3时,A应由D取代,整个字母表按序为“DEFGHIJKLMNOPQRSTUVWXYZ ABC”

Vigenere密码

维吉尼亚密码,是在凯撒密码上的升级改良。

其目的在于对抗字频统计

人们在单一恺撒密码的基础上扩展出多表密码,称为“维吉尼亚”密码。该方法最早记录在吉奥万·巴蒂斯塔·贝拉索( Giovan Battista Bellaso)于1553年所著的书《吉奥万·巴蒂斯塔·贝拉索先生的密码》(意大利语:La cifra del. Sig. Giovan Battista Bellaso)中。(百度百科)维吉尼亚密码引入了“密钥”的概念,即根据密钥来决定用哪一行的密表来进行替换,以此来对抗字频统计。假如以上面第一行代表明文字母,左面第一列代表密钥字母,对如下明文加密:TO BE OR NOT TO BE THAT IS THE QUESTION当选定RELATIONS作为密钥时,加密过程是:明文一个字母为T,第一个密钥字母为R,因此可以找到在R行中代替T的为K,依此类推,得出对应关系如下:密钥:RELAT IONSR ELATI ONSRE LATIO NSREL明文:TOBEO RNOTT OBETH ATIST HEQUE STION密文:KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY

维吉尼亚密码字表:
这里写图片描述

想起小时候自己设密码时写的那个字表。。早就不知道丢哪去了。。

栅栏式密码

所谓栅栏密码,就是把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无规律的话。 不过栅栏密码本身有一个潜规则,就是组成栅栏的字母一般不会太多。(一般不超过30个,也就是一、两句话)
特点:自身加密自身。自己打乱自己。需要的密钥是N。

一般比较常见的是2栏的栅栏密码。比如明文:THERE IS A CIPHER去掉空格后变为:THEREISACIPHER两个一组,得到:TH ER EI SA CI PH ER先取出第一个字母:TEESCPE再取出第二个字母:HRIAIHR连在一起就是:TEESCPEHRIAIHR还原为所需密码。而解密的时候,我们先把密文从中间分开,变为两行:T E E S C P EH R I A I H R再按上下上下的顺序组合起来:THEREISACIPHER分出空格,就可以得到原文了:THERE IS A CIPHER

矩阵置换密码

和栅栏式密码一个味道。
置换也是一个简单的换位,每个置换都可以用一个置换矩阵Ek来表示。每个置换都有一个与之对应的逆置换Dk。置换密码的特点是仅有一个发送方和接受方知道的加密置换(用于加密)及对应的逆置换(用于解密)。它是对明文L长字母组中的字母位置进行重新排列,而每个字母本身并不改变。
上题:

明文:MEET ME AFITER THE TOGO  PARTY使用矩阵置换密码加密,矩阵3×8 ,分别用k=12345678和k=34127856

这里写图片描述

RSA算法(传说中及其可靠的非对称加密算法)

该算法使用的参数有三个。n,e,d; 凑成公开密钥(n,e)和私有密钥(n,d).
RSA的可靠性来源于大的素数分解。
首先,需要选定两个足够大的素数p 和 q ( p 和 q 必须保密)。他们的乘积即为n的值。
e不是自然对数!!e是一个和与(p-1)(q-1)互素的数,可以选定。
私人密钥d由计算得到。
(我都在说些什么。。)
这里写图片描述

原创粉丝点击