密码学
文章平均质量分 85
ALDNOAH_ZERO
刷题与作业题为主
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[古典密码]:Hill cipher(希尔密码)
来源于我的博客希尔加密法根据字典序将字母转化为数字(0-25)设定密钥矩阵(n*n),将明文转化为r*n的矩阵将明文矩阵与密钥矩阵相乘即可得到密文矩阵(结果模26),再将其转化为字母即可.以3*3密钥矩阵为例:(确保密钥矩阵能求逆)int key[3][3] = { 6,13,20, 24,16,17, 1,10,15};假设明文CAT,C=2,A=0原创 2016-09-10 14:54:57 · 10415 阅读 · 1 评论 -
[古典密码]:PlayFair cipher(Playfair密码)
来源于我的博客1.编制密码表 构造一个5*5的密码表,表格填充关键字(字母不重复),之后按字典序填充密码表中没有的字母,需要注意的是5*5表格只能放25个字母,剩下一个字母需要选择已经放入表的一个作为替代,这里习惯性将J省略,I/J共用。以关键字为PLAYFAIR EXAMPLE为例PLAYFI/JREX原创 2016-09-10 14:52:34 · 4238 阅读 · 0 评论 -
[古典密码]:Caesar cipher(凯撒密码)
非常简单的消息编码方式,仅仅是将字母后移3位,而X Y Z右移就回到A B C.加密的话就是简单的加三取模即可;解密就是其反过程。C++实现如下:#include#include#includeusing namespace std;string nencrypted = { "Things are not always what they see" };string ncrypt原创 2016-09-10 14:49:35 · 2983 阅读 · 0 评论 -
[古典密码]:Vigenere cipher 维吉尼亚密码
维吉尼亚密码Casear加密算法的升级版:将26个Casear密表合成一个,见下表: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 ZA -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 ZB -B C D E F G H I J K L M N O P Q R S T U原创 2016-09-10 14:55:38 · 7672 阅读 · 0 评论 -
[分组密码]:DES加密(C++实现)
来源于我的博客DES加密基于Feistel密码的DES,其核心思想就是置换/混淆前面粗略验证了Feistel密码解密是可以直接使用加密函数的,只不过每轮的轮密钥Ki需要倒过来。DES的流程与Feistel大体一致:上图可以看到,des加上了很多置换:初始置换/逆初始置换 -打乱顺序置换1 -64位密钥缩减为56原创 2016-10-23 01:23:02 · 5407 阅读 · 0 评论 -
Feistel 密码结构简单理解
Feistel 密码在密码学研究中,Feistel 密码结构是用于分组密码中的一种对称结构。以它的发明者 Horst Feistel 为名。对其简单的理解是:给明文分组(L,R)对R进行加密密文=加密后的R+L(即LR的位置交换)很好理解对吧=_+,分组加密交换即可,我们再将其复杂化:完整的Feistel密码这里要原创 2016-10-07 22:23:57 · 22882 阅读 · 0 评论
分享