![](https://img-blog.csdnimg.cn/2020081912133346.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
密码学
开着核潜艇上岸
大章鱼(张文哲
你所做的别只停留在 还行
展开
-
DES算法
根据上一篇进行的改进可以实现对任意字符串加密,加密长度不受限制。。。。。大致实现思想是对明文填充凑够加密表的长度的倍数实现加密。解密的时候可能解密出填充字符,自行去掉就可以了,有兴趣的可以在此基础之上添加部分代码即可。如果需要原理的话可以回到上一篇。#include<cstdio>#include<string>#include<iostr...原创 2019-10-23 12:26:48 · 261 阅读 · 0 评论 -
DES算法详细实现
看了很多博客上的博主写的大多数写的都基本上是原理详解,找了好久没找到合适的算法实现样例,要不是面向对象实现,要不就是Python实现,Python固然好用方便,但还是希望有一篇C++基础版的算法实现。花了半天时间,调调调,疯狂的调,怪不得那么多博主不喜欢纯实现。遗憾就是目前这个版本只能实现十六进制数加密,日后改进再更新吧!!!!!!!!以下原理找了两篇简单易懂的,两个博主都写的很用心!...原创 2019-10-16 23:21:37 · 2449 阅读 · 4 评论 -
RSA算法理解与实现
RSA属于一种经典的非对称式密钥加密算法基本内容:RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。 RSA是被研究得最广泛的公钥算法,从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价。即RSA的重大缺陷是无法从理论上把握它的保密性能如...原创 2019-09-29 11:31:24 · 2275 阅读 · 0 评论 -
凯撒密码
著名的凯撒密码:就是一种简单的代替密码,它的每一个明文字符都由其右边第 3 个(模26 )字符代替( A 由 D 代替, B 由 E 代替 LLW 由 Z 代替 LX 由 A 代替, Y 由 B 代替, Z由 C 代替)。它实际上更简单,因为密文字符是明文字符的环移,并且不是任意置换。简单实现:#include<cstdio>#include<cmath>...原创 2019-10-03 13:27:45 · 457 阅读 · 0 评论 -
ROT13加密
ROT13:是建在 UNIX 系统上的简单的加密程序,它也是简单的代替密码。在这种密码中, A 被 N 代替, B 被 O 代替等等,每一个字母是环移 13 所对应的字母。用 ROT13 加密文件两遍便恢复出原始的文件:P=ROT13 ( ROT13 ( P ))ROT13 并非为保密而设计的,它经常用在互联网 Vsenet 电子邮件中隐藏特定的内容,以避免泄露一个难题的解答等等。...原创 2019-10-03 13:35:05 · 1643 阅读 · 3 评论 -
换位密码
换位密码在换位密码中,明文的字母保持相同,但顺序被打乱了。在简单的纵行换位密码中,明文以固定的宽度水平地写在一张图表纸上,密文按垂直方向读出(见图 1.4 ),解密就是将密文按相同的宽度垂直地写在图表纸上,然后水平地读出明文。Plaintext: COMPUTERGRAPHICSMAYBESLOWBUTATLEASTITSEXPENSIVECOMPUTERGRAPHICSMAYBE...原创 2019-10-03 14:09:54 · 4338 阅读 · 0 评论 -
异或加密
异或在 C 语言中是“ ^ ”操作,或者用数学表达式⊕表示。它是对比特的标准操作:0 ⊕0 = 00 ⊕1 = 11 ⊕0 = 1251 ⊕1 = 0也要注意:a ⊕a = 0a ⊕b⊕b = a简单异或算法实际上并不复杂,因为它并不比维吉尼亚密码多什么东西。它之所以被包括在这本书中,是因为它在商业软件包中很流行,至少在 MS-DOS 和 Macintosh 世界中是这...原创 2019-10-03 14:24:50 · 350 阅读 · 0 评论