其他密码

时间:2024-03-04 10:38:32

培根密码

原理

培根密码使用两种不同的字体,代表 A 和 B,结合加密表进行加解密。

aAAAAAgAABBAnABBAAtBAABA
b AAAAB h AABBB o ABBAB u-v BAABB
c AAABA i-j ABAAA p ABBBA w BABAA
d AAABB k ABAAB q ABBBB x BABAB
e AABAA l ABABA r BAAAA y BABBA
f AABAB m ABABB s BAAAB z BABBB

上面的是常用的加密表。还有另外的一种加密表,可认为是将 26 个字母从 0 到 25 排序,以二进制表示,A 代表 0,B 代表 1。

下面这一段内容就是明文 steganography 加密后的内容,正常字体是 A,粗体是 B:

To encode a message each letter of the plaintexis replaced by a group of five of the letters \'A\' or \'B\'.

可以看到,培根密码主要有以下特点

  • 只有两种字符
  • 每一段的长度为 5
  • 加密内容会有特殊的字体之分,亦或者大小写之分。

网站

 

栅栏密码

原理

栅栏密码把要加密的明文分成 N 个一组,然后把每组的第 1 个字连起来,形成一段无规律的话。这里给出一个例子

明文:THERE IS A CIPHER

去掉空格后变为

THEREISACIPHER

分成两栏,两个一组得到

TH ER EI SA CI PH ER

先取出第一个字母,再取出第二个字母

TEESCPE

HRIAIHR

连在一起就是

TEESCPEHRIAIHR

 

脚本

# -*- coding:utf-8 -*-

import re

def encrypt(s,n):
    s = s.replace(\' \',\'\')
    # 分成n个一组的列表
    box = re.findall(r\'.{%d}\'%n,s)
    # 不足n个的也为一组
    if len(box) * n < len(s):
        box.append(s[len(box)*n:])
    enc = []
    k = 0
    for i in range(n):
        enc.extend([x[k] for x in box if k < len(x)])
        k = k + 1
    print (\'\'.join(enc))

def decrypt(s,n):
    num = len(s) // n
    if len(s) % n != 0: num += 1
    tmp = re.findall(r\'.{%d}\'%num,s)
    if len(tmp) * num < len(s):
        tmp.append(s[len(tmp) * num:])
    box = [\'\' for x in range(num)]
    for Str in tmp:
        for index,S in enumerate(Str):
            box[index] += S
    print (\'\'.join(box))

if __name__ == \'__main__\':
    s = "THERE IS A CIPHER"
    n = 5
    s1 = "TIPHSHEAERCREI"
    encrypt(s,n)
    decrypt(s1,n)

 

猪圈密码

原理

猪圈密码是一种以格子为基础的简单替代式密码,格子如下

我们举一个例子,如明文为 X marks the spot ,那么密文如下

解密网站

http://www.metools.info/code/c90.html

 

键盘密码

手机键盘密码

手机键盘加密方式,是每个数字键上有 3-4 个字母,用两位数字来表示字母,例如:ru 用手机键盘表示就是:7382,那么这里就可以知道了,手机键盘加密方式不可能用 1 开头,第二位数字不可能超过 4,解密的时候参考此

关于手机键盘加密还有另一种方式,就是「音的」式(这一点可能根据手机的不同会有所不同),具体参照手机键盘来打,例如:「数字」表示出来就是:748 94。在手机键盘上面按下这几个数,就会出:「数字」的拼音。

电脑键盘棋盘

电脑键盘棋盘加密,利用了电脑的棋盘方阵。

 

电脑键盘坐标

电脑键盘坐标加密,利用键盘上面的字母行和数字行来加密,例:bye 用电脑键盘 XY 表示就是:351613

 

电脑键盘 QWE

电脑键盘 QWE 加密法,就是用字母表替换键盘上面的排列顺序。

 

键盘布局加密

简单地说就是根据给定的字符在键盘上的样子来进行加密。

 

0CTF 2014 classic

小丁丁发现自己置身于一个诡异的房间,面前只有一扇刻着奇怪字符的门。 他发现门边上还有一道密码锁,似乎要输入密码才能开门。。4esxcft5 rdcvgt 6tfc78uhg 098ukmnb

 

 

 相当于在键盘上绘图:0ops

 

2017 年 xman 选拔赛——一二三,木头人

我数 123 木头人,再不行动就要被扣分。

23731263111628163518122316391715262121

密码格式 xman{flag}

题目中有很明显的提示 123,那么就自然需要联想到键盘密码中电脑键盘坐标密码,可以发现前几个数字第二个数字都是 1-3 范围内的,也验证了我们的猜测。于是

23-x

73-m

12-a

63-n

111-{

得到解:xman{hintisenough}