密码学第四周-创新互联

密码学第四周 对称密码

对称密码是指加密和解密都使用相同的密钥。

创新互联专注于朝阳网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供朝阳营销型网站建设,朝阳网站制作、朝阳网页设计、朝阳网站官网定制、小程序定制开发服务,打造朝阳网络公司原创品牌,更为您提供朝阳网站排名全网营销落地服务。博福特密码

一种类似于维吉尼亚密码的替代密码。

属于对称加密,加密算法与解密算法相同。

加密:明文的第一个字母为D,则先在表格中找到第D列。 由于密钥的第一个字母为F,于是D列从上往下找到F。这一F对应的行号为C,因而C便是密文的第一个字母。以此类推可以得到密文。

解密:密文的第一个字母为b,则先在表格中找到第b行。由于密钥的第一个字母为t,于是b行从左往右找到t。这一t对应的列号为s,因而s便是明文的第一个字母。以此类推可以得到全部明文。

密码表如下:

img

from pycipher import Beaufort
print(Beaufort('hello').encipher('good luck'))
print(Beaufort('hello').decipher('BQXIDNCB'))
DES

DES(分组加密算法):

先将原始数据切成64位的明文分组

密钥位64位,其中有效的密钥长度只有56位(分为八块每块长为八位,每隔八位设置一位为校验位,第8、16、24、32、40、48、56、64位是奇偶校验位)

分组后的明文组和56位的密钥按位替代或交换的方法得到密文组。

3DES

3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称。它相当于是对每个数据块应用三次DES加密算法。

3DES加密过程为:C=Ek3(Dk2(Ek1§))

3DES解密过程为:P=Dk1(EK2(Dk3©))

AES

AES(高级加密标准)基本算法,实现 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表情组成

buuctf

1.摩斯密码
找到一个在线网站解码
在这里插入图片描述
网上找到一个脚本,查字典破解

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元起,快前往官网查看详情吧

网页标题:密码学第四周-创新互联
文章出自:https://www.cdcxhl.com/article38/dsdepp.html

成都网站建设公司_创新互联,为您提供网站营销定制网站标签优化手机网站建设用户体验全网营销推广

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站托管运营