【密码专栏】
文章平均质量分 81
分享密码相关的文章
ATFWUS
电子科技大学硕士,CSDN博客专家。曾在两家top互联网大厂及一家央企工作,拥有丰富的工程实践经验,热爱技术的开源与分享。关注我,一起在计算机的海洋里系统化的学习!(本博客简介见个人主页或博客简介专栏)
展开
-
【密码学原语介绍】PPRF(可穿孔伪随机函数)
在现代密码学中,伪随机函数(PRF)是构建各种加密协议和系统的基石。它们提供了一种方式,通过它,给定一个密钥和一个输入,可以生成一个无法预测的伪随机输出。这种机制对于确保数据加密、身份验证和完整性验证等方面至关重要。然而,在某些应用场景中,如密钥管理和权限控制,我们需要更为灵活的PRF,能够允许在不影响整体系统安全性的前提下,动态地调整其行为。这种需求催生了穿孔伪随机函数(PPRF)的发展。原创 2024-05-08 17:58:22 · 1161 阅读 · 0 评论 -
python random.randint方法底层分析及其逆向
本文主要解释了python random模块中的randint方法的底层原理,并做了简单的逆向,能还原出所使用的随机数的部分,这在对random模块逆向的时候会有一些帮助。原创 2024-01-23 15:23:39 · 893 阅读 · 0 评论 -
Sage运行pwntools库脚本异常解决:OSError: Int or String expected
需要和Oracle交互的密码学脚本一般都需要借助pwn库的帮助,今天切换了python版本后,出现了一个异常(OSError: Int or String expected,详细异常见文章),查阅一下源码后简单的解决了这个问题,在此分享一下。原创 2024-01-08 17:09:35 · 608 阅读 · 0 评论 -
gmpy2 GMP is_prime函数底层c代码分析
偶然看到一篇paper(2018年发表),说GMP中的素性检测使用的是单独的Miller_Rabin方法,单独的Miller_Rabin素性检测会存在部分安全问题(低概率),然后突然想求证一下最新版本的GMP中是否进行了修改。python中常用的gmpy库的底层实际就是GMP实现的。原创 2023-11-14 23:12:14 · 411 阅读 · 0 评论 -
带IV的分组加密下密文分散存储且存在混淆密文片段的多项式时间解密方案
在使用带IV的分组加密模式下,考虑这样一个场景:分组加密后,每组密文都被分散保存,且在恢复的时候,每组密文会和n个混淆的密文一起提供,此时,若想完整的恢复明文,需要一个多项式时间的方案来剔除所有混淆密文。本文提出了一种基于可密文前缀的方案,能够在多项式的时间内完成解密。原创 2023-10-31 20:26:44 · 181 阅读 · 0 评论 -
【密码学代码分享】突破ECDSA算法封装--JS无三方包纯手写ECDSA
ECDSA是一种基于椭圆曲线密码学的数字签名算法。它用于确保数字数据的完整性和身份验证,通常在信息安全和加密通信中使用。在日常使用中,通常会使用一些函数库来实现完成这个算法的功能,但是有部分情况是需要自高度自定义ECDSA相关逻辑的,这里分享JavaScript语言在不借助第三方库的前提下纯手写的ECDSA算法代码,并对其实现原理进行解释。原创 2023-09-02 21:16:30 · 39819 阅读 · 1 评论 -
crypto-js AES-CTR 实现密文前缀式局部解密细节 踩坑点
项目有需求,长明文经过AES-CTR模式加密后,在解密的时候,密文不能直接得到,每次通过某些方法尝试后,只能得到一块密文(按顺序),所以只能一块一块的拼接解密。在使用crypto-js这个库的时候,发送不能直接实现这种局部解密,踩了个大坑,最后经过调试源码,查看文档,花了大半天时间才解决,在此分享一下解决方案。。原创 2023-04-10 16:50:43 · 1219 阅读 · 1 评论 -
【TOTP】基于时间的动态密码及其工程实践
探究了常见的动态密码的实现方式及其底层原理,并基于java做出了工程实践。原创 2022-12-07 16:07:37 · 2999 阅读 · 7 评论 -
CVE-2022-21449 Java SE ECDSA数字签名伪造漏洞分析与复现
在Oracle四月份发布的 Oracle Critical Patch Update Advisory - April 2022(关键补丁更新建议)中提及了Java SE涉及的一个和数字签名有关的高危漏洞,漏洞编号为CVE-2022-21449。本文对此漏洞进行一定的分析以及复现。原创 2022-10-31 16:05:38 · 1533 阅读 · 0 评论 -
DSA数字签名-针对随机数k的共享k攻击&线性k攻击
DSA数字签名算法是NIST在数字签名标准DSS中采用的签名算法,它公布于1994年5月19日的联邦记录上,并于1994年12月1日采纳为标准DSS。本文简单总结DSA算法针对随机数k的一些攻击方法。原创 2022-10-17 17:04:50 · 1769 阅读 · 0 评论 -
Proof_Of_Work机制
简单理解Proof_Of_Work机制,实现简单的Proof_Of_Work机制。原创 2021-08-22 17:31:01 · 6735 阅读 · 0 评论 -
如何使用多线程优雅的爆破一个32位整数
在CTF各大类别的题型中,都会有爆破的需求,那么如何优雅的爆破一个32位整数呢?这里分享一个多线程爆破32位整数的一个方法。文章目录1.脚本与使用须知2.脚本实现细节2.1 脚本整体思路2.2 线程数选择2.3 爆破过程反馈2.4 结果反馈1.脚本与使用须知正常情况下,修改check函数就可以使用。thread_num为线程数,默认为cpu核心数,建议不修改,线程远超cpu核心数,多线程反而会变慢。一定要为2的整数次幂。print_threshold 为输出枚举中间状态的阈值,凡是遍历到.原创 2021-08-19 14:30:34 · 11763 阅读 · 2 评论 -
CTF简单部署一道密码学题目
CTF中如何部署一道交互的密码学题目呢?在这里简单分享一下部署的经验。原创 2021-08-18 22:04:40 · 1149 阅读 · 0 评论 -
【CISCN2018-Crypto】 crackme-java解析
今天闲着无事,于是翻到了buu密码学的最后一页,看到了一道名字带java的题,还是很亲切的,于是花了一点时间做出来了,发现网上相关的wp较少,于是有了这篇wp,一步一步分析。1.原题题目为crackme-java,包含一个java源文件,没有其它提示。import java.math.BigInteger;import java.util.Random;public class Test1 { static BigInteger two =new BigInteger("2").原创 2021-06-09 10:49:37 · 1123 阅读 · 1 评论 -
【解码异或排列】一个简单有趣的异或逆运算密码题
分享一个简单而有趣的异或逆运算密码题原创 2021-05-11 19:24:06 · 20733 阅读 · 1 评论