密码学第四周-创新互联
对称密码是指加密和解密都使用相同的密钥。
创新互联专注于朝阳网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供朝阳营销型网站建设,朝阳网站制作、朝阳网页设计、朝阳网站官网定制、小程序定制开发服务,打造朝阳网络公司原创品牌,更为您提供朝阳网站排名全网营销落地服务。博福特密码一种类似于维吉尼亚密码的替代密码。
属于对称加密,加密算法与解密算法相同。
加密:明文的第一个字母为D,则先在表格中找到第D列。 由于密钥的第一个字母为F,于是D列从上往下找到F。这一F对应的行号为C,因而C便是密文的第一个字母。以此类推可以得到密文。
解密:密文的第一个字母为b,则先在表格中找到第b行。由于密钥的第一个字母为t,于是b行从左往右找到t。这一t对应的列号为s,因而s便是明文的第一个字母。以此类推可以得到全部明文。
密码表如下:
from pycipher import Beaufort
print(Beaufort('hello').encipher('good luck'))
print(Beaufort('hello').decipher('BQXIDNCB'))
DESDES(分组加密算法):
先将原始数据切成64位的明文分组
密钥位64位,其中有效的密钥长度只有56位(分为八块每块长为八位,每隔八位设置一位为校验位,第8、16、24、32、40、48、56、64位是奇偶校验位)
分组后的明文组和56位的密钥按位替代或交换的方法得到密文组。
3DES3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称。它相当于是对每个数据块应用三次DES加密算法。
3DES加密过程为:C=Ek3(Dk2(Ek1§))
3DES解密过程为:P=Dk1(EK2(Dk3©))
AESAES(高级加密标准)基本算法,实现 AES 有几种模式
AES 有 5 种加密操作模式:
1. 电码本模式(Electronic Codebook Book (ECB)) 这种模式是将整个明文分成若干段相同的小段,然后对每一小段进行加密。不需要iv(偏移量)
2. 密码分组链接模式(Cipher Block Chaining (CBC)) 这种模式是先将明文切分成若干小段,然后每一小段与初始块或者上一段的密文段进行异或运算后,再与密钥进行加密。密钥字节长度可以是16位(AES-128)、24位(AES-192)、32位(AES-256),iv字节长度必须为16位,明文的字节长度必须为16字节的倍数,不足的后面填充0。
3. 计算器模式(Counter (CTR)) 在CTR模式中, 有一个自增的算子,这个算子用密钥加密之后的输出和明文异或的结果得到密文,相当于一次一密。
4. 密码反馈模式(Cipher FeedBack (CFB))
5. 输出反馈模式(Output FeedBack (OFB))
四方密码使用4个预先设置的5x5字母矩阵,每个矩阵包括25个字母。
左上和右下矩阵式是标准字母排序明文矩阵,左下和右上矩阵是打乱顺序的密钥矩阵。
整理明文,两个字母一组,分组不够时用’x’填充。
加密过程,分别在明文矩阵中找到’TH’,分别找到他们在右上矩阵和左下矩阵的交点字母’ES’
即明文。
base系列密码base16就是用16(2^4)个字符,对二进制数据进行编码的方式
用于编码的字符只有:1-9,A-F
base32就是用32(2^5)个字符,对二进制数据进行编码的方式
A-Z,2-7
base64)编码是用64(2^6)个字符,对二进制数据进行编码的方式
在base32的基础上,增加了"a-z,0,1,8,9,+,/“,以及特殊填充字符”="
base36 密文由36个字符组成,加密仅支持整数数字,解密仅支持字符串,不支持中文
A-Z,0-9
base58 不使用数字”0”,字母大写”O”,字母大写”I”,和字母小写”l”,以及”+”和”/”符号
base62 密文由62个字符组成
A-Z,a-z,0-9
base85
base91密文由91个字符组成
0-9,a-z,A-Z, !#$%&()*+,./:;<=>?@[]^_`{|}~”
base92
字符组成
A-Z,a-z,0-9
base85
base91密文由91个字符组成
0-9,a-z,A-Z, !#$%&()*+,./:;<=>?@[]^_`{|}~”
base92
base100 密文由Emoji表情组成
buuctf1.摩斯密码
找到一个在线网站解码
网上找到一个脚本,查字典破解
MORSE_CODE_DICT = { 'A': '.-', 'B': '-...', 'C': '-.-.', 'D': '-..', 'E': '.',
'F': '..-.', 'G': '--.', 'H': '....', 'I': '..', 'J': '.---', 'K': '-.-',
'L': '.-..', 'M': '--', 'N': '-.', 'O': '---', 'P': '.--.', 'Q': '--.-',
'R': '.-.', 'S': '...', 'T': '-', 'U': '..-', 'V': '...-', 'W': '.--',
'X': '-..-', 'Y': '-.--', 'Z': '--..',
'1': '.----', '2': '..---', '3': '...--', '4': '....-', '5': '.....', '6': '-....',
'7': '--...', '8': '---..', '9': '----.', '0': '-----',
', ': '--..--', '.': '.-.-.-', '?': '..--..', '/': '-..-.', '-': '-....-',
'(': '-.--.', ')': '-.--.-'
}
#解密
# 将字符串从摩斯解密为英文的函数
def decrypt(message):
# 在末尾添加额外空间以访问最后一个摩斯密码
message += ' '
decipher = ''
citext = ''
global i
for letter in message:
# 检查空间
if letter != ' ':
i = 0
# 在空格的情况下
citext += letter
# 在空间的情况下
else:
# 如果 i = 1 表示一个新字符
i += 1
# 如果 i = 2 表示一个新单词
if i == 2:
# 添加空格来分隔单词
decipher += ' '
else:
# 使用它们的值访问密钥(加密的反向)
decipher += list(MORSE_CODE_DICT.keys())[list(MORSE_CODE_DICT.values()).index(citext)]
citext = ''
return decipher
message = ".. .-.. --- ...- . -.-- --- ..-"
result = decrypt(message)
print(result)
2.MD5
md5将整个文件当做一个大文本信息,通过不可逆的字符串变换算法,产生一个唯一的MD5信息摘要。
使用在线网站解密
3.一眼就解密
base64
import base64
str='ZmxhZ3tUSEVfRkxBR19PRl9USElTX1NUUklOR30='
m = base64.b64decode(str.encode('utf-8')).decode('utf-8')
print(m)
得到flag
4.篱笆墙的影子
栅栏密码
5.rsarsa
已知p,q,e,c
n=p*q
p = 9648423029010515676590551740010426534945737639235739800643989352039852507298491399561035009163427050370107570733633350911691280297777160200625281665378483
q = 11874843837980297032092405848653656852760910154543380907650040190704283358909208578251063047732443992230647903887510065547947313543299303261986053486569407
e = 65537
c = 83208298995174604174773590298203639360540024871256126892889661345742403314929861939100492666605647316646576486526217457006376842280869728581726746401583705899941768214138742259689334840735633553053887641847651173776251820293087212885670180367406807406765923638973161375817392737747832762751690104423869019034
n =p*q
phi_n=(p-1)*(q-1)
d=gmpy2.invert(e,phi_n)
m=pow(c,d,n)
print(m)
print(libnum.n2s(int(m)))
6.url编码
http://www.jsons.cn/urlencode/
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
网页标题:密码学第四周-创新互联
新闻来源:http://ybzwz.com/article/dsdepp.html