常见密码归纳(入门级)

**

常见密码归纳(入门级)

**

前言:前几天的比赛发现密码忘得有点多,今天总结一下吧。方便自己以后看看。

常见密码:
1:base密码(base16 ,32,64,58 ,85 ,100);:
2:ROT密码:ROT 5/13/18/47;
3:凯撒密码+变异凯撒;
4:栅栏密码,栅栏密码W型;
5:猪圈密码;
6:维吉尼亚;

7: 特殊密码:摩斯密码,培根密码,与佛论禅,百家姓,Uuencode编码转换

一:base家族
base算是最常见的密码之一,经常用到的base64/32/16,少见的有58,85,100,92,93。说一下各个的特点吧。

base64:

实例YWRtaW4tcm9vdA==
特点:一般情况下密文尾部都会有两个等号,明文很少的时候则没有;
常见密码归纳(入门级)_第1张图片
加密原理:
Base64编码要求把3个8位字节(38=24)转化为4个6位的字节(46=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用‘=’,因此编码后输出的文本末尾可能会出现1或2个‘=’。

常见密码归纳(入门级)_第2张图片

base32:
示例:GEZDGNBVGY3TQOJQGE======
特点:超过十位会有很多等号,一般大于三个;
常见密码归纳(入门级)_第3张图片

base16:
示例:61646D696E
特点:它的特点是没有等号并且数字要多于字母
常见密码归纳(入门级)_第4张图片
下面的没有以上三种常见

base58
示例:**6tmHCZvhgfNjQu**
特点:它最大的特点是没有等号

Base58是用于比特币(Bitcoin)中使用的一种独特的编码方式,主要用于产生Bitcoin的钱包地址。

相比Base64,Base58不使用数字"0",字母大写"O",字母大写"I",和字母小写"l",以及"+“和”/"符号。

比特币的Base58字母表:

123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz

常见密码归纳(入门级)_第5张图片

base85:
示例:@:X4hDWe0rkE(G[OdP4CT]N#

特点:奇怪的字符比较多,但是很难出现等号。

常见密码归纳(入门级)_第6张图片

base100
示例:
特点:一堆Emoji表情
常见密码归纳(入门级)_第7张图片
base小结::看到密文后,先看有没有等号
有等号,考虑64和32,等号特别多≥3个是32,否则64。
没等号,如果由数字和纯字母(大写)组成且数字多,大概率16;字母大小写都有,考虑58;
有@#等符号,直接base85;有enjoy表情,base100.
至于base91,92,这两个有点不常见,base91至少可以百度到,base92只能用下载的工具包或者自己跑脚本了。
base64/32/16解码网站:https://www.qqxiuzi.cn/bianma/base64.htm

base58/85/91/100解码网站:
http://www.atoolbox.net/Category.php?Id=27
注:虽然也包括64解密,但是没有最上边的好用,有时候解不出来。
遇到base92自求多福吧,我也只有一个工具包能解92而已

ROT密码:

rot密码其实可以看作是凯撒密码的一种变式本质都是移位运算
rot密码按种类大致分为以下几类:

rot5:

原理:
只将字符串中的数字进行加密,步数为5,同时在0-9十个数字进行循环,如1在rot5加密后为6,而6在rot5加密后为1。

特点:只对数字进行编码,用当前数字往前数的第5个数字替换当前数字,例如当前为0,编码后变成5,当前为1,编码后变成6,以此类推顺序循环。

rot13
只将字符串中的字母进行加密,步数为13,加密方式上最接近凯撒密码,分别在A-Z或a-z之间循环,如A在rot13加密后为N,Z在rot13加密后为M
特点
只对字母进行编码,用当前字母往前数的第13个字母替换当前字母,例如当前为A,编码后变成N,当前为B,编码后变成O,以此类推顺序循环

rot18:字面意思(5+13=18) 即将上述两种加密方式结合,分别对数字和字母进行相应的操作
特点:由字母数字组成

**rot47:**对数字、字母、常用符号进行编码,按照它们的ASCII值进行位置替换,用当前字符ASCII值往前数的第47位对应字符替换当前字符,例如当前为小写字母z,编码后变成大写字母K,当前为数字0,编码后变成符号_。用于ROT47编码的字符其ASCII值范围是33-126。

特点:对数字,字母,符号加密

ROT:小结:纯数字rot5;纯字母rot13;数字+字母rot18;数字+字母+符号rot47
解码网站:https://www.qqxiuzi.cn/bianma/ROT5-13-18-47.php

3 凯撒密码

凯撒密码,最典型的古典密码,由密文和数字秘钥组成。
原理:此为一种位移加密手段,只对26个(大小写)字母进行位移加密,规则相当简单,容易被破解。
常见密码归纳(入门级)_第8张图片
特点:看到“{”前有四个(flag格式)或两个(SL格式)字母八成就是凯撒了。
解码网站https://www.qqxiuzi.cn/bianma/kaisamima.php

变异凯撒,只能跑脚本了。
c语言

#include
int main()
{

	int i;
	char c[]="afZ_r9VYfScOeO_UL^RWUc";//实战改为对应密文即可
	for(i=0;c[i]!='\0';i++)
	{
	
		c[i]=i+5+c[i];//:本题位移数为5;实战需要根据实际实际情况改
	}
	printf("%s",c);
}

java

public static void main(String[] args) {
        String ciphertext = "afZ_r9VYfScOeO_UL^RWUc";
        char[] plaintext = new char[ciphertext.length()];
        for(int i = 0; i < ciphertext.length(); i++){ //注意i是从0开始的,所以是5+i
            plaintext[i] = (char)(((int)ciphertext.charAt(i) + 5 + i) % 128);
        }
        for (char i: plaintext) {
            System.out.print(i);
        }
    }

Python:

ciphertext = 'afZ_r9VYfScOeO_UL^RWUc'
j = 5
for i in ciphertext:
    print(chr(ord(i) + j), end='')
    j += 1

栅栏密码:

普通型
原理
栅栏密码(Rail fence Cipher)基础型加密方式,是一种简单的移动字符位置的加密方法,首先把加密的明文分成N个一组,然后把每组的第1、第2、第M个字符连起来,形成无规律的密文字符串。

例如字符串“123456789abc”,首先将字符串分成3组,如下排列:
1234
5678
9abc
依次取每一组字符,组成加密后密文:“15926a37b48c”。

w型
栅栏密码(Rail fence Cipher),扩展变种W型,采用先把明文类似"W"形状进行排列,然后再按栏目顺序1-N,取每一栏的所有字符值,组成加密后密文。
比如字符串“123456789”,采用栏目数为3的时,明文将采用如下排列:
1—5—9
-2-4-6-8-
–3----7–
取每一栏所有字符串,组成加密后密文:“159246837”。

解码网站:http://www.atoolbox.net/Category.php?Id=27

猪圈密码

常见密码归纳(入门级)_第9张图片
常见密码归纳(入门级)_第10张图片
常见密码归纳(入门级)_第11张图片
对着翻译即可(注意大小写)

维吉尼亚

可以说是凯撒密码的加强版,引入了密钥
原理太难解释就跳过了
示例:fmcg{iglmq_wptd_123}
特点:有字母秘钥,满足用凯撒的格式但解不出来就是他。
PPS:秘钥一般需要自己解出来,秘钥划重点。
常见密码归纳(入门级)_第12张图片

特殊密码

1 :与佛论禅+与熊论道
特点:就是你看不懂的佛语
解码链接:http://hi.pcmoe.net/index.html

2: 培根密码
特点:ABABABABABAABB只由大写AB组成。
解码链接:https://tool.bugku.com/peigen/

3:摩斯密码
常见密码归纳(入门级)_第13张图片
特点:三杠一点,没啥说的
用处广泛,有时候与音频题结合使用
解码网站:http://www.all-tool.cn/Tools/morse/

4:百家姓
特点:不要多说当你看到一串百家姓的时候多半就是这个暗号了
常见密码归纳(入门级)_第14张图片
当他解密的的时候前面会多一串固定字符

常见密码归纳(入门级)_第15张图片
解码网站:https://api.dujin.org/baijiaxing/

5:Uuencode编码转换
Uuencode是二进制信息和文字信息之间的转换编码,也就是机器和人眼识读的转换。Uuencode编码方案常见于电子邮件信息的传输,目前已被多用途互联网邮件扩展(MIME)大量取代。

原理:Uuencode将输入文字以每三个字节为单位进行编码,如此重复进行。如果最后剩下的文字少于三个字节,不够的部份用零补齐。这三个字节共有24个Bit,以6-bit为单位分为4个群组,每个群组以十进制来表示所出现的数值只会落在0到63之间。将每个数加上32,所产生的结果刚好落在ASCII字符集中可打印字符(32-空白…95-底线)的范围之中。

Uuencode编码每60个将输出为独立的一行(相当于45个输入字节),每行的开头会加上长度字符,除了最后一行之外,长度字符都应该是“M”这个ASCII字符(77=32+45),最后一行的长度字符为32+剩下的字节数目这个ASCII字符。
常见密码归纳(入门级)_第16张图片
解码链接:https://www.qqxiuzi.cn/bianma/uuencode.php

你可能感兴趣的:(密码学)