随波逐流工作室—-探索前沿科技,分享最新软件。点击标题下蓝字“长弓三皮”关注,我们将为您提供有深度、有价值、有意思的阅读。
朋友们,现在只对常读和星标的公众号才展示大图推送,建议大家把长弓三皮“设为星标”,否则可能就看不到了啦!
作者:随波逐流
生活如梦,我愿随风起,随波流,享受每一刻的自在与轻盈。
字密1 菜单
Bubble Babble Binary Data Encoding是由Antti Huima创建的一种编码方法,可以把二进制信息表示为由交替的元音和辅音组成的伪词(pseudo-words),主要用于密码指纹,其编码也具有内置的纠错和冗余。编码格式每5个字符中间以-来分隔,作者的原意就是想把难以记得的二进制数据表示为难忘的伪词。
BubbleBabble解密:
执行路径:[随波逐流]CTF编码工具--字密1--BubbleBabble解密
文本框输入密文,结果区输出明文。
密文:
xideg-syfyh-kacah-fubyh-pufex
解密结果:ILOVESBZL
BubbleBabble编码是一种由Antti Huima创建的二进制数据编码方法,它将二进制信息转换成由交替的元音和辅音组成的伪词(pseudo-words),主要用于密码指纹,并且编码具有内置的纠错和冗余功能。
编码原理
BubbleBabble编码的基本原理如下:
数据表示:将二进制数据表示为一系列的伪词,这些伪词更符合人类的发音习惯,易于读出和理解。
编码空间:编码消耗的空间与十六进制编码相当,即每个十六进制数字(携带16位信息)使用六个字符表示。
纠错功能:BubbleBabble编码包含了一种校验方法,有时可以检测到无效的编码,且这种方法不会增加编码数据的长度。
编码过程
编码过程涉及以下几个步骤:
校验序列:首先定义一个校验序列C,其中C[1] = 1,后续的C[n]通过特定的公式计算得出,涉及到数据D和前一个校验值C[n-1]的计算。
数据转换:将数据转换成一系列的元组T和可能的一个部分元组P,这些元组包含了编码所需的中间值。
元音和辅音表:使用元音表V和辅音表C将整数映射到元音和辅音字符上。元音表包括'a', 'e', 'i', 'o', 'u', 'y',辅音表包括'b', 'c', 'd', 'f', 'g', 'h', 'k', 'l', 'm', 'n', 'p', 'r', 's', 't', 'v', 'z', 'x'。
编码元组:对于每个元组T = <a, b, c, d, e>,编码E(T)为字符串V[a]C[b]V[c]C[d]'-'C[e],其中'-'是字面意义上的连字符。
编码结果:整个输入数据D的编码是一系列元组的编码加上部分元组P的编码,以'x'字符开始和结束。
解码过程
解码过程是编码过程的逆过程,需要从编码的字符串中恢复出原始的元组,并通过校验和检查来验证编码的有效性。
特点
BubbleBabble编码的字符串具有以下特点:
易读性:每个音节由一个辅音和一个元音组成,没有空格,形成连续的字符串,以元音开头和结尾,保证易读性和完整性。
校验和冗余:编码中的每个元音都携带了0.58比特的冗余信息,使得编码具有一定的错误检测和纠正能力。
BubbleBabble编码可以用于各种场景,如网络传输中对数据进行编码、生成唯一标识符或验证数据完整性等。
参考文档: http://wiki.yak.net/589/Bubble_Babble_Encoding.txt
在CTF中一般使用python解码
# !/usr/bin/env python
# -*- coding:utf-8 -*-
# @Author :随波逐流
from bubblepy import BubbleBabble
s='ILOVESBZL'
bb=BubbleBabble()
s1=bb.encode(s)
print(s1)
print(bb.decode(s1).decode())
你若喜欢,为“长弓三皮”点个赞和在看哦
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...