CTF中有一道题是关于维吉利亚密码加密的,维吉利亚密码实际上就是关于偏移的密码,仔细找一找它的规律就能写出来加密的公式,其实就是一个数学推导公式,下面的例子是以:
key是COMPUTER
明文是BLOCKCIPHERDESIGNPRINCIPLE 
加密的,加密的结果为:
DZAREVMGJSDSYLMXPDDXHVMGNS

脚本如下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
from __future__ import print_function
l1='COMPUTER'
l2='BLOCKCIPHERDESIGNPRINCIPLE'
l1_len = len(l1)
for i in range(len(l2)):
    index = i%8
    stex = ord(l2[i])+ord(l1[index])-65
    if(stex>90):
        stex-=26
    print (chr(stex),end='')
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐