通过用blake2b散列输入并使用经调整的醉酒主教算法生成ascii随机图。
randomart的Python项目详细描述
randomart.py
一个将blake2b散列显示为小ascii艺术图片的脚本,类似于openssh的 randomart。
这允许人类更容易验证,但可能不如 消化!
参见论文[散列可视化:一种提高现实世界安全性的新技术1][^1] 有关随机艺术概念的更多信息。
论文[醉酒主教:openssh指纹可视化分析 algorithm2][^2]更详细地分析了openssh实现。
应该明确指出的是,我的算法是类似于,但不是等同于。 bishop“openssh实现之路。当前的实现:
- 在边界处翻转边,将场变成圆环
- 以距离1向所有可能的方向移动,而不仅仅是对角移动
- 不标记开始(
S
)和结束(E
)并使用不同的字符调色板
我没有执行过任何类似的分析[2][^2],但希望我的实现 不要表现得更糟。
安装
直接从github使用pip安装:
pip install git+https://github.com/ansemjo/randomart
用法
脚本要求在第一个位置参数中有一个文件,或者只从标准 输入。因此,它最适合在管道中使用:
echo 'Hello, World!' | randomart.py
有两个标志可控制输出:
--ascii
框框只使用ascii字符--hash
-在随机图片前打印计算的摘要
否则请使用randomart.py --help
获取用法帮助。
作为图书馆
如果要使用自己的散列,可以从random_art.randomart
:
fromrandom_art.randomartimportdraw,drunkenwalk...# generate your hash digestdigest=...# generate randomart, HASHNAME must be 10 charactersart=draw(drunkenwalk(digest),HASHNAME)print(art)
[^1]:
http://www.ece.cmu.edu/~adrian/projects/validation/validation.pdf“佩里格A.和宋D.,1999年, 密码技术和电子商务国际研讨会(Cryptec'99)“
[^2]:
http://www.dirk-loss.de/sshvis/drunken_bishop.pdf“德克损失,托比亚斯·利默,亚历山大·冯 格恩勒,2009“