CISCN2023-Crypto

基于国密SM2算法的密钥分发

非预期,直接search能找到明文

curl -d "name=ha&school=hznu&phone=110" http://123.56.244.196:30817/api/login

curl -d "id=984aeb58-a758-43f5-b321-acdb7cbd534e&publicKey=B9C9A6E04E9C91F7BA880429273747D7EF5DDEB0BB2FF6317EB00BEF331A83081A6994B8993F3F5D6EADDDB81872266C87C018FB4162F5AF347B483E24620207" http://123.56.244.196:30817/api/allkey

curl -d "id=984aeb58-a758-43f5-b321-acdb7cbd534e" http://123.56.244.196:30817/api/search

curl -d "id=984aeb58-a758-43f5-b321-acdb7cbd534e&quantumString=8eaa7070bcf3d39d7b39db030ea81165" http://123.56.244.196:30817/api/check

在这里插入图片描述

可信度量

非预期,之前一次国赛也是差不多,直接查找flag

因为没有权限不能直接grep,提示player.sh是通过root运行,修改player.sh

grep -ra "flag" /

运行player.sh

在这里插入图片描述

Sign_in_passwd

base64变表,表通过url编码解密
在这里插入图片描述
在这里插入图片描述

BB84

先把表格里的数据提出来,进行纠错

如果EPC1是1或2,则表示APD1是1或ADP2是1,且ADP只有一个为1

同理如果EPC1是3或4,则表示APD3是1或ADP4是1,且ADP只有一个为1

上述如果成功,则EPC1是1或3则密钥赋值0,2或4则赋值1

得到密钥串,通过线性同余方程( x_n = (A * x_n-1 + B) % M)得到索引串

M为密钥串长度,A、B、x0已知

得到正确密钥之后跟密文异或得到flag

import binascii

from Crypto.PublicKey import RSA
from gmpy2 import gcd

from math import *
from Crypto.Util.number import *
EPC1=[]
ADP1=[]
ADP2=[]
ADP3=[]
ADP4=[]
strr = '0b'
for i in range(len(EPC1)):
    if EPC1[i] == 1:
        if (APD1[i] == 1 and APD2[i] == 0 and APD3[i] == 0 and APD4[i] == 0) or (APD1[i] == 0 and APD2[i] == 1 and APD3[i] == 0 and APD4[i] == 0):
            strr += '0'
    elif EPC1[i] == 2:
        if (APD1[i] == 0 and APD2[i] == 1 and APD3[i] == 0 and APD4[i] == 0) or (APD1[i] == 1 and APD2[i] == 0 and APD3[i] == 0 and APD4[i] == 0):
            strr += '1'
    elif EPC1[i] == 3:
        if (APD1[i] == 0 and APD2[i] == 0 and APD3[i] == 1 and APD4[i] == 0) or (APD1[i] == 0 and APD2[i] == 0 and APD3[i] == 0 and APD4[i] == 1):
            strr += '0'
    elif EPC1[i] == 4:
        if (APD1[i] == 0 and APD2[i] == 0 and APD3[i] == 0 and APD4[i] == 1) or (APD1[i] == 0 and APD2[i] == 0 and APD3[i] == 1 and APD4[i] == 0):
            strr += '1'
strr = strr[2:]
print(strr)
print(len(strr))
envc = 0xD9F7E0F737D4BF641E83D35D201457272ECB952D31F660E8EA9B5A326C55AF011686ADB8F478D1BD3852
env = str(bin(envc))[2:]
A = 1709
B = 2003

M = len(strr)
x0 = 17
c = strr[x0]
flag = '0b'
for i in range(336):
    f = (A * x0 + B) % M
    x0 = f
    c += strr[f]

for i in range(336):
    flag += str((int(c[i], 2) ^ int(env[i], 2)) % 2)
print(long_to_bytes(int(flag, 2)))


badkey1

再来补充~

e = 65537

while True:
    p = getPrime(512)
    m = inverse(e, p - 1)
    t = (e * m *p - 1) // (p - 1)  # k(q - 1)
    for k in range(1, e + 1):
        if t % k == 0:
            q = t // k + 1
            if isPrime(q) and q.bit_length() == 512:
                print(p, q)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
思科模拟器(Cisco Packet Tracer)是一款网络模拟软件,它可以模拟真实的网络环境,包括各种网络设备、协议、拓扑结构等,并支持进行网络配置和测试。下面是思科模拟器网络安全配置的步骤: 1. 设置设备密码:在思科模拟器中,可以通过“enable secret”命令设置设备密码。例如,在路由器上设置密码为“cisco”,可以输入以下命令: Router>enable Router#configure terminal Router(config)#enable secret cisco Router(config)#exit 2. 配置端口安全:在思科模拟器中,可以使用“port security”命令来配置端口安全,限制连接到端口的MAC地址数量。例如,在交换机上配置端口安全,限制连接到端口的MAC地址数量为2,可以输入以下命令: Switch>enable Switch#configure terminal Switch(config)#interface fa0/1 Switch(config-if)#switchport mode access Switch(config-if)#switchport port-security Switch(config-if)#switchport port-security maximum 2 Switch(config-if)#switchport port-security violation restrict Switch(config-if)#exit 3. 配置ACL:在思科模拟器中,可以使用ACL(访问控制列表)来限制网络中的流量。例如,在路由器上配置ACL,禁止IP地址为192.168.1.2的主机访问10.0.0.0/8网络,可以输入以下命令: Router>enable Router#configure terminal Router(config)#access-list 1 deny host 192.168.1.2 Router(config)#access-list 1 permit any Router(config)#interface fa0/0 Router(config-if)#ip access-group 1 in Router(config-if)#exit 4. 配置VPN:在思科模拟器中,可以使用VPN(虚拟专用网络)来实现安全的远程访问。例如,在路由器上配置VPN,可以输入以下命令: Router>enable Router#configure terminal Router(config)#crypto isakmp policy 10 Router(config-isakmp)#authentication pre-share Router(config-isakmp)#encryption aes Router(config-isakmp)#group 2 Router(config-isakmp)#exit Router(config)#crypto isakmp key cisco123 address 10.0.0.2 Router(config)#crypto ipsec transform-set myset esp-aes esp-sha-hmac Router(config)#access-list 101 permit ip 192.168.1.0 0.0.0.255 10.0.0.0 0.255.255.255 Router(config)#crypto map mymap 10 ipsec-isakmp Router(config-crypto-map)#set peer 10.0.0.2 Router(config-crypto-map)#set transform-set myset Router(config-crypto-map)#match address 101 Router(config-crypto-map)#exit Router(config)#interface fa0/0 Router(config-if)#crypto map mymap Router(config-if)#exit 以上是思科模拟器网络安全配置的一些基本步骤,具体的配置方式可能因不同的网络环境和需求而有所不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值