CTF—Crypto基础

news/2024/9/21 16:45:30/文章来源:https://www.cnblogs.com/gsupl/p/18313600

一:常见编码类型

1、ASCII编码

(1)特征:
image
在线网址http://www.mokuge.com/tool/asciito16/

2、base家族编码

(1)base64编码
特点:由A-Z,a-z,0-9,+,/64个可见字符组成、==符号作为后缀填充、不属于编码字符;一般情况下密文尾部会有两个==符号,并且有大写字母和小写字母的混合组成

原理:3个8位字符变成4个6位字符,之后在6位的前面补两个0;形成4个8位的形式

eg:
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编码
特点:就是一堆表情

3、unicode编码

(1)特点:密文中有多个\uxxx
image

4、栅栏密码

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

fa{fe13f590lg6d46d0d0}

image

4、摩尔斯密码

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

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

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

5、URL编码

特点:url编码的特征是使用 "%" 其后跟随两位的十六进制数来替换非 ASCII 字符
image

6、shellcode编码

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

7、XXencode编码

image
image

8、UUencode编码

image

9、AAencode编码

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

10、JSfuck编码

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

11、jother编码

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

12、Brainfuck

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

13、MD5加密

(1)#MD5中字符都是在a-f0-9之间;分为16位和32位
image

14、JS混淆

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

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

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

二:稀奇古怪的编码

1、社会主义核心价值观编码

特点:
image

2、与佛伦禅

特带:以佛曰开头

3、以熊论道

http://hi.pcmoe.net/

4、兽音加密

https://roar.iiilab.com/

5、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

6、+-<>加密

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

7、敲击码加密

特点:
image
image

8、猪圈密码

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

9、棋盘密码

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

10、元音加密

11、hill密码

eg:
image
等等......

三:复杂密码类型

1、凯撒密码

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

2、云影密码

此密码运用了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即可

3、培根密码

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

4、转轮机加密

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

点击查看代码
rotor = [ #这里是要输入的转轮机原始字符串]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] - 1for j in range(0, len(rotor[k])):if cipher[i] == rotor[k][j]:if j == 0:tmp=rotor[k]breakelse:tmp=rotor[k][j:] + rotor[k][0:j]breaktmp_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 itempassif __name__ == '__main__':for i in spread_list(message_list):print("*"*25)print(i) 
#### 5、ECC加密 椭圆曲线密码学(英语:Elliptic curve cryptography,缩写为 ECC),一种建立公开密钥加密的算法,基于椭圆曲线数学。

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

四:离线工具分享

1、常用脚本

image
image

2、常用工具

(1)CaptfEncoder V2工具箱
几乎涵盖可常见的加密解密的方式,自行在github下载
image
(2)不一一介绍了,自行百度科普
image

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/788690.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

光之大陆

题目求的就是点仙人掌的数量;点仙人掌的所有环缩点之后就变成了一棵树,于是考虑无根树的数量怎么求,很显然利用Prufer序列就好了;然后考虑怎么将Prufer序列移植到点仙人掌上面,此时就要利用扩展Prufer序列 扩展Prufer序列:对于一个点仙人掌来说,先将所有环缩点变成一棵树…

Maui Blazor Windows 显示本地图片新方法更简单快速 支持.Net 8.0 最新版本

目前仅Windows平台测试,安卓平台暂不支持,调用 AppDomain.CurrentDomain.BaseDirectory,直接储存图片到wwwroot里的images文件夹内,在razor里直接使用<img src="images/图片路径" />即可private void SetAvarta(){MainThread.BeginInvokeOnMainThread(asyn…

laravel用AetherUpload实现大文件上传,并更改默认上传目录

github地址:https://github.com/peinhu/AetherUpload-Laravel 实现在laravel进行大文件、分片上传,可以用来传视频1.首先用composer安装,切换到 laravel 项目根目录,执行 composer require peinhu/aetherupload-laravel dev-master 2.在 config/app.php 的 providers 数组中…

【Unity】经典四叉树的实现以及和无空间划分加速下的效率对比分析

背景 假如场景中存在大量的对象,需要快速找到某个范围内的所有对象,如果通过传统的方式,就需要对所有的物体遍历,依次判断是否在范围中,这样非常耗时。所以通过空间划分的方法将其加速,本文中采用四叉树的方式,从实现思想和代码层面对效率进行分析。 思想 在空间划分算法…

【视频讲解】数据挖掘实战:Python金融贷款模型分类潜在贷款客户

全文链接:https://tecdat.cn/?p=37521 原文出处:拓端数据部落公众号 分析师:Hengtao Fan 模型的存在依托于这样一个事实:基于概率的决策乃是最优之选。将概率转化为评分,能够便于对齐风险。而评分则是通过统计的方法来识别潜在客户,进而判断客户是否合乎心意。这里的 “…

源代码管理器tfs转git并保留历史提交记录

1、到GitHub https://github.com/git-tfs/git-tfs/releases 下载最新版本的GitTfs工具 2、下载的压缩包解压,并将压缩包路径添加到系统的环境变量 3、执行 git-tfs -help 有输出就可以了,程序就可以使用了 4、新建一个目录,用户拉取tfs代码并生成tfs提交记录 语法:git-tf…

python3安装编译_tkinter模块丢失

1.make的时候报缺少_tkinter模块,上一步./configure已经checking发现_tkinter missing 2.安装tk、tcl相关的包,包括python3-tk仍然没有解决问题。讲相关库移到/usr/lib也没解决问题。3.查看./configure的命令行参数,在环境变量中有两个参数:TCLTK_CFLAGSC compiler flags f…

来自OpenAI官网的Function calling介绍与最佳实践

学习如何将大型语言模型连接到外部工具。 介绍 函数调用允许您将模型如gpt-4o与外部工具和系统连接起来。这对于许多事情都很有用,比如为AI助手赋能,或者在你的应用程序与模型之间建立深度集成。 在2024年8月,我们推出了结构化输出功能。当你在函数定义中通过设置strict: tr…

局域网内两台设备只有一方可以ping通问题解决

场景 局域网内有两台笔记本,都是windows系统,都是连接的同一个路由器,在同一个网段中。 但是其中的一台笔记本192.168.1.101,另外一台是192.168.1.100 ping命令测试发现192.168.1.101无法ping通192.168.1.100这是为什么呢? 排查与修复 首先的两台电脑为了安全,防火墙都是…

prometheus学习笔记之cAdvisor

一、cAdvisor简介监控Pod指标数据需要使⽤cadvisor, cadvisor由⾕歌开源, cadvisor不仅可以搜集⼀台机器上所有运⾏的容器信息,还提供基础查询界⾯和http接⼝,⽅便其他组件如Prometheus进⾏数据抓取cAdvisor可以对节点机器上的资源及容器进⾏实时监控和性能数据采集,包括C…

国产化适配——人大金仓V8R6(1)

本文主要记录kingbase安装及存储过程修改相关内容,或有错漏,请指正。 原数据库:Mysql8.0.31 现数据库:KingbaseES V008R006C008M001B0030 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit 一、kingbase安装1.安装前准备 1.1查看…

南沙区信奥赛CSP-J/S 陈老师解题:1350:【例4-11】最短网络(agrinet)

​【题目描述】农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场。当然,他需要你的帮助。约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其他农场。为了用最小的消费,他想铺设最短的光纤去连接所有的农场。你…