CTF-Crypto 密码原理及解密方法

文章目录

  • CTF-Crypto 密码原理及解密方法
    • 推荐综合加解密网址
    • 一.常见密码格式
    • 二.古典密码
      • 凯撒密码
      • 仿射密码
      • 埃特巴什码
      • 培根密码
      • 棋盘密码
      • 希尔密码
      • 维吉尼亚密码
      • 摩尔斯密码
      • 栅栏密码(普通型)
      • 栅栏密码(W型)
      • 猪圈密码
      • 圣堂武士密码
      • Ook!密码
      • BrainFuck密码
      • JS加密
      • JSFuck加密
      • 盲文
      • 四方密码
      • 标准银河字母
      • 当铺密码
      • 跳舞的小人密码
      • 海军手旗旗语
      • 普莱费尔密码
      • Keyboard密码
      • 键盘密码(Keyboard Cipher)
      • 云影密码(01248密码)
      • 曲路密码
      • 夏多密码
      • 字母表编码
      • 柱形换位密码
      • 元音密码
      • 核心价值观编码
      • 与佛论禅
      • 与熊论道
      • 兽音译者
      • 转链
    • 三.现代密码
      • 中文电码
      • 条形码
      • 二维码

推荐综合加解密网址

许愿星 (wishingstarmoye.com)

CTF在线工具-CTF工具|CTF编码|CTF密码学|CTF加解密|程序员工具|在线编解码 (hiencode.com)

一.常见密码格式

(base64、32、16、36、58、62、85、91、92)

名称 密文 明文 特点
栅栏密码 fg2ivyo}{2s3_o@aw__rcl@ flag{w22_is_v3ry_cool} 1.长度一般不会太长 2.一般不会出现原来没有的字符(可能会出现用@打乱的现象)
base64 ZmxhZ3toZWxsb193b3JsZCF9IAo== flag{hello_world!} 后面会有=
base16 666C61677B6D795F6E616D655F482121487D flag{my_name_H!!H} 只由大写字母和数字组成
Unicode \u0066\u006c\u0061\u0067\u007b\u0069\u005f\u0077\u0069\u006c\u006c\u005f\u006b\u0069\u006c\u006c\u005f\u0079\u006f\u0075\u0021\u007d flag{i_will_kill_you!} 每一字符都用一个5位字符编码表示,并用\分割
urlencode %68%61%63%6b%65%72%44%4a hackerDJ
词频分析 Eg qnlyjtcnzydl z umaujejmjetg qeydsn eu z bsjdtx tw sgqtxegc al kdeqd mgeju tw yrzegjsoj zns nsyrzqsx kejd qeydsnjsoj Ew ltm fgtk jds kzl tw sgqtxegc m kerr csj jds wrzc kdeqd eu qrzuueqzr-qeydsn_eu_gtj_usqmnejl_du 长度很长
HTML编码 &ltscript&gtalert(123)&lt/script&gt <>实体化编码
ASCII<–>进制(ASCII编码转换) 二进制:01101000 01100101 01101100 01101100 01101111;十进制:104 101 108 108 111;十六进制:68 65 6c 6c 6f hello
进制之间的转换
名称 密文 明文 特点
AES256 92tNCj7EuKDSuz5GXez50Q== flag{hello} 基于三个分组密码构建的:AES-128,AES-192和AES-256。这些密码中的每一个都使用128位,192位或256位加密密钥对128位数据块进行加密和解密。
MD5 9dba6f1459dd1cd582d56fe3de8ae5ea flag{123} 32位加密密码,数字和小写字母
SHA1(SHA有很多) aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d hello SHA1是一种密码散列函数,可以生成一个被称为消息摘要的160位(20字节)散列值,散列值通常的呈现形式为40个十六进制数。该算法输入报文的长度不限,产生的输出是一个160位的报文摘要。输入是按512 位的分组进行处理的。SHA-1是不可逆的、防冲突,并具有良好的雪崩效应。

二.古典密码

凯撒密码

凯撒密码一般适用于26个英文字母。根据偏移量来进行加密。如图所示,当偏移量=3。即是A-D,B-E。

1.原理

密钥:K

加密解密过程:

2.在线加密解密网站:
https://www.qqxiuzi.cn/bianma/kaisamima.php
http://www.metools.info/code/c70.html
http://www.atoolbox.net/Tool.php?Id=778

仿射密码

1.原理

密钥:(a,b),其中a与26互质。

加密解密过程:

仿射密码是一种表单代换密码,字母表的每个字母相应的值使用一个简单的数学函数对应一个数值,再把对应数值转换成字母。

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 Z
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
加密函数:E(x) = (ax + b) (mod m),其中 a与b互质,其中 a与m互质,m是编码系统中字母的个数(通常都是26)。

解密函数:D(x) = (a’x - b) (mod m),其中 a’是 a 在群的乘法逆元。

2.在26上所有与26互质元素的乘法逆元

3.在线加密解密网站:
http://www.atoolbox.net/Tool.php?Id=911

4.解密脚本:

import primefac
def affine_decode(c,a,b,origin="abcdefghijklmnopqrstuvwxyz"):r=""n=len(origin)ai=primefac.modinv(a,n)%nfor i in c:if origin.find(i)!=1:r+=origin[(ai*(origin.index(i)-b))%n]else:r+=ireturn r
print affine_decode("ihhwvcswfrcp",5,8)def affine_guessab(m1,c1,m2,c2,origin="abcdefghijklmnopqrstuvwxyz"):x1=origin.index(m1)x2=origin.index(m2)y1=origin.index(c1)y2=origin.index(c2)n=len(origin)dxi=primefac.modinv(x1-x2,n)%na=dxi*(y1-y2) % nb=(y1-a*x1)%nreturn a,b
print affine_guessab("a","i","f","h")

埃特巴什码

1.加密解密原理:使用字母表倒数第n个字母代替第n个字母

培根密码

1.加密解密原理:使用两种字符,每一段长度为5.

2.在线加密解密网址:
https://tool.bugku.com/peigen/

棋盘密码

1.加密原理:

波利比奥方阵

假设我们需要发送明文信息“Hello”,找到H对应2行3列,则加密为23,e加密为15,以此类推,得到密文:2315 31 31 34。

【双密码(Bifid Cipher)】

特征/特点:双密码(Bifid Cipher)结合了波利比奥斯方阵换位密码,并采用分级实现扩散,这里的“双”是指用2个密钥进行加密。双密码是由法国Felix Delastelle发明,除此之外Felix Delastelle还发明了三分密码(Trifid Cipher),四方密码(Four-Square Cipher)。还有一个两方密码(Two-Square)与四方密码类似,共轭矩阵双密码(Conjugated Matrix Bifid Cipher)也是双密码的变种。

在线解密&工具: http://www.practicalcryptography.com/ciphers/adfgx-cipher/

ADFGX密码

这样加密的话Hello的密文就是:DD XF AG AGDF。

ADFGVX密码

希尔密码

1.加密解密原理:

使用每个字母在字母表中的顺序作为其对应数字。再将铭文转换为n维向量,和一个n阶方阵相乘后模26.最后将新的矩阵写成对应字母。

2.在线加密解密:
http://www.atoolbox.net/Tool.php?Id=914

维吉尼亚密码

1.加密原理:根据密钥来决定用哪一行密表来进行替换。

例如: 明文:ATTACKATDAWN 密钥:LEMONLEMONLE 密文:LXFOPVEFRNHR

2.在线加密解密网址:
https://www.qqxiuzi.cn/bianma/weijiniyamima.php

摩尔斯密码

1.加密原理:

2.在线加密解密网址:
http://www.zhongguosou.com/zonghe/moErSiCodeConverter.aspx?d=123

栅栏密码(普通型)

1.将明文分为N组,然后把每一组第一个字连起来。

2.在线加密解密网址:
https://www.qqxiuzi.cn/bianma/zhalanmima.php

栅栏密码(W型)

1.加密解密原理:分组时呈W型排列。

比如字符串“123456789”,采用栏目数为3的时,明文将采用如下排列:
1---5---9
-2-4-6-8-
--3----7--
取每一栏所有字符串,组成加密后密文:“159246837”

例如:ielvyuoo 解密:i love you

2.在线加密解密网址:
http://www.atoolbox.net/Tool.php?Id=777.com

猪圈密码

1.加密原理:

2.在线加密解密网址:
http://www.metools.info/code/c90.html

圣堂武士密码

猪圈密码的一种变形

1.加密解密原理:

Ook!密码

1.加密原理:

2.在线加密解密网址:
https://www.splitbrain.org/services/ook

BrainFuck密码

1.加密解密原理:

2.在线加密解密网址:

https://www.splitbrain.org/services/ook

JS加密

1.加密解密方法:

2.在线加密解密网址:

https://utf-8.jp/public/aaencode.html
https://www.sojson.com/jsjiemi.html

JSFuck加密

1.加密解密原理:

2.在线加密解密网址:

http://www.jsfuck.com/
https://www.sojson.com/jsjiemi.html

盲文

1.加密解密原理:

2.在线加密解密网址:
https://www.qqxiuzi.cn/bianma/wenbenjiami.php?s=mangwen

四方密码

1.加密解密原理:

密钥:K1,K2

加密解密过程:

将密钥去掉重复字母,写进一个5*5的矩阵中,剩余字母按字母表中的顺序填充(将Q去除,或将I和J视作同一字),与密钥重复的字母就不要写进去了。

将两个矩阵放在右上和左下,右下和左上的矩阵按字母表的顺序组成。这样就组成了一个22的55的密钥存阵。

加密时两个字母一组。第一个字母加密后就是和一个字母同横的,和第二个字母同直的密钥存阵中的字母;第二个字母加密后就是和第一个字母同直,第二个字母同横的字母。

例如:
密钥为example和keyword
明文为he
加密矩阵为

故密文为FY。

2.在线加密解密网址:

http://ctf.ssleye.com/four.html

标准银河字母

1.加密解密原理:

当铺密码

将中文和数字进行转化的密码

1.加密解密原理:

当前汉字有多少笔画出头,就是转化成数字几
例如:口 0 田 0 由 1 中 2 人 3 工 4 大 5 王 6 夫 7 井 8 羊 9

2.在线加解密网址: 当铺密码 (dsb.ink)

跳舞的小人密码

1.加密解密原理:

海军手旗旗语

1.加密解密原理:

普莱费尔密码

1.加密解密原理:

密钥:K

加密解密过程:

选取一个英文字作密钥。除去重复出现的字母。将密钥的字母逐个逐个加入5×5的矩阵内,剩下的空间将未加入的英文字母依a-z的顺序加入。(将Q去除,或将I和J视作同一字。)

将要加密的讯息分成两个一组。若组内的字母相同,将X(或Q)插入两字母之间,重新分组(例如 HELLO 将分成 HE LX LO)。若剩下一个字,也加入X字。

在每组中,找出两个字母在矩阵中的地方。

若两个字母不在同一直行或同一横列,在矩阵中找出另外两个字母,使这四个字母成为一个长方形的四个角。

若两个字母在同一横列,取这两个字母右方的字母(若字母在最右方则取最左方的字母)。

若两个字母在同一直行,取这两个字母下方的字母(若字母在最下方则取最上方的字母)。

2.在线加密解密网址:
http://www.atoolbox.net/Tool.php?Id=912
http://rumkin.com/tools/cipher/playfair.php

Keyboard密码

Keyboard密码在ctf中应该是分多种类型的。这里提两种。即9键表和26键。

1.加密解密原理:

9键表就是通过九键上多次字母来进行字母提取,26键包含通过明文多个字符对应一个密文。

例如:ooo在键盘上对应9,3个o即代表第九个格子第三个字母即y

键盘密码(Keyboard Cipher)

特征/特点:利用键盘的特性制作的密码,常见有计算机的键盘和手机的键盘,加密的方式有坐标法和顺序法。 **坐标法: Y轴 1 QWE RTY UIOP 2 ASD FGH JKL 3 ZXC VBN M 12345678910 X轴 eq:密文:2251914161对应明文:story

顺序法: Q W E R T Y U I O P 1 2 3 4 5 6 7 8 9 10 A S D F G H J K L 11 12 13 14 15 16 17 18 19 Z X C V B N M 20 21 22 23 24 25 26 eq:密文:125947对应明文:story

云影密码(01248密码)

1.加密解密原理:

将一个数字各位数字加起来之和得到的数字对应的字母就是密文

例如:123=6,即f。

2.解密脚本:

#!/usr/bin/python
# -*- coding=utf8 -*-
"""
# @Author : pig
# @CreatedTime:2019-11-2423:54:02
# @Description :
"""def de_code(c):dic = [chr(i) for i in range(ord("A"), ord("Z") + 1)]flag = []c2 = [i for i in c.split("0")]for i in c2:c3 = 0for j in i:c3 += int(j)flag.append(dic[c3 - 1])return flagdef encode(plaintext):dic = [chr(i) for i in range(ord("A"), ord("Z") + 1)]m = [i for i in plaintext]tmp = [];flag = []for i in range(len(m)):for j in range(len(dic)):if m[i] == dic[j]:tmp.append(j + 1)for i in tmp:res = ""if i >= 8:res += int(i/8)*"8"if i%8 >=4:res += int(i%8/4)*"4"if i%4 >=2:res += int(i%4/2)*"2"if i%2 >= 1:res += int(i%2/1)*"1"flag.append(res + "0")print ("".join(flag)[:-1])c = input("输入要解密的数字串:")
print (de_code(c))
m_code = input("请输入要加密的数字串:")
encode(m_code)

曲路密码

1.加密解密原理:

按照事先约定的原则把明文填入表中,再按照一定的顺序进行遍历

例如:

明文为HelloWorldab

密文就是lrbaoleWdloH

夏多密码

1.加密解密原理:

字母表编码

1.加密解密原理:

柱形换位密码

柱形换位密码指的是利用秘钥重新排列明文中的字母位置的一种加密法

元音密码

元音密码是一种将字母代換为数字的加密方法,是一种利用音标中的元音进行加密的密码,密码的原理是英文中有26个字母,其中有5个元音字母,分别是A、E、I、O、U。

把这5个字母,按照顺序分别标注数字,A对应1,E对应2,I对应3,O对应4,U对应5。元音的数字对应完了,下面到辅音字母。

A到E之间有3个辅音字母B、C、D,咱们现在知道A对应1,那么咱们把B对应11,C对应12,D对应13。然后就到了E,而E对应的是2,E到之间的辅音字母有F、G、H,那么F对应21、G对应22、H对应23。后面的加密以此类推,直到Z对应55

加密:
def vowel_en(s, mode=0, sign="."):"""元音密码 加密"""if mode != 0 and mode != 1:print("仅有模式0和1")returns = s.upper()codes = [{'A': '10', 'B': '11', 'C': '12', 'D': '13', 'E': '20', 'F': '21', 'G': '22', 'H': '23', 'I': '30', 'J': '31', 'K': '32', 'L': '33', 'M': '34', 'N': '35', 'O': '40', 'P': '41', 'Q': '42', 'R': '43', 'S': '44', 'T': '45', 'U': '50', 'V': '51', 'W': '52', 'X': '53', 'Y': '54', 'Z': '55'},{'A': '1', 'B': '11', 'C': '12', 'D': '13', 'E': '2', 'F': '21', 'G': '22', 'H': '23', 'I': '3', 'J': '31', 'K': '32', 'L': '33', 'M': '34', 'N': '35', 'O': '4', 'P': '41', 'Q': '42', 'R': '43', 'S': '44', 'T': '45', 'U': '5', 'V': '51', 'W': '52', 'X': '53', 'Y': '54', 'Z': '55'}]ret = []err = Falsefor i in s:if i in codes[0]:ret.append(codes[mode][i])else:err = Trueret.append(i)if mode == 0:ret = "".join(ret)else:ret = sign.join(ret)print(ret)if err:print("有错误!")return ret
解密:
def cut(o, s):return [o[i:i+s] for i in range(0,len(o),s)]def vowel_de(s, mode=0, sign="."):"""元音密码 解密"""codes = {'1': 'A', '10': 'A', '11': 'B', '12': 'C', '13': 'D', '2': 'E', '20': 'E','21': 'F', '22': 'G', '23': 'H', '3': 'I', '30': 'I','31': 'J', '32': 'K', '33': 'L', '34': 'M', '35': 'N', '4': 'O', '40': 'O', '41': 'P', '42': 'Q', '43': 'R', '44': 'S', '45': 'T', '5': 'U', '50': 'U','51': 'V', '52': 'W', '53': 'X', '54': 'Y', '55': 'Z'}err = Falseret = ""if mode == 0:s = cut(s, 2)elif mode == 1:s = s.split(sign)else:print("仅有模式0和1")returnfor i in s:if i in codes:ret += codes[i]else:err = Trueret += iprint(ret)if err:print("有错误!")return ret

核心价值观编码

特征特点:密文特征为社会主义核心价值观的关键字

在线解密&工具: http://ctf.ssleye.com/cvencode.html

与佛论禅

特征特点:密文以”佛曰:如是我闻:”开头,密文一般是与关佛经的汉字

在线解密&工具: http://www.keyfc.net/bbs/tools/tudoucode.aspx

与熊论道

特征特点:密文以”熊曰:”开头,密文一般是与关”熊语“的汉字

在线解密&工具:与熊论道/熊曰加密 - PcMoe!

兽音译者

特征特点:密文以“嗷呜~~”

在线解密&工具:与熊论道/熊曰加密 - PcMoe!

转链

加解密网址

在线解密&工具:与熊论道/熊曰加密 - PcMoe!

三.现代密码

参考网址:https://www.cnblogs.com/hetianlab/p/13628249.html
https://blog.csdn.net/vhkjhwbs/article/details/99692399

中文电码

特征特点:密文以4位[0-9]为一组的数字表示。 中文电码,又称中文电报码或中文电报明码,是于电报之中传送中文信息的方法。它是第一个把汉字化作电子讯号的编码表。其中简体中文电码收录了7085个汉字,繁体中文电码收录了9041个汉字。

在线解密&工具: http://www.atool.org/dianma.php

条形码

特征特点:宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符

在线解密&工具: https://online-barcode-reader.inliteresearch.com/

二维码

特征特点:用某种特定几何图形按一定规律在平面分步的黑白相间的图形记录数据符号信息 堆叠式 / 行排式二维码:Code 16 k、Code 49、PDF417 矩阵式二维码:QR CODE

在线解密&工具: https://online-barcode-reader.inliteresearch.com/

tps://www.cnblogs.com/hetianlab/p/13628249.html
https://blog.csdn.net/vhkjhwbs/article/details/99692399

CTF-Crypto 密码原理及解密方法相关推荐

  1. CTF-Crypto-各种密码原理及解密方法

    CTF-Crypto-各种密码原理及解密方法 一.常见密码格式(太懒了,待补充) 二.古典密码 凯撒密码 仿射密码 埃特巴什码 培根密码 棋盘密码 希尔密码 维吉尼亚密码 摩尔斯密码 栅栏密码(普通型 ...

  2. ZIP/RAR压缩包加密原理和解密方法

    ZIP/RAR压缩包加密原理和解密方法 1.压缩包的概念 一般我们看到的压缩格式有.rar,.zip,等等有许多格式但主要压缩的作用就是让某一个文件占用空间小点.比如原来是50MB,可以压缩到30多M ...

  3. CTF ——crypto ——RSA原理及各种题型总结

    RSA原理及各种题型总结 Table of Contents 一,原理: 信息传递的过程: rsa加密的过程: 二,CTF 中的 常见的十种类型: 1,已知 p ,q,e   求 d? 2,已知 n( ...

  4. 简单的MD5密码加密和解密方法

    MD5的算法是不可逆的,MD5被广泛用于密码验证和消息体完整性验证. 下面的例子用到了密码加密和登陆时的解密的基本方法.当然这样很容易被暴力破解,可以做其他改进,如先设计一个足够复杂的密码,然后将他的 ...

  5. 基于Python实现的CTF Crypto加密解密工具

    纯小白,记录一下自己小学期内做的项目.基于Python实现一个能够对凯撒密码.维吉尼亚密码.栅栏密码.摩斯密码.Base64编码.Ascii编码.AES.DES.RSA.RC4的加密解密以及维吉尼亚密 ...

  6. [crypto]-02-非对称加解密RSA原理概念详解

    说明:本文使用的数据来自网络,重复的太多了,也不知道哪篇是原创. 算法原理介绍 step 说明 描述 备注 1 找出质数 P .Q - 2 计算公共模数 N = P * Q - 3 欧拉函数 φ(N) ...

  7. [crypto]-01-对称加解密AES原理概念详解

    1.对称加解密 术语:P是明文,C是密文,K是密钥,E是加密算法,D是解密算 (1).常用的对称加解密有哪些? (2).加解密的模式 [ecb]这种模式是将整个明文分成若干段相同的小段,然后对每一小段 ...

  8. node 加密解密模块_聊聊Node加密模块crypto加密原理的那些事

    crypto是node.js中实现加密和解密的模块 在node.js中,使用OpenSSL类库作为内部实现加密解密的手段 OpenSSL是一个经过严格测试的可靠的加密与解密算法的实现工具. 散列(哈希 ...

  9. 密码控件解密流程和原理

    文章目录 密码控件解密流程和原理 1.1 RSA 1.2 国密 2.1随机数生成 3引申知识hex和base64 3.1hex 3.2 base64 4.国产密码算法 参考文档 密码控件解密流程和原理 ...

最新文章

  1. 我的iqoo已成功root了_红米Note8 刷机 root 备忘录
  2. 【知识星球】颜值,自拍,美学三大任务简介和数据集下载
  3. C++ ## ... 实用
  4. 大剑无锋之Java的深浅拷贝解释一下!
  5. 如何运行 SAP Spartacus cypress 端到端测试
  6. 数字加密c语言程序_国外程序员整理的 C++ 资源大全
  7. python解析网页所有可点击_Python 解析网页
  8. Matlab 散点 拟合 曲率,有数据点,希望得到一条拟合曲线,再求出这条曲线的曲率,求助!...
  9. OpenCV二值化cvThreshold和自适应二值化cvAdaptiveThreshold及Otsu
  10. flume的各个组件及整体工作流程
  11. 总结:计算机组成与设计(硬件/软件接口)-第四章 处理器
  12. JAVASE学习总结(20):字符串相关的类--StringBuffer
  13. 能源在线监测管理系统
  14. js使用正则表达式验证身份证格式
  15. 编译问题:App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecur
  16. awr报告 解读_Oracle Awr报告_awr报告解读_基础简要信息
  17. 为什么蓝鸽的听力下载完还是听不了_推荐这款练习英语听力的神器级免费App
  18. 搜索引擎整体结构图以及描述
  19. Shaderlab 玻璃效果
  20. 商标注册要的一些重要基本常识(附:注册流程)

热门文章

  1. 并查集应用-判断亲戚关系
  2. 新手使用python易踩坑语法:if语句中or 与in连用
  3. Smartbi:水泥行业实现数字化转型升级势在必行
  4. postgresql垃圾清理插件pg_repack
  5. 23种模式——策略模式
  6. 数据结构与算法(三) 排序算法(代码示例)
  7. 广域网技术-PPP协议
  8. sql 注入 预防_SQL注入:检测和预防
  9. python terminal 库_zhihu-terminal 终端版知乎客户端
  10. NGFW——安全策略的处理流程