自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(183)
  • 收藏
  • 关注

原创 crypto-RSA-常用解密代码块

已知n、e、c,基础解先分解n,在线分解:http://www.factordb.com/index.phpimport gmpy2from Crypto.Util.number import long_to_bytes e = 547223n = 17083941230213489700426636484487738282426471494607098847295335339638177583685457921198569105417734668692072727759139358207667

2021-09-09 17:45:30 4539

原创 《密码编码学与网络安全原理与实践》第十四章第十五章密钥管理和用户认证

由于证书是CA签发的,每一个用户都需要拥有一份CA的公钥来验证签名,该公钥必须用一种绝对安全的方式提供给每个用户,使得用户可以信任该证书。当A获得相关证书后,可以通过顺序展开证书路径获得B的公钥,用这个公钥,A可将加密消息送往B,如果A想得到B返回的加密消息或对发往B的消息签名,则B需要按照下述证书路径获得A的公钥:Z>Y>V>W>X>一旦B拥有了A 的证书,B即可确信用A的公钥加密的消息是安全的,不可能被窃取;任何通信方可验证证书是真实的;

2024-08-14 11:08:27 1036

原创 《密码编码学与网络安全原理与实践》第十一章、第十二章、第十三章 数据完整性算法

认证函数与保密函数的分离能提供结构上的灵活性(认证与保密可在网络协议的不同层次进行);f函数在每个输入消息块被Hash时执行一次,函数的输入是1600位的状态变量s,将s转换为由64位纵构成的5*5矩阵,然后函数对矩阵执行24圈操作,每一圈包括5个步骤,每个步骤通过置换或代换操作作对状态矩阵进行更新。如果算法使用伪随机函数(PRF)来产生诸如会话密码密钥之类的值,那么要求仅有PRF的使用者知道种子,如果该算法用于产生流密码的加密密钥流,那么种子的作用是仅为发送方和接收方知道的密钥。64]中的四分之一。

2024-08-13 15:09:42 824

原创 《密码编码学与网络安全原理与实践》第九章 第十章 公钥密码学与密钥管理

原则上不能说传统密码优于公钥密码,也不能说公钥密码优于传统密码公钥密码学仅限于用在密钥管理和签名这类应用中与密钥分配中心的会话过程既不比传统密码中的那些过程更简单,也不比之更有效动机:简化密钥分配和管理、实现签名等功能不对称性是公钥最为重要的性质,可以用来保证“真实”性,“不可否认”性非对称密钥:两个密钥:公钥和私钥,用来实现互补运算,即加密和解密,或者生成签名与验证签名;公钥证书:认证机构将用户的姓名和公钥绑定在一起,用户用自己的私钥对数字文件签名后,可以通过证书识别签名者,因为签名者是唯一拥有与证书上对

2024-08-09 11:17:49 1826

原创 《密码编码学与网络安全原理与实践》第八章伪随机数与流密码

伪随机数发生器PRNG,使用算法来生成随机数,算法是确定的,产生的序列并非统计随机的,但可以经受住随机性检测。取一个固定值称为种子作为输入,用一个确定的算法产生位输出序列,通过有反馈路径,由算法的部分结果反馈作为输入,而其他部分作为输出位。用1-256个字节(8-2048位)的可变长度密钥初始化一个256个字节的状态向量S,从始至终S包含从0-255所有的8位数,每产生一个k值,S中的元素个体就被重新置换一次。发生器的输出成为密钥流,密钥流和明文流的每一个字节进行按位异或运算,得到一个密文字节。

2024-08-07 17:14:52 1106

原创 《密码编码学与网络安全原理与实践》第四章第六章第七章 对称加密体制

对称加密包括分组密码和流密码分组密码:信息被分块(block)进行加密和解密,连续的明文元素使用相同的密钥K来加密,密文C=c1c2…=EK(m1)EK(m2)…C =c_1c_2…=E_K(m_1)E_K(m_2)…C=c1​c2​…=EK​(m1​)EK​(m2​)…。分组密码可以看作是一个字符长度很大代换——如64比特或更多。大部分的分组对称密码都基于Feistel结构。可逆变换是必要条件。设计”安全”的密码算法不难,只要使用足够多的轮数就可以,但降低速度,因此所有问题就是平衡问题。流密码:流密码中按

2024-08-06 17:12:28 1634

原创 《密码编码学与网络安全原理与实践》第三章 传统加密技术

代换置换代换技术(Substitution)定义:将明文字母替换为其他字母、数字或者符号的方法;如果明文被看作二进制比特串,则代换是用密文比特串来替代明文比特串。例如:Caesar密码、单表代换密码、Playfair密码、Hill密码、多表代换密码与一次一密换位技术/置换技术(Transposition):对明文字母的某种置换取得一种类型完全不同的映射。例如:栅栏技术等转轮机:如果将输入输出引脚当作字母表中的一个字母,那么一个圆筒就定义了一个单表替换。隐写术:字符标记、不可见墨水、针刺、打字机的色带校正。

2024-08-05 15:15:59 1141

原创 密码模块学习笔记(GMT0039)

GMT 0039-2015《密码模块安全检测要求》

2024-08-01 17:34:38 468

原创 密码模块学习笔记(GMT0028)

GMT 0028-2014《密码模块安全技术要求》

2024-08-01 10:40:53 1114

原创 《密码编码学与网络安全原理与实践》第二章第五章数学基础

《密码编码学与网络安全原理与实践》第二章数论基础、第五章有限域

2024-07-30 15:40:20 316

原创 《商用密码应用于安全性评估》第一章密码基础知识

密码是指使用特定变换对信息等进行加密保护安全认证的产品、技术和服务。在我国,密码分为核心密码普通密码和商用密码,其中商用密码用于保护不属于国家秘密的信息。密码技术包括密码编码、实现、协议、安全防护、分析破译,以及密钥产生、分发、传递、使用、销毁等技术。典型的密码技术包括密码算法密钥管理和密码协议。密码算法是实现密码对信息进行“明”“密”变换、产生认证“标签”的一种特定规则。加密算法实现从明文到密文的变换;解密算法实现从密文到明文的变换;数字签名算法实现类似于手写签名的功能;杂凑算法。

2024-07-26 14:38:42 497

原创 基于格密码的LWE问题

LWE问题, Learning With Errors,带有安全性证明的第一个版本是由Oded Regev 在2005年提出,Kawachi等给出了效率的改进,接着一些效率方面非常重要的改进由Peikert等提出。

2023-04-22 22:09:58 2865 1

原创 有关白盒加密

白盒黑盒灰盒白盒密码,白盒技术,白盒加密,白盒算法白盒思想,白盒构造,白盒发展

2023-03-02 21:50:13 1273

原创 web安全基础--rce漏洞

课程:https://www.bilibili.com/video/BV1VA411u7Tg?p=11rce漏洞RCE全程Remote Code Execution远程代码执行什么会导致rce服务器上有木马脆弱服务未授权通过数据库写木马文件上传/文件包含危险函数(危险功能)命令执行反序列化危险函数evalassertsystemshell_execexecfile_put_contents命令执行像操作 Windows 一样操作 Linux基本操作:ls cat cd

2023-03-02 15:40:44 578

原创 web安全基础--SSRF漏洞

SSRF定义与成因SSRF(Server-Side Request Forgery:服务器请求伪造)是一种由攻击者构造形成,由服务器段发起请求的一个安全漏洞。一般情况下,SSRF攻击目标是从外网无法访问的内部系统。(正是因为它是由服务器端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)SSRF漏洞形成的原因大都是由于服务器端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等具体代码<?php if(i

2023-03-02 15:40:11 317

原创 信息收集工具使用详解

信息收集实验报告

2023-03-02 15:34:43 788

原创 智能合约学习笔记——自毁函数攻击复现

智能合约学习笔记--自毁函数攻击复现自毁函数是由以太坊虚拟机 EVM 提供的一项功能,用于销毁区块链上部署的智能合约。当合约执行自毁操作时,合约账户上剩余的以太币会发送给指定的目标,然后其存储和代码从以太坊状态中被移除。然而,自毁函数也是一把双刃剑,一方面它可以使开发人员能够从以太坊中删除智能合约并在紧急情况下转移以太币。另一方面自毁函数也可能成为攻击者的利用工具,攻击者可以利用该函数向目标合约“强制转账”从而影响目标合约的正常功能

2022-11-04 22:05:54 1071

原创 智能合约学习笔记——solidity语法(三)

接口interface接口使用返回值if语句规定合约只能指定用户调用onlyOwner函数修饰符Gas - 驱动以太坊DApps的能源solidity中的时间单位带参数的函数修饰符‘view'函数不花gassolidity中存储非常昂贵for循环

2022-11-02 21:39:46 592

原创 2022祥云杯crypto部分

2022祥云杯crypto部分题目及wp详解题目包括:little little fermattracingfillDLPcommon rsaleak

2022-11-02 20:22:37 1718 1

原创 智能合约学习笔记——僵尸工厂(一)

根据[CryptoZombies](https://cryptozombies.io/zh)学solidity搭建僵尸工厂第一部分的lesson1和lesson2部分的代码

2022-10-17 09:35:05 2697

原创 智能合约学习笔记--随机数攻击复现

本篇复现了使用区块变量生成随机数的幸运随机数游戏合约中存在的随机数漏洞以及攻击方法,包含代码及部署在智能合约中随机数经常被用到,但是我们知道,这些生成的随机数都是伪随机数,当生成的随机数不是足够安全的时候就会产生漏洞。随机数攻击,就是针对智能合约的随机数生成算法进行攻击,预测智能合约的随机数。

2022-10-13 21:31:56 2959

原创 智能合约学习笔记——solidit语法(二)

事件 地址(账户)address 映射mapping msg.sender require 继承inheritance 引入import Storage与Memory internal 和 external

2022-10-10 22:05:46 330

原创 智能合约学习笔记——solidity语法(一)

solidity语法Remix IDE简单使用solidity数据类型solidity运算符简单具体solidity修饰符

2022-10-09 10:38:34 2408

原创 智能合约学习(持续更新中)

什么是智能合约智能合约的特点在线学习资源整合智能合约学习笔记智能合约(Smart Contract)是上世纪90年代由密码学家尼克·萨博提出的理念,由于当时缺乏可信的执行环境,智能合约没有被应用和发展,直到以太坊的出现,才让智能合约得以“复活”。智能合约是以太坊应用程序的基石。 它们是存储在区块链上的计算机程序,让我们能够将传统合约转换成对应的数字化合约。

2022-10-09 10:37:01 1573

原创 威尔逊定理

用威尔逊解rsa题目详细过程,另附两道例题

2022-09-16 22:44:15 2208 5

原创 FTP服务器搭建并用wireshark抓包

题目在windows上搭建一个FTP应用,从客户端上传两个文件,并用wireshark抓包分析控制连接和数据连接的过程。FTPFTP— —协议中的活化石(从1971)文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传

2022-05-22 12:11:15 12007 1

原创 unusualrsa2

# ********************# @Author: Lazzaro# ********************from Crypto.Util.number import getPrime,bytes_to_long,long_to_bytesfrom functools import reducefrom secret import flag, x, ym = bytes_to_long(flag)p = getPrime(1024)q = getPrime(1024)

2022-05-19 16:44:40 336

原创 多项式RSA

最近做到的一道题,在ctfshow# ********************# @Author: Lazzaro# ********************p: 2470567871N: 1932231392*x^255 + 1432733708*x^254 + 1270867914*x^253 + 1573324635*x^252 + 2378103997*x^251 + 820889786*x^250 + 762279735*x^249 + 1378353578*x^248 + 12

2022-05-18 22:16:40 745 1

原创 [SUCTF 2019]EasySQL

burp suite抓包经过简单几个尝试,可以判断应该是布尔盲注,还是字符型的回显会判断是0还是1,也就是true或是false我通过类似(ascii(substr(database(),1,1))<1)的句子判断出了database()是ctf但是没什么用,因为下一步爆表名的时候发现要么是无回显,要么是Nonono搜了大佬们的解题参考1参考2了解到可以用fuzz测试出被禁止使用的字符关于fuzz现在还不熟悉,这里待补充然后会发现想order、if、sleep、informatio

2022-05-05 21:43:42 1866

原创 web安全基础--文件上传笔记

课程: https://www.bilibili.com/video/BV1VA411u7Tg?p=10文件上传一些web应用程序允许上次图片、视频、头像和许多其他类型的文件到服务器中。文件上传漏洞就是利用服务器代码对文件上传路径变量过滤不严格将可执行的文件上传到一个服务器中,再通过URL去访问以执行恶意代码举例危险代码一句话木马<?php eval($_POST[0]);?><?php phpinfo();?>jsp木马<%Runtime.getRuntim

2022-05-05 18:11:01 1043

原创 web安全基础--一句话木马笔记

课程:https://www.bilibili.com/video/BV1VA411u7Tg?p=7一句话木马可执行脚本文件可以是很多种语言php、jsp等等需要满足三个条件:木马能成功上传到服务器、我们知道木马上传到服务器的路径、上传的木马能被解析执行。例如<?php @eval($_POST['cmd']);?>@是不报错的意思以post方法获取cmd变量eval()将括号里的按php代码执行例如,传入cmd=phpinfo();,那么最后执行的就是<?php @

2022-05-04 20:28:56 1073

原创 web安全基础--SQL注入笔记

课程学习:https://www.bilibili.com/video/BV1VA411u7Tg?p=9数据库基础操作登录:C:\WINDOWS\system32>mysql -uroot -p查看库名show databases创建数据库create database 库名删除数据库drop database 库名使用(切换)数据库use 库名建立表create table 表名('id' 数据类型,...);查看表的结构desc 表名;插入Insert into 表名 valu

2022-05-03 16:40:01 1216

原创 2022-04-22

rip下载得到pwn1文件,提示Ubuntu18我这是Ubuntu16.04先查看文件额,啥也看不出来还是IDA打开吧main函数点进s,啥也没发现搜了一下题解,发现这道题考点是栈溢出然后这里s应该是15字节使用pwn库来打开from pwn import *p = remote('node4.buuoj.cn', 25857)payload = b'a' * 23 + p64(0x401186 + 1)p.sendline(payload)p.interactive(

2022-04-22 21:30:46 246

原创 2022-04-18

[BSidesCF 2019]RsaOSmachine@machine-virtual-machine:~$ nc node4.buuoj.cn 25349 ___ ___ ___ ___ ___ /\ \ /\ \ /\ \ /\ \ /\ \ /::\ \ /::\ \ /

2022-04-18 22:14:53 370

原创 离散对数问题笔记

离散对数问题(深入浅出密码学笔记)定义基于Zp∗\mathbb{Z}_p^*Zp∗​的DLPDLPDLP:给定一个阶为p-1的有限循环群Zp∗\mathbb{Z}_p^*Zp∗​,一个本元原α∈Zp∗\alpha \in \mathbb{Z}_p^*α∈Zp∗​和另一个元素β∈Zp∗\beta \in \mathbb{Z}_p^*β∈Zp∗​。DLP是确定满足一下条件的整数xxx(其中1≤x≤p−11 \leq x \leq p-11≤x≤p−1)的问题:αx≡βmod  p\alpha^x \e

2022-04-17 11:18:58 622

原创 2022-04-10

task#!/usr/bin/env python3.9# -*- coding: utf-8 -*-import gmpy2from Crypto.Util.number import getPrime, isPrime, bytes_to_longfrom secret import FLAG, E1, E2, P, Q1, Q2def next_prime(num: int) -> int: num = num + 2 if num % 2 else num + 1

2022-04-10 21:07:10 2242 1

原创 2022-04-05

[羊城杯 2020]Simplefrom Crypto.Util.number import *from Crypto.Cipher import DESimport gmpy2from secret import flagimport randomkey = "abcdefgh"def des_encrypt(m): des = DES.new(key, DES.MODE_ECB) res = des.encrypt(m) return resdef gen_

2022-04-05 18:22:22 852

原创 2022-03-31 一些后续

small weiner来源:dvctf2022Someone I hate sent me an insulting message using RSA. Can you retrieve his private key?m = 0x596f7520686176652073756368206120736d616c6c207765696e65722e2049204841544520594f5521212121N = 0x26553fbb7e4bd5bd48868a25f24d9cc5975aa859

2022-03-31 21:50:59 1088

原创 SM2算法

简述SM2是非对称加密算法它是基于椭圆曲线密码的公钥密码算法标准,其秘钥长度256bit,包含数字签名、密钥交换和公钥加密,用于替换RSA/DH/ECDSA/ECDH等国际算法。可以满足电子认证服务系统等应用需求,由国家密码管理局于2010年12月17号发布。SM2采用的是ECC 256位的一种,其安全强度比RSA 2048位高,且运算速度快于RSA。随着密码技术和计算技术的发展,目前常用的1024位RSA算法面临严重的安全威胁,我们国家密码管理部门经过研究,决定采用SM2椭圆曲线算法替换RSA算法。

2022-03-23 21:31:56 18491

原创 2022-03-22

easy_ya来源:2022红明谷杯from Crypto.Util.number import *import osfrom flag import flagdef gen(): e = 3 while True: try: p = getPrime(512) q = getPrime(512) n = p*q phi = (p-1)*(q-1)

2022-03-23 19:08:14 2727

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除