太强了!基于深度学习的文本自动解密算法。

共 1762字,需浏览 4分钟

 ·

2020-08-16 07:26

点击上方“Jack Cui”,选择“加为星标

第一时间关注技术干货!


1


加密


加密技术无处不在。

最常见的就是我们每天都在使用的密码。

登陆微信、淘宝,我们所使用的密码,就是加密存储在数据库中的。

加密技术可以保障我们密码的安全性。

如果这些密码在数据库中是以明文形式存储的,那安全隐患就太大了。

一旦数据库泄漏,就不光是一个账号被盗的问题了。

很可能是多个网站的账号同时被盗。

因为很多人的习惯是,各大网站都用相同的密码。


不过,这都 2020 年了,密码存储早已用上了不可逆的加密技术,例如 Bcrypt 加密等。同时,还有设备锁,安全性不用担心。

但这类加密算法的成本较高,并不适合所有的场景。

对于不太重要的数据,就可以使用一些低成本的加密和编码算法。

例如男人之间的“灵魂对话”。


这种加密对话,靠的是两人多年的默契,外人很难参透,无迹可寻。

而下面这种就不同了,加密和编码是有迹可循的。


今天,咱就用这个,基于深度学习的文本自动解密 Ciphey 算法,破一破这些有迹可循的加密和编码算法。

2


Ciphey

Ciphey 算法开源至今,已经获得 2.2k+ star,一度登上 Github 热榜。

每当遇到一些不知道加密方法和编码格式的文本,不妨试试 Ciphey ,说不定可以轻松解决你的烦恼。


简介


Ciphey 支持破解 6 种基础加密:


16 种编码:


哈希也支持,不过效果不可控。

现在临时关闭了,优化好后可能会重新开放。

项目地址:
https://github.com/Ciphey/Ciphey

原理


Ciphey 是将深度学习技术应用到特定的场景。

其实原理不难,就是对一段文本进行分类,判断其属于明文,还是哪种加密方法。


经过 softmax 输出每个类别的概率,然后从高到低开始遍历破解。

思路简单,但是由于涉及到特定应用领域,实现起来也挺复杂。

需要了解每种加密和编码算法的方法,以及破解和解码的方式。

3


算法测试

Ciphey 安装非常简单,直接使用 pip 安装即可:

python -m pip install -U ciphey

咱先来个简单的:

amFjayBjdWk=

这种编码结果,经常用 base64 的人一眼就能看出来。

使用 ciphey -t "amFjayBjdWk=" 命令,进行解码。


这种太小儿科,那咱换个难的。

3D6F57596A7447496A565861676B3263674D336267675759755232637631575A

这种是基础加密算法和编码的组合,可以自己尝试解密,感受下难度。

而用 Ciphey ,轻松一秒内解密完成。


轻轻松松拿到结果的同时,还可以知道,这个字符串都用了什么加密和编码算法。

有 reverse cipher、base64、base16。

而实际,我也确实是这么做的:

import base64s = "jack cui is so handsome"print("原始:", s)s = s[::-1]print("reverse cipher:",s)s = base64.b64encode(s.encode()).decode()print("base64:", s)s = s[::-1]print("reverse ciper:", s)s = base64.b16encode(s.encode()).decode()print("base16:", s)

先对字符串进行反转,再进行 base64 编码,将编码的结果再次反转,最后再加一个 base16 编码。


Ciphey 除了对这种加密字符串的解密,还可以针对整个文本。

可以使用如下命令,解密 encrypted.txt 文本里所有的内容。

ciphey - encrypted.txt

此外,还可以提供一个 wordlist ,辅助解密。

遇到这种加密和编码的场景,不妨试试这个,基于深度学习的文本自动解密 Ciphey 算法。

4


总结

Ciphey 要是支持的哈希解密稳定一些,那就更好了。

浏览 35
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报