首页 > 其他分享 >Crypto专项

Crypto专项

时间:2024-07-22 21:40:24浏览次数:13  
标签:tmp 编码 专项 加密 list Crypto 解密 密码

一:常见编码类型

ASCII编码

(1)特征:
image
ASCII在线转化地址:http://www.mokuge.com/tool/asciito16/
工具转码:
(1)小葵多功能转换工具
image
(2)CTFcrackTools工具
image

base家族编码

(1)base64编码
特点:由A-Z,a-z,0-9,+,/64个可见字符组成、""符号作为后缀填充、不属于编码字符;一般情况下密文尾部会有两个==符号,并且有大写字母和小写字母的混合组成
原理:3个8位字符变成4个6位字符,之后在6位的前面补两个0;形成4个8位的形式
eg:
image
image
(2)base32编码
特点:由字母A-Z,数字2-7共32个可见字符组成;"
"的作用作为后缀填充
(3)base16编码
特点:使用0-9和字符A-F共计16个可见字符组成,不会出现"="字符
(4)base58编码
特点:用于比特币的一种独特的加密方法,主要用于产生比特比的钱包地址;相比于Base64,base58不使用数字0;字母大写O,字母大写I,字母小写l,以及+和/符号
(5)base62编码
特点:相比于base64,不会使用+和/符号,就刚好62个可见字符
(6)base91;base92编码
(7)base100编码
特点:就是一堆表情

unicode编码

(1)特点:密文中有多个\uxxx
(2)在线解密:http://tool.chinaz.com/Tool/Unicode.aspx

栅栏密码

(1)特征:所谓栅栏密码,就是把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无规律的话,一般常见的就是两栏(key=2);一般来说见到一堆字母没有空格,就应该想一想是不是栅栏。
eg1:

fa{fe13f590lg6d46d0d0}

(2)解密网站https://ctf.bugku.com/tool/railfence
比赛可能是内网,使用小工具解密
image

摩尔斯密码

(1)特征:密文由不规律的.、/、-和空格组成
eg1:

..-./.-../.-/--./----.--/-../...--/..-./-.-./-.../..-./.----/--.../..-./----./...--/----./----./...../-----/....-/-----.-

image
(2)解密:(发现里面还有URL编码)(进一步处理得到flag);解密网站:https://www.uutils.com/enc/morse.html
image

URL编码

解题中的密文涉及url编码,url编码的特征是使用 "%" 其后跟随两位的十六进制数来替换非 ASCII 字符

shellcode编码

(1)特点:是一段利用软件漏洞而执行的代码、shellcode是16进制的机器码
image

XXencode编码

image
image

UUencode编码

image

AAencode编码

将JS代码转换成表情包,也就是常说的颜文字JS加密

JSfuck编码

特点:JSfuck只使用6种字符[]!()+来书写任何的JS代码

jother编码

特点:jother只使用8种字符[]!()+{}来书写任何的JS代码

Brainfuck

特点:使用8种字符,所有的操作都由这八种字符组成来完成
eg:
image

ook加密

(1)特征:ook密码中有大量ook,加上一些符号;Ook! has only three distinct syntax elements:Ook.Ook?Ook!这种就是ook密码
image
或者是这种类型的:
image
(2)解密:https://www.splitbrain.org/services/oo
image

+-<>加密

-+<>密码解密:https://brainfuck-visualizer.netlify.app/

敲击码

特点:
image

猪圈密码

(1)建材下载之后发现是base64编码;尝试base64编码转化文本,不成功,转换为图片成功了
image
image
发现是猪圈密码:
解密拿到flag
image

棋盘密码

(1)解密
image
数据密码之后告诉我是一种5比特的编码,直接百度,找到解码网站
image

MD5加密

(1)#MD5中字符都是在a-f0-9之间
解密(脚本自己找)
image

元音加密

hill密码

转轮机加密:

指解密中密文涉及转轮机加密,转轮机密文的特点是等长的分好组的乱序字母,原理是转齿轮把一个字母换成另一个来拼成一句话,所以会有多组密钥,但是只有一组密文。

JS混淆

(1)特点:通常在JS脚本里面使用eval与function函数进行混淆
eg:

<script>
eval("\x64\x65\x65\x45\x76")
</script>

(2)JS在线解混淆:http:/www.atool.org/jscompression.php

二:稀奇古怪的编码

社会主义核心价值观编码

特带:
image

与佛伦禅

特带:以佛曰开头

以熊论道

http://hi.pcmoe.net/

兽音加密

https://roar.iiilab.com/

三:复杂密码类型

ECC加密:

是一种建立公开密钥加密的算法,基于椭圆曲线数学的椭圆曲线密码学。

凯撒密码

在密码学中,恺撒密码(英语:Caesar cipher),或称恺撒加密、恺撒变换、变换加密,是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。
加密就是明文向后移动展现出对应的密文。
解密就是密文向前移动展现出对应的明文。
eg:
image

摩斯密码

摩尔斯电码也被称作摩斯密码,是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。它发明于1837年,是一种早期的数字化通信形式。不同于现代化的数字通讯,摩尔斯电码只使用零和一两种状态的二进制代码,它的代码包括五种:短促的点信号“・”,读“滴”(Di)保持一定时间的长信号“-”,读“嗒”(Da)表示点和划之间的停顿、每个词之间中等的停顿,以及句子之间长的停顿。
image

云影密码

此密码运用了1248代码,因为本人才疏学法,问未发现有过使用的先例,因此暂归为原创密码。由于这个密码,我和片风云影初识,为了纪念,将其命名为“云影密码”。

有了1,2,4,8这四个苘单的数字,你可以以加法表示出0~9任何个数字,例如0=28,7=124,9=18这样,再用1-26来表示A-Z,就可以用作密码了。为了不至于混乱,我个人引入了第五个数字0,来用作间隔,以遍免翻译错误,所以还可以称“01248密码”
注意(3个及以上数字时):
虽然是相加,但是可以在数字内不按顺序相加,如124可写成(12)4和1(24)结果分别是7和16,只要保证不大于26即可

培根密码

培根所用的密码是一种本质上用二进制数设计的,没有用通常的0和1来表示,而是采用a和b
eg:
image

转轮机加密

(1)eg:
image

点击查看代码
rotor = [ #这里是要输入的转轮机原始字符串

"ZWAXJGDLUBVIQHKYPNTCRMOSFE", "KPBELNACZDTRXMJQOYHGVSFUWI",

"BDMAIZVRNSJUWFHTEQGYXPLOCK", "RPLNDVHGFCUKTEBSXQYIZMJWAO",

"IHFRLABEUOTSGJVDKCPMNZQWXY", "AMKGHIWPNYCJBFZDRUSLOQXVET",

"GWTHSPYBXIZULVKMRAFDCEONJQ", "NOZUTWDCVRJLXKISEFAPMYGHBQ",

"XPLTDSRFHENYVUBMCQWAOIKZGJ", "UDNAJFBOWTGVRSCZQKELMXYIHP",

"MNBVCXZQWERTPOIUYALSKDJFHG", "LVNCMXZPQOWEIURYTASBKJDFHG",

"JZQAWSXCDERFVBGTYHNUMKILOP"

]

cipher = "NFQKSEVOQOFNP" #这是要输入转轮机密文

key = [2,3,7,5,13,12,9,1,8,10,4,11,6] #这是要输入转轮机密钥

tmp_list=[]

for i in range(0, len(rotor)):

tmp=""

k = key[i] - 1

for j in range(0, len(rotor[k])):

if cipher[i] == rotor[k][j]:

if j == 0:

tmp=rotor[k]

break

else:

tmp=rotor[k][j:] + rotor[k][0:j]

break

tmp_list.append(tmp)

# print(tmp_list)

message_list = []

for i in range(0, len(tmp_list[i])):

tmp = ""

for j in range(0, len(tmp_list)):

tmp += tmp_list[j][i]

message_list.append(tmp)

print(message_list)

def spread_list(lst):

for item in lst:

if isinstance(item,(list,tuple)):

yield from spread_list(item)

else:

yield item

pass

if __name__ == '__main__':

for i in spread_list(message_list):

print("*"*25)

print(i) 

#### ECC加密 椭圆曲线密码学(英语:Elliptic curve cryptography,缩写为 ECC),一种建立公开密钥加密的算法,基于椭圆曲线数学。

ECC的主要优势是在某些情况下它比其他的方法使用更小的密钥——比如RSA加密算法——提供相当的或更高等级的安全。ECC的另一个优势是可以定义群之间的双线性映射,基于Weil对或是Tate对;双线性映射已经在密码学中发现了大量的应用,例如基于身份的加密。其缺点是同长度密钥下加密和解密操作的实现比其他机制花费的时间长 [1] ,但由于可以使用更短的密钥达到同级的安全程度,所以同级安全程度下速度相对更快。一般认为160比特的椭圆曲线密钥提供的安全强度与1024比特RSA密钥相当。
eg:
image

三:脚本分享

常用脚本

image
image

密码学这方面很杂很乱,变化多端、此文章仅仅做了部分讲解,密码学这部分就告一段落了!

标签:tmp,编码,专项,加密,list,Crypto,解密,密码
From: https://www.cnblogs.com/gsupl/p/18313600

相关文章

  • DASCTF 2023六月挑战赛|二进制专项 PWN (上)
    DASCTF2023六月挑战赛|二进制专项PWN(上)1.easynoteedit函数对长度没有检查free函数存在UAF漏洞思路:1.通过堆溢出,UAF,修改size位达到堆块重叠,使用fastbinattack,把__malloc_hook,写入one_gadget2.通过unlink修改freegot表为systemexp:frompwnimport*context(log_lev......
  • DASCTF 2023六月挑战赛|二进制专项 PWN (上)
    DASCTF2023六月挑战赛|二进制专项PWN(上)1.easynoteedit函数对长度没有检查free函数存在UAF漏洞思路:1.通过堆溢出,UAF,修改size位达到堆块重叠,使用fastbinattack,把__malloc_hook,写入one_gadget2.通过unlink修改freegot表为systemexp:frompwnimport*context(lo......
  • 没有名为“pqcrypto._kem.kyber512”的模块
    我目前正在为我的硕士论文开发X3DH信号协议的简化Python实现。我的主要目标是比较三个版本的性能:经典实现、使用Kyber的后量子安全变体以及使用PSWOOSH的基于格的方法。但是,我在pqcrypto库中遇到了一些错误,特别是pqcrypto._kem.kyber512的导入错误。鉴于该库在过......
  • oppo,埃科光电25届秋招,快手25届技术人才专项计划内推
    oppo,埃科光电25届秋招,快手25届技术人才专项计划内推①【OPPO】25届秋招开启!内推简历优先筛选!【岗位类别】AI/算法类,软件类,硬件类,工程技术类,品牌策划类,设计类,产品类,职能类等......
  • 没有名为“Crypto”的模块
    当我运行此代码时,fromfirebaseimportfirebase,出现以下错误:ModuleNotFoundError:Nomodulenamed'Crypto'我已尝试以下操作:pipinstallcryptoppip3installcryptopipinstallpycryptodomepipinstallpycryptodomex终端结果显示:Requirementalr......
  • python3 安装Crypto包 出现No module named ‘Crypto‘和No module named ‘Crypto.Ut
       pycrypto、pycrytodome和crypto是一个东西,crypto在python上面的名字是pycrypto,它是一个第三方库,但是已经停止更新三年了,所以不建议安装这个库;这个时候pycryptodome就来了,它是pycrypto的延伸版本,用法和pycrypto是一模一样的;所以,我现在告诉大家一种解决方法--直接安装:pipin......
  • Bugku——crypto
    把猪困在猪圈里下载附件:是一个文本文本内容:/9j/4AAQSkZJRgABAQEAYABgAAD/4RDaRXhpZgAATU0AKgAAAAgABAE7AAIAAAAFAAAISodpAAQAAAABAAAIUJydAAEAAAAKAAAQyOocAAcAAAgMAAAAPgAAAAAc6gAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA......
  • cryptography签名数据方法
    简介在非对称加密(公/私钥)体系中,一般有两种应用场景:公钥加密--->私钥解密私钥签名--->公钥验证签名数字签名在网络通信中是一种防伪和防抵赖技术。RSA私钥签名及验证加密算法:RSA哈希算法:SHA256fromcryptography.hazmat.primitivesimporthashes,serializatio......
  • 【笔记】【THM】Introduction to Cryptography(密码学简介)
    【THM】IntroductiontoCryptography(密码学简介)-学习本文相关的TryHackMe实验房间链接:https://tryhackme.com/r/room/cryptographyintro本文相关内容:了解AES、Diffie-Hellman密钥交换、哈希、PKI和TLS等加密算法。(大部分为机翻,若有错误请指出)介绍这个房间的目的是向......
  • Crypto 2024 's Accepted papers
    Acceptedpapers 已接受论文Thesepapersarelistedinorderofsubmission.这些论文按提交顺序排列。 Constant-RoundArgumentsforBatch-VerificationandBounded-SpaceComputationsfromOne-WayFunctions从单向函数进行批量验证和有界空间计算的常圆参数Noga......