CTF学习-密码学解题思路

密码学持续更新

密码学概述

密码学的发展

  • 第一个阶段是从古代到19世纪末-古典密码 (classical cryptography)
  • 第二个阶段从20世纪初到1949年-近代密码
  • 第三个阶段从C.E.Shannon (香农)于1949年发表的划时代论文 "The Communication Theory ofSecret Systems "开始-现代密码
  • 第四个阶段从1976年W. Diffie和M. Hellman创造性地发表了论文"New Directions in
    Cryptography"开始-公钥密码

密码编码学

(1)密码编码学是密码学的一个分支,研究与信息安全(例如:机密性、完整性、可鉴别性)有关的数学技术。
(2)密码编码学是包含数据变换的原理、工具和方法的一门学科,这种数据变换的目的是为了隐藏数据的信息内容,阻止对数据的篡改以及防止未经认可使用数据。
(3)密码编码学是论述使明文变得不可懂的密文,以及把已加密的消息变换成可懂形式的艺术和技巧。

对称加密不对称加密

  • 对称密码算法(Symmetric cipher) :加密密钥和解密密钥相同,或实质上等同,即从一个易于推出另一个。又称传统密码算法(Conventional cipher)、秘密密钥算法或单密钥算法。
    DES、 3DES、 IDEA、 AES

  • 非对称密码算法(Asymmetric cipher). : 加密密钥和解密密钥不同,从一个很难推出另一个。又叫公钥密码算法(Public一key cipher)。其中的加密密钥可以公开,称为公开密钥(public key),简称公钥;解密密钥必须保密,称为私人密钥(private key),简称私钥。
    RSA、 ECC、 EIGamal

摘要算法

数据摘要算法是密码学算法中非常重要的一个分支, 它通过对所有数据提取指纹信息以实现数据签名、数据完整性校验等功能,由于其不可逆性,有时候会被用做敏感信息的加密。数据摘要算法也被称为哈希(Hash) 算法、散列算法,常见的摘要算法有MD5和SHA
在互联网上进行大文件传输时,都要得用MD5算法产生一个与文件匹配的、存储MD5值的文本文件(后缀名为md5或md5sum),这样接收者在接收到文件后,就可以利用与SFV类似的方法来检查文件完整性,绝大多数大型软件公司或开源组织都是以这种方式来校验数据完整性,而且部分操作系统也使用此算法来对用户密码进行加密,另外,它也是目前计算机犯罪中数据取证的最常用算法。
SHA中SHA1的应用较为广泛,主要应用于CA和数字证书中,另外在互联网中流行的BT软件中,也是使用.SHA1来进行文件校验的,由于SHA系列算法的数据摘要长度较长,因此其运算速度与MD5相比,也相对较慢。

ASCII编码

ASCII码使用指定的7位或8位二进制数组合来表示128或256种可能的字符。标准ASCII码也叫基础ASCII码,使用7位一进制数(剩下的1位一进制为0)来表示所有的大写和小写字母,数字0到9、标点符号,以及在美式英语中使用的特殊控制字符。

Base64编码

Base64顾名思义就是用64个可显示字符表示所有的ASC字符,64也就是6Bits, 而ASC字符一共有256个,也就是8Bits。 Base64编码要求把3个8位字节(38=24)转化为4个6位的字节(46=24) ,之后在6位的前面补两个0,形成8位一个字节的形式。如果剩下的字符不足3个字节,则用0填充,输出字符使用’=' ,因此编码后输出的文本末尾可能会出现1或2个’='

URL编码

ur|编码就是一个字符ascii码的十 六进制。不过稍微有些变动,需要在前面加上“%”。比如"\”,它的ascii码是92, 92的十六进制是5c,所以"" 的ur|编码就是%5c。
特点:密文中有多个%号符

Unicode编码

Unicode码扩展自ASCII字元集。在严格的ASCII中,每个字元用7位元表示,或者电脑上普遍使用的每字元有8位元宽;而Unicode使用全1 6位元字元集。这使得Unicode能够表示世界上所有的书写语言中可能用於电脑通讯的字元、象形文字和其他符号。
特点:密文中有多个\uxxx

JS混淆

有些时候开发者为了保护劳动成果可以通过对javascript的变量名称和过程名称进行编码,从而起到混淆js代码的作用,通常使用eval函数进行混淆处理,该函数可以计算字符串,并执行其中的JS代码。
如,对<script>alert( 'XSS' ); </script>进行16进制转换,然后使用eval函数进行读取

<script>eval("\x61\x6c\x65\x72\x74\x28\x27\x58\x . 53\x53\x27\x29\x3b"); </script>

特点:通常在JS脚本里使用eval与function函数进行混淆。

CTF学习-密码学解题思路相关推荐

  1. CTF学习-逆向解题思路

    CTF学习-逆向解题思路 持续更新 一.通用过程 通过file命令查看文件类型,判断是ELF还是PE,32位还是64位. 通过strings并重定向标准输出,然后搜索大括号 { ,看看是否能直接得到f ...

  2. CTF学习-web解题思路

    CTF学习-web题思路 持续更新 基础篇 1.直接查看源代码 2.修改或添加HTTP请求头 常见的有: Referer来源伪造 X-Forwarded-For:ip伪造 User-Agent:用户代 ...

  3. 实验吧-密码学解题思路及答案(一)

    1.JS 解题链接: http://ctf5.shiyanbar.com/crypto/2.html eval(function(p,a,c,k,e,d){e=function(c){return(c ...

  4. i春秋CTF训练营Rotated!解题思路及其过程。

    遥想当年参加CTF大赛从一个是用别人脚本到自己写脚本的脚本小子,转眼间过去这么多年,现在重拾参加一下CTF结果最简单的题目都不会了,我不配 目录 1.拿题目 2.凯撒解密 4.开始解密 5.解密成功 ...

  5. 网络安全ctf比赛/学习资源整理,解题工具、比赛时间、解题思路、实战靶场、学习路线,推荐收藏!...

    对于想学习或者参加CTF比赛的朋友来说,CTF工具.练习靶场必不可少,今天给大家分享自己收藏的CTF资源,希望能对各位有所帮助. CTF在线工具 首先给大家推荐我自己常用的3个CTF在线工具网站,内容 ...

  6. 【学习总结】ctf隐写初阶解题思路与方法

    作为ctf中相对较为简单的题目,隐写题更适合初学者上手和提高初学者的兴趣.本人也对隐写术很感兴趣,于是尝试着对自己目前所学的隐写解题思路和工具的使用做一个总结.由于水平有限,总结可能会有错误的地方,希 ...

  7. CTF|pwn栈溢出入门题level3解题思路及个人总结

    CTF|pwn栈溢出入门题level3解题思路及个人总结 解题思路 拿到题目将文件下载下来拖入ubuntu 发现这一次的文件比较特殊:是一个linux环境下的压缩包,自然而然想到的是解压它 通过命令行 ...

  8. 2020年11月份某kh比赛部分CTF赛题求大佬解题思路

    2020年11月份某kh比赛部分CTF赛题求大佬解题思路 只down下来misc和密码两类题 麻烦大佬们搞一搞这四道题 只down下来misc和密码两类题 百度网盘赛题分享 链接: https://p ...

  9. CTF Reverse fantasy.apk解题思路

    CTF Reverse fantasy.apk解题思路 一.文件分析 二.解题思路 一.文件分析 文件和解题脚本看这里 动态运行界面提示输入信息进行check chec按钮点击后出出现一个Toast, ...

最新文章

  1. 命令行的艺术 (GitHub 星标 6 万多)
  2. R语言四格表、列联表秩和检验
  3. php读取配置文件连接mysql数据库,MySQL教程--通过配置文件连接数据库操作详解
  4. c++智能指针的设计思想
  5. 【剑指offer】面试题18:删除链表的节点(Java)
  6. 《Linux内核设计与实现》读书笔记(2)--- 进程管理
  7. Laravel核心解读--Database(二) 查询构建器
  8. PostgreSQL13逻辑备份pg_dump
  9. 接到有用数据的5个做法,让你不再头疼
  10. iOS | NSProxy
  11. 2.6.24内核中对S3C2440的引导启动分析
  12. Linux环境安装ghostscript
  13. Matlab心电信号QRS波检测
  14. 数据湖实践 | Iceberg 在网易云音乐的实践
  15. 植物免疫研究与抗病虫绿色防控:进展、机遇与挑战
  16. Oracle技巧之 desc+表名
  17. 【PBR系列一】PBR知识体系
  18. CSS学习之圆、半圆、四分之一圆以及三角形的创建
  19. 拿到offer后,我死死的抓着他们不放
  20. Joining_thread简单实现

热门文章

  1. 实验3 SQL的复杂多表查询以及视图
  2. matlab 可见度和衬噪比
  3. android b站倍速播放器,倍速功能(setPlaybackSpeed(float speed)) ,在安卓23以下机型,开启倍速后,音调变高。...
  4. 计算机软件卡死,电脑运行卡或软件卡死无响应,怎么办?新生必看
  5. alooa是华为什么型号_alooa是华为什么型号 华为alooa型号是华为畅享7Plus
  6. itext生成pdf文档时给文档添加背景图片
  7. 【云原生之Docker实战】使用Docker部署ShowDoc文档工具
  8. 牛客2019跨年AK场
  9. ACL 2022 | DialogVED:用于对话回复生成的预训练隐变量编码-解码模型
  10. 谁痛苦谁改变 落到谷底时,唯一的出口就是向上