Jack-Cui · 2020年11月25日

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

image.png

点赞再看,养成习惯,微信公众号搜索【JackCui-AI】关注这个爱发技术干货的程序员。本文 GitHub https://github.com/Jack-Cherish/PythonPark 已收录,有一线大厂面试完整考点、资料以及我的系列文章。

1 加密

加密技术无处不在。

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

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

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

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

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

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

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

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

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

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

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

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

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

image.png

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

2 Ciphey

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

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

1125 2.gif

简介

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

image.png

16 种编码:

image.png

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

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

项目地址:

https://github.com/Ciphey/Ciphey

原理

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

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

image.png

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

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

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

3 算法测试

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

python -m pip install -U ciphey

咱先来个简单的:

amFjayBjdWk=

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

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

image.png

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

3D6F57596A7447496A565861676B3263674D336267675759755232637631575A

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

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

image.png

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

有 reverse cipher、base64、base16。

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

import base64

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

image.png

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

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

ciphey - encrypted.txt

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

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

4 总结

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

作者:Jack Cui
原文:https://mp.weixin.qq.com/s/we...
关注作者公众号,获取更多有趣AI应用~
imagy.png

系列篇


更多AIoT领域有趣的算法应用及产品请关注有趣的AIoT应用专栏。
推荐阅读
关注数
2136
内容数
23
介绍有趣好玩的AIoT 实战项目,算法应用及软硬件产品。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息