密码学
一门研究设计密码算法和破译密码算法的综合性技术科学,是网络空间安全学科中理论体系最完善的一门科学,也是信息安全的基石。密码学通常由密码编码和密码分析两大分支组成。
从密码学的发展历史来看,可以分为古典密码学和现代密码学。
古典密码学
主要依靠人工计算和简单的机械,并且以人的主观意识来设计和应用。古典加密算法往往只是对单个的代替或置换操作。
现代密码学…
- 替代密码
替代密码的原理是使用替代法进行加密,就是将明文中的字符用其他字符替代后形成密文,例如,明文字母a、b、c、d,用D、E、F、G做对应替换后形成密文。
替代密码包括多种类型,如单表替代密码,多明码替代密码,多字母替代密码,多表替代密码等
凯撒密码
又称循环移位密码,是一种典型的单表替代密码,它的加密方法就是将明文中的每个字母用此字符在字母表中后面第k个字母替代,加密过程可以表示为:
E(m) = (m+k) mod n
【其中,m为明文字母在字母表中的位置数,n为字母表中的字母个数,k为密钥,E(m)为密文字母在字母表中对应的位置数,mod n为取模运算。】
由于是对名文字母进行统一的偏移代替,因此密钥极易被穷举破解,为了提高破解难度,多表代替密码则是在加解密时使用了多个替换表,代表性算法有维吉尼亚密码,希尔密码,一次一密钥密码,Playfair密码等。
维吉尼亚密码
该密码体制有一个参数 n ,在加解密时,同样把英文字母映射为 0~25 的数字再进行运算,并按 n 个字母一组进行变换。明文空间、密文空间及密钥空间都是长度为 n 的英文字母串的集合,加密体制描述如下:
加密变换定义为:设密钥 k = (k1,k2,...,kn),明文 m = (m1,m2,...,mn), 密文 c = (c1,c2,...,cn).
加密变换:Ek(m) = (c1,c2,...,cn), 其中,ci = (mi+ki) mod 26, i=1,2,...,n.
解密算法:Dk(m) = (m1,m2,...,mn), 其中,mi = (ci-ki) mod 26, i=1,2,...,n.
以下分别是对两种加密方式的实现{后者包含了解密操作}【望指正】!!!
#include
#include
#include
#include