- 博客(28)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 LPN-based Attacks in the White-box Setting论文阅读
本篇论文把白盒密码抽象成了LPN问题,进而套用解LPN问题的方法,提出了一种新的攻击白盒密码实现的手段,在某些情况下比DCA和LDA的高阶形式效果要好。
2024-01-22 15:50:15
565
1
原创 Threshold Signature in Multiverse论文阅读
域加权门限访问结构输入安全参数κ,输出(pk,sk)UGenon输入(U,Λ)和私钥sk,输出消息的采样ρUGenoff输入(U,Λ)和所有参与方的ρ,输出验证密钥VK和公共参数pp输入sk,m,输出部分签名σ输入(U,Λ),pp,所有参与方的σ’,输出聚合签名σ输入VK,消息m和聚合签名σ,输出1/0其他的为公式化定义和正确性证明、安全性证明等内容,不再赘述。
2023-10-24 09:21:07
441
原创 2022山东大学软件学院网络空间安全期末回忆版
刚刚考完,热乎的回忆版。十道大题,课上讲了11章,除去第一章外,一章一个题。回忆版,想到那个就写的哪个,题号可能有误一、SYN cookies算法原理二、解释DMZ的含义及作用三、解释IPSec协议隧道模式和传输模式的含义以及各自的应用场景四、画图设计一个信息传输方案,满足数据的真实性和完整性五、解释误用检测和异常检测的含义以及优缺点六、解释SQL注入和csrf攻击的含义,并各自给出一种防御手段七、病毒(狭义)的模块以及各自的作用八、示例说明缓冲溢出攻击九、画图说明IP flux和Domain flux
2022-06-13 16:12:52
714
4
原创 山东大学软件学院2022项目实训——(七)Unicode编码解码
统一码(Unicode),也叫万国码、单一码,是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。在这种语言环境下,不会再有语言的编码冲突,在同屏下,可以显示任何语言的内容,这就是Unicode的最大好处。就是将世界上所有的文字用2个字节统一进行编码。那样,像这样统一编码,2个字节就已经足够容纳世界上所有的语言的大部分文字了。Unicode
2022-06-03 10:55:30
241
原创 山东大学软件学院2022项目实训——(六)URL解码编码
当 URL 路径或者查询参数中,带有中文或者特殊字符的时候,就需要对 URL 进行编码(采用十六进制编码格式)。URL 编码的原则是使用安全字符去表示那些不安全的字符。(安全字符,指的是没有特殊用途或者特殊意义的字符。)URL 中规定了一些具有特殊意义的字符,常被用来分隔两个不同的 URL 组件,这些字符被称为保留字符。例如:冒号:用于分隔协议和主机组件,斜杠用于分隔主机和路径?:用于分隔路径和查询参数等。=用于表示查询参数中的键值对。&符号用于分隔查询多个键值对。其余常用的保留字符有:/ . …
2022-06-03 10:18:48
337
原创 山东大学软件学院项目实训——(五)base64编码解码工具
Base64是一种编码方式,这个术语最初是在“MIME内容传输编码规范”中提出的。Base64不是一种加密算法,它实际上是一种“二进制转换到文本”的编码方式,它能够将任意二进制数据转换为ASCII字符串的形式,以便在只支持文本的环境中也能够顺利地传输二进制数据。(1)base64编码:把二进制数据转为字符(2)base64解码:把字符转为二进制数据上面就是Base64的索引表,字符选用了"A-Z、a-z、0-9、+、/" 64个可打印字符,这是标准的Base64协议规定。在日常使用中我们还会看到“=”或
2022-06-03 10:01:09
588
原创 山东大学软件学院2022项目实训——(四)SQL注入的学习
目录(一)什么是SQL注入(二)SQL注入的类型(三)SQL注入的危害(四)SQL注入的防护1、分级管理2、参数传值3、基础过滤与二次过滤4、使用安全参数5、漏洞扫描6、多层验证7、数据库信息加密(一)什么是SQL注入SQL是操作数据库数据的结构化查询语言,网页的应用数据和后台数据库中的数据进行交互时会采用SQL。而SQL注入是将Web页面的原URL、表单域或数据包输入的参数,修改拼接成SQL语句,传递给Web服务器,进而传给数据库服务器以执行数据库命令。如Web应用程序的开发人员对用户所输入的数据或c
2022-04-22 21:34:17
2424
原创 山东大学软件学院2022项目实训——(二)springboot项目的创建
目录Springboot的特性Springboot项目的创建:第一种方式:idea中直接创建。第二种方式:官网创建小结下面我们进行springboot的介绍以及创建Springboot的特性Springboot的特性:(1)可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;(2)内嵌Tomcat或Jetty等Servlet容器;(3)提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;(4)尽可能自动配置S
2022-04-19 15:58:19
924
原创 山东大学软件学院2022项目实训——(三)需求分析
功能1、 用户:AdminSystemuser:student、teacher共同的功能:账户的注册、密码的更改、修改头像、Admin功能:能查看每个用户的信息,可以对老师和学生进行增删改查的操作。可以通过上传文件的方式进行题目的更新。对论坛上的文章进行审核,可以删除不合规文章Student功能:登录选择题目进行解答,能查看writeup提示可以在论坛模块进行发帖讨论,发表做题感想之类的文章接受来自班级内老师的实验公告可以使用文件加密工具进行文本文件的加密Teacher功能:登录
2022-04-19 14:37:47
2165
2
原创 山东大学软件学院2022项目实训——(一)vue环境的搭建
环境的配置:首先需要需要下载npm包管理器,在官网即可下载:http://nodejs.cn/download/各种帖子中有相关的下载安装教程,不再赘述。下载安装后使用cmd控制台,输入npm -v和node -v命令查看版本,检验安装是否成功。官网上有相关vue的安装教程,使用npm,使用npm install -g @vue/cli命令,即可安装vue。官网网址:https://cn.vuejs.org/index.html在合适位置创建一个文件夹,在文件夹内打开cmd。使用命令vue
2022-04-19 14:32:25
1183
原创 寒假实习(二)
标题实体类的属性命名问题DAO层调用xml文件的问题最近开始上手参与一个已经搭建起来的项目。新增需求,需要从下至上添加代码。即model,dao,xml,service,serviceimpl,controller层都需要添加一个新的板块。此次想要记录的主要集中在实体类和dao层与xml文件的调用过程中发现的一些问题以及解决办法。实体类的属性命名问题由于数据库中的属性都是大写的,中间还带有_,刚开始写的时候直接把数据库中的属性名照着抄了下来,然后写get、set方法,但是发现有报错。问题在于实体类
2022-02-15 16:21:25
568
原创 寒假实习(一)——神通数据库下多数据源问题
这里写目录标题建立项目的整体框架结构这几层的关系各文件源码一、 application.yml二、StudentMapper.xml三、StudentDao四、StudentService与StudentServiceImpl五、StudentController六、DataSourceConfig1理解与感悟一、定位数据源二、config文件的复用三、各种annotation四、小结建立项目的整体框架结构dao, service, controller, model, config(用来手动配置数据库
2022-01-17 18:27:58
626
1
原创 A Blockchain-based Multi-domain Authentication Scheme for Conditional Privacy Preserving in车联网 论文阅读
目录名词解释前面的话问题解决challenge基于区块链的多域认证框架各个单位的作用具体的步骤一、系统初始化二、化名服务的多方合作三、消息的签名和验证四、快速有效的撤回安全分析:性能分析:结论:名词解释Vehicular Ad-hoc Network:车用自组织网络RSU:路测单元、速率传感装置TA:可信中心MA:misbehavior authorityTCC:交通管制中心BSM:基本安全信息BGS:区块链网关服务器V2R:vehicle to roadV2V:vehicle to v
2022-01-14 18:18:02
14869
3
原创 山东大学软件工程应用与实践——GMSSL开源库(十三)——总结
2021SC@SDUSC目录关于密码关于OPENSSL\GMSSL关于自己写了这么多篇文章,也该最后做个总结了。这学期无论是课程也好,写这些文章也好,对密码、对openssl、对gmssl都有了相应的一定的认识。作为软件工程应用与实践这门课的最后一篇文章,我将总结一下我在这学期的所学、所理解、所感悟。关于密码有幸认识一位公司里的前辈领导,他曾经问过我:“能用一句话概括密码吗?”我当时想了很久,感觉并没有能得到一个比较合适的答案。最后前辈告诉了我他对于密码的理解,即“让正确的的人看见正确的事”。回去
2021-11-29 15:50:27
3936
原创 山东大学软件工程应用与实践——GMSSL开源库(十二)——浅尝SM3
2021SC@SDUSC标题先介绍一下HASH吧SM3算法大致过程GMSSL中SM3算法的实现小结先介绍一下HASH吧Hash,一般翻译做散列、杂凑,或音译为哈希,是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。(来自百度百科)哈希函数由于其
2021-11-26 11:07:02
4390
原创 山东大学软件工程应用与实践——GMSSL开源库(十一)——重要的大素数
2021SC@SDUSC目录大素数产生的思想生成大素数的代码实现小结大素数产生的思想在所有的密码算法中,甚至比大整数还要重要的就是大素数。在经典RSA算法中大素数起着至关重要的作用、SM9算法中所用到的有限域问题、数学方面的难解问题等,大都依托于素数特别是大素数,所以大素数的产生、验证、计算等都是密码学主要关注的问题,特别是在程序中代码的快速实现。大素数的第一个特征就是“大”!首先如何生成“大数”,也就是我上一篇提到的big number,就是一个非常值得研究的问题。在密码学中,为了保证安全性,这
2021-11-18 15:36:55
637
原创 山东大学软件工程应用与实践——GMSSL开源库(十)——重要的大整数
2021SC@SDUSC文章标题BIGNUM的结构大整数的加减法(绝对值加减)绝对值加减带符号加减大整数的乘法经典乘法递归和comba乘法小结无论是SM2、SM9等国密算法还是以RSA为代表的国际标准算法或者任何其他密码算法,对于大整数都有一定的要求,例如RSA中公钥的生成,需要用到大素数的乘法模幂等运算。而像1024位这种大整数的运算,肯定不能用普通的整数的加减乘除运算方法,一个是int类型的变量不能容纳这么长的数,另一个是考虑到计算机的计算效率问题。既能实现大整数“big number”加减乘除乘方
2021-11-15 20:14:49
812
原创 山东大学2019级认知实习
大佬做讲座的时候简要记录的笔记还有微软,UNITY,华为等大佬公司来做的讲座,笔记没有做的很详细,不再上传。笔记内容融合了大佬的讲座和少量本人的理解,若有错误,欢迎批评指正。...
2021-11-02 08:15:28
2795
原创 山东大学软件工程应用与实践——GMSSL开源库(九)——SM9密钥封装与公钥加密的源代码分析
2021SC@SDUSC文章目录int SM9_wrap_key(密钥的封装)int SM9_unwrap_key(密钥的解封)int SM9_encrypt(公钥加密算法)int SM9_decrypt(解密算法)小结为了便于理解,在把流程图再次贴在每一个函数标题下。int SM9_wrap_key(密钥的封装)参数定义:int ret = 0; EC_GROUP *group = NULL; EC_POINT *Ppube = NULL; EC_POINT *C = NULL; E
2021-10-27 16:58:43
1889
原创 山东大学软件工程应用与实践——GMSSL开源库(八)——SM9密钥封装机制与公钥加密算法
2021SC@SDUSC文章目录概念符合及辅助算法密钥封装与公钥加密的算法流程密钥封装算法密钥解封算法密钥解封算法的正确性证明公钥加密算法解密算法小结概念密钥封装操作模式是NIST制定的最新的一类分组密码工作模式。密钥封装模式使用AES或三种DES作为底层加密算法。密钥封装的目的是为通信双方安全地交换对称密钥,而通信双方事先已共享有一组称为密码加密密钥的对称密钥。通常一个协议需要调用不同层次的密钥,其中低级密钥使用频率高,为了抵抗攻击需要频繁更换。而高级密钥使用频率低,受到密码攻击的威胁相对较少。
2021-10-25 20:24:51
3626
1
原创 山东大学软件工程应用与实践——GMSSL开源库(七)——SM9密钥交换的源代码分析
2021SC@SDUSC文章目录int SM9_generate_key_exchangeSM9_compute_share_key_Aint SM9_compute_share_key_B小结把密钥交换流程图重新放到这里,供下文代码分析时更好理解。以下代码在\GmSSL-master\crypto\sm9\sm9_exch.c中int SM9_generate_key_exchange进行密钥交换前的一系列准备工作1、 生成[1,n-1]的随机数rdo { if (!BN_rand_
2021-10-18 17:18:29
1360
2
原创 山东大学软件工程应用与实践——GMSSL开源库(六)——SM9密钥交换协议
2021SC@SDUSC文章目录基本概念符号及辅助算法SM9密钥交换协议基本概念1976年,Diffie和Hellman在其题为《密码学的新方向》的论文中首次给出了公钥密码学的定义,并提出了Diffie-Hellman密钥交换算法。该算法解决了对称密码体制中的密钥分发问题,使得通信双方可以通过公开信道安全地交换共享密钥。使用SM9通信的双方通过对方的标识和自身的私钥,经过两次或者可选的三次信息传递过程,计算获取一个由双方共同决定的共享秘密密钥。该密钥可以作为对称密码算法的会话密钥,其中可选步骤用来实
2021-10-18 11:23:10
1710
1
原创 山东大学软件工程应用与实践——GMSSL开源库(五)——SM9密钥的生成
2021SC@SDUSC目录前言源文件中函数的分析SM9_hash1 *SM9_MASTER_KEY_extract_key*check if mastercheck hash1 and set hash1 md **if private**check schemeSM9_extract_public_key与SM9_extract_private_keySM9PrivateKey_get_public_key小结前言由前文可知,SM9算法的数字签名的生成与密钥的生成密不可分,在SM9_SignFin
2021-10-13 14:59:12
1984
2
原创 山东大学软件工程应用与实践——GMSSL开源库(四)——SM9数字签名算法及验证的源代码分析
2021SC@SDUSC一、引言上一篇文章主要分析了SM9的数字签名算法和相对应的签名验证算法,本篇将结合GMSSL密码库的源代码,进行进一步的相关代码分析。二、密钥的生成数字签名与签名验证相关代码1、判定函数2、签名的初始化函数 int SM9_SignInit(EVP_MD_CTX *ctx, cons
2021-10-11 10:59:20
4348
1
原创 山东大学软件工程应用与实践——GMSSL开源库(三)——SM9数字签名算法及验证
2021SC@SDUSC文章目录符号及辅助算法源代码用户A私钥的生成过程签名主公钥的生成数字签名的生成签名的认证总结符号及辅助算法下面对在SM9算法中用到的符号及函数进行了声明源代码在源程序\GmSSL-master\crypto\sm9\sm9_lcl.h中,找到了针对这些全局变量的定义:私钥提取算法类型:所用到的椭圆曲线类型:椭圆曲线上的双线性对类型(即eid):不同的嵌入度:定义最大明密文长度:源文件中还有其他函数及变量声明,在此不一一赘述。用户A私钥的生成过程
2021-10-08 10:59:02
4608
原创 山东大学软件工程应用与实践——GMSSL开源库(二)——浅尝SM9
2021SC@SDUSC概述为了降低公开密钥系统中密钥和证书管理的复杂性,以色列科学家、RSA算法发明人之一Adi Shamir在1984年提出了标识密码(Identity-Based Cryptography)的理念。标识密码将用户的标识(如邮件地址、手机号码、QQ号码等)作为公钥,省略了交换数字证书和公钥过程,使得安全系统变得易于部署和管理,非常适合端对端离线安全通讯、云端数据加密、基于属性加密、基于策略加密的各种场合。2008年标识密码算法正式获得国家密码管理局颁发的商密算法型号:SM9(商密九号
2021-10-04 19:25:37
4922
原创 山东大学软件工程应用与实践——GMSSL开源库(一) ——WINDOWS下GMSSL的安装与编译的超详细保姆级攻略
2021SC@SDUSCGMSSL简介GmSSL是一个开源的密码工具箱,支持SM2/SM3/SM4/SM9/ZUC等国密(国家商用密码)算法、SM2国密数字证书及基于SM2证书的SSL/TLS安全通信协议,支持国密硬件密码设备,提供符合国密规范的编程接口与命令行工具,可以用于构建PKI/CA、安全通信、数据加密等符合国密标准的安全应用。GmSSL项目是OpenSSL项目的分支,并与OpenSSL保持接口兼容。因此GmSSL可以替代应用中的OpenSSL组件,并使应用自动具备基于国密的安全能力。GmSSL
2021-09-29 11:22:59
3012
7
2019级山东大学操作系统课设
2022-01-13
A_Blockchain-based_Multi-domain_Authentication_Scheme for vehic
2022-01-13
b树插入删除操作的动态展示制作c++
2021-03-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人