CTF密码学-加解密总结

本文深入探讨了密码学的基础,包括古典密码与现代密码学的发展。重点讲解了对称与非对称加密算法,如DES、AES和RSA。此外,还介绍了JS混淆、JSFuck、Jother等JavaScript加密方法,以及各种替换加密技术,如凯撒密码、摩斯密码和维吉尼亚密码。文章还涵盖了曲路密码、列位移密码等换位加密技巧,以及如何使用在线工具进行加解密操作。
摘要由CSDN通过智能技术生成
零基础学黑客,搜索公众号:白帽子左一

密码学基本简介

密码学(在西欧语文中,源于希腊语kryptós“隐藏的”,和gráphein“书写”)是研究如何隐密地传递信息的学科。

在现代特别指对信息以及其传输的数学性研究,常被认为是数学和计算机科学的分支,和信息论也密切相关。

著名的密码学者Ron Rivest解释道:“密码学是关于如何在敌人存在的环境中通讯”,自工程学的角度,这相当于密码学与纯数学的异同。

密码学是信息安全等相关议题,如认证、访问控制的核心。密码学的首要目的是隐藏信息的涵义,并不是隐藏信息的存在。密码学也促进了计算机科学,特别是在于电脑与网络安全所使用的技术,如访问控制与信息的机密性。密码学已被应用在日常生活:包括自动柜员机的芯片卡、电脑使用者存取密码、电子商务等等。
密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。依照这些法则,变明文为密文,称为加密变换;变密文为明文,称为脱密变换。密码在早期仅对文字或数码进行加、脱密变换,随着通信技术的发展,对语音、图像、数据等都可实施加、脱密变换。

密码学的发展

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

对称和非对称算法

对称密码算法(Symmetric cipher):加密密钥和解密密钥相同,或实质上等同,即从一个易于推出另一个。又称传统密码算法(Conventional cipher)、秘密密钥算法或单密钥算法。DES、3DES、IDEA、AES
非对称密码算法(Asymmetric cipher):加密密钥和解密密钥不同,从一个很难推出另一个。又叫公钥密码算法(Public-key cipher)。其中的加密密钥可以公开,称为公开密钥(public key),简称公钥;解密密钥必须保密,称为私人密钥(private key),简称私钥。RSA、ECC、EIGamal

JS混淆

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

特点:通常在S脚本里使用eval与function函数进行混淆。
JS在线解混淆:http://www.atool.org/jscompression.php

JSFuck

JSFuck 是用6个字符[0(0!+来编写JavaScript程序,如下图所示,经过加密后便使用了[00!+进行编写,点击run this 可进行解密,或将密文放在浏览器的console控制台上进行解密。
在这里插入图片描述

JSFuck在线加解密:http://www.jsfuck.com/

Jother

Jother是一种运用于javascript语言中利用少量字符构造精简的匿名函数方法对于字符串进行的编码方式。其中8个少量字符包括:!+()[]{}。只用这些字符就能完成对任意字符串的编码(可以在浏览器的console控制台上直接解密)。例如0到9

在这里插入图片描述
在这里插入图片描述

aaencode

aaencode使用的表情符号对js代码进编码,可以直接在命令行中继续解码,或者在以下的链接网站进行解码。
在这里插入图片描述

加解密地址:http://utf-8.jp

  • 4
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值