CTF crypto入坑笔记


想学习一下crypto的知识,觉得很多数学算法其实挺有趣的,那么什么是crypto呢。

密码学(Cryptography)一般可分为古典密码学和现代密码学。

其中,古典密码学,作为一种实用性艺术存在,其编码和破译通常依赖于设计者和敌手的创造力与技巧,并没有对密码学原件进行清晰的定义。古典密码学主要包含以下几个方面:

  • 单表替换加密(Monoalphabetic Cipher)
  • 多表替换加密(Polyalphabetic Cipher)
  • 奇奇怪怪的加密方式

而现代密码学则起源于 20 世纪中后期出现的大量相关理论,1949 年香农(C. E. Shannon)发表了题为《保密系统的通信理论》的经典论文标志着现代密码学的开始。现代密码学主要包含以下几个方面:

  • 对称加密(Symmetric Cryptography),以 DES,AES,RC4 为代表。
  • 非对称加密(Asymmetric Cryptography),以 RSA,ElGamal,椭圆曲线加密为代表。
  • 哈希函数(Hash Function),以 MD5,SHA-1,SHA-512 等为代表。
  • 数字签名(Digital Signature),以 RSA 签名,ElGamal 签名,DSA 签名为代表。

其中,对称加密体制主要分为两种方式:

  • 分组密码(Block Cipher),又称为块密码。
  • 序列密码(Stream Cipher),又称为流密码。

一般来说,密码设计者的根本目标是保障信息及信息系统的

  • 机密性(Confidentiality)
  • 完整性(Integrity)
  • 可用性(Availability)
  • 认证性(Authentication)
  • 不可否认性(Non-repudiation)

其中,前三者被称为信息安全的 CIA 三要素 。

而对于密码破解者来说,一般是要想办法识别出密码算法,然后进行暴力破解,或者利用密码体制的漏洞进行破解。当然,也有可能通过构造虚假的哈希值或者数字签名来绕过相应的检测。

一般来说,我们都会假设攻击者已知待破解的密码体制,而攻击类型通常分为以下四种:

攻击类型 说明
唯密文攻击 只拥有密文
已知明文攻击 拥有密文与对应的明文
选择明文攻击 拥有加密权限,能够对明文加密后获得相应密文
选择密文攻击 拥有解密权限,能够对密文解密后获得相应明文

(ps:以上对于crypto的介绍来源于CTF wiki)


Author: LiM
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source LiM !
 Previous
RSA算法 RSA算法
RSA算法是一种非对称算法,即使用不同的公钥与私钥对内容加解密,在CTF crypto题目中常常出现。RSA的安全性依赖于由2个大质数相乘得到n很容易但由一个大数n拆分出2个质数非常难,RSA算法中参数有p,q,e,n,φ,d,c,m。 p
2019-11-27 LiM
Next 
EIS 2019 web writeup EIS 2019 web writeup
本来可以尝试着写一下的,可惜那天都在上课,这里做一下记录 ezbypass它给了一个shell,无法执行命令,要bypass open_basedir,这个上次有遇到过,写个shell在/tmp/目录下(通过利用环境变量 LD_PRELOA
2019-11-25 LiM
  TOC