前言:

  我也是刚接触Crypto不久,他属于CTF中的一种题型,涉及密码学知识。光看枯燥的理论很难学的明白和深入,需要理论结合实践,通过攻防世界中入门题,一方面学习密码学知识,另一方面锻炼了实战能力,通过做入门题达到入门的目的。

Base64:

难度系数: 1
题目来源: poxlove3
题目描述:元宵节灯谜是一种古老的传统民间观灯猜谜的习俗。 因为谜语能启迪智慧又饶有兴趣,灯谜增添节日气氛,是一项很有趣的活动。 你也很喜欢这个游戏,这不,今年元宵节,心里有个黑客梦的你,约上你青梅竹马的好伙伴小鱼, 来到了cyberpeace的攻防世界猜谜大会,也想着一展身手。 你们一起来到了小孩子叽叽喳喳吵吵闹闹的地方,你俩抬头一看,上面的大红灯笼上写着一些奇奇怪怪的 字符串,小鱼正纳闷呢,你神秘一笑,我知道这是什么了。
题目附件:下载后是一个txt文本,写的内容是  Y3liZXJwZWFjZXtXZWxjb21lX3RvX25ld19Xb3JsZCF9   ,在解题之前我们先了解一下什么是Base64编码,下面的话摘自维基百科
  Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于{\displaystyle \log _{2}64=6},所以每6个比特为一个单元,对应某个可打印字符。3个字节相当于24个比特,对应于4个Base64单元,即3个字节可由4个可打印字符来表示。它可用来作为电子邮件的传输编码。在Base64中的可打印字符包括字母A-Za-z、数字0-9,这样共有62个字符,此外两个可打印符号在不同的系统中而不同。一些如uuencode的其他编码方法,和之后BinHex的版本使用不同的64字符集来代表6个二进制数字,但是不被称为Base64。

  Base64常用于在通常处理文本数据的场合,表示、传输、存储一些二进制数据,包括MIME的电子邮件及XML的一些复杂数据。

  根据索引查找对应的Base64编码,在此例中,Base64算法将3个字节编码为4个字符。

 

 

如果要编码的字节数不能被3整除,最后会多出1个或2个字节,那么可以使用下面的方法进行处理:先使用0字节值在末尾补足,使其能够被3整除,然后再进行Base64的编码。在编码后的Base64文本后加上一个或两个=号,代表补足的字节数。也就是说,当最后剩余两个八位(待补足)字节(2个byte)时,最后一个6位的Base64字节块有四位是0值,最后附加上两个等号;如果最后剩余一个八位(待补足)字节(1个byte)时,最后一个6位的base字节块有两位是0值,最后附加一个等号。 参考下表:

 

   那么怎么解题呢,其实很简单,我们通过在线Base64解码工具就可以了,例如该连接 https://tool.oschina.net/encrypt?type=3 中的在线解码工具就可以解码出答案,我将答案贴出

 

 

本文参考链接:

https://zh.wikipedia.org/wiki/Base64

 

 posted on 2020-08-10 00:01  缘初  阅读(1114)  评论(0编辑  收藏  举报