后量子学习笔记·其二
在 撬开后量子的大门 一文中,我们初步学习了后量子密码学,本篇博客,力求对后量子密码学进行进一步学习 量子计算我们通常说的量子计算就是通过量子逻辑门来操作处于叠加态的量子。比如Hadamard门,简称H门,他的一个主要功能就是通过计算基态产生等概率的叠加态。通过H门变换后的单量子叠加态为: $H(|Φ_1⟩)=\frac{1}{\sqrt{2}}(|0⟩+|1⟩)$ 两种基态的坍塌概率都为 $\frac{1}{\sqrt{2}}$,两个量子的H门得到的结果如下: $H(|Φ_2⟩)=\frac{1}{\sqrt{2^2}}(|00⟩+|01⟩+|10⟩+|11⟩)$ 每个态坍塌的概率 $\frac{1}{\sqrt{4}}$...
ElGamal是个啥子玩意
很早之前就听说ElGamal加密算法是一种公钥密码,但是具体实现和用途不甚了解,今天阅读了 A PUBLIC KEY CRYPTOSYSTEM AND A SIGNATURE SCHEME BASED ON DISCRETE LOGARITHMS 一文,故去了解了一下。特开此文,记录一下 省流:ElGamal是DH密钥交换的抵抗中间人攻击版本 ElGamal加密算法是一个基于DH密钥交换的非对称算法,可以定义在任何循环群上,它的安全性取决于循环群上的离散对数难题 离散对数问题指的是: 已知 $a,b,n$ ,计算$ a^b\mod n$ 是简单的。 已知 $a,(a^b\mod n),n$ ,计算 $b$ 是困难的。 Diffie-Hellman 密钥交换过程: Alice 和 Bob选定一个素数 $p$ ,以及它的一个原根 $g$ Alice 选择一个密钥 $a$ ,计算 $A=g^a\mod p$ ,发给 Bob Bob 选择一个密钥 bb ,计算 $B=g^b\mod p$ ,发给 Alice Alice 计算 $s=B^a\mod p$ ,Bob 计算...
公钥密码学经典方案30篇 学习笔记(初次阅读)
本文是 荔枝橙味拱腰觅马糕守 一文的后继,主要内容是对于 方案构造学习 一章中的 尝试发现方案构造错误 一节下的 30个经典方案的学习笔记 经过初次阅读尝试,发现笔者英文阅读能力较低,不足以在短暂时间内完成大量论文的阅读;故选择了在翻译器和人工智能的帮助下来进行阅读,以提升效率,并为第二次阅读打好基础 1984, A Public Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms. [34]引言1976年,Diffie和Hellman首次提出了公钥密码的概念,并依赖离散对数问题和素数域上的计算复杂性来构造其密钥交换协议。ElGamal的工作正是基于这种思想,进一步提出了一个可以实现消息加密和解密的公钥加密系统,以及一个数字签名方案。 公钥密码系统公钥密码体制的基本思想是使用 Diffie-Hellman 密钥交换的基础 首先,通信双方选择一个大质数 $p$ 和生成元 $g$ ,这些参数都是公开的 然后双方分别选取自己的私钥(分别是 $x_A$ 和...
SM2椭圆曲线加密算法学习笔记
此文章用于记录笔者对于SM2椭圆曲线加密算法的学习 前置知识ElGamal离散对数密码体制 公钥密钥生成 Alice首先构造一条椭圆曲线 $E$,在曲线上选择一点 $G$ 作为生成元,$n$ 为 $G$ 的阶(且 $n$ 必须为质数)。此时构成了一个循环群 $$。 Alice选择一个私钥 $k (k < n)$,生成公钥 $Q = kG$ Alice将公钥组 $(E,Q,G)$ 发送给Bob 加密过程 Bob收到信息后,将明文编码为 $M$,$M$ 为曲线上一点,并选择一个随机数 $r$($r < n$,$n$ 为 $G$ 的阶) Bob计算点 $Cipher_1$ 与 $Cipher_2$ 即两段密文,计算方法如下 $Cipher_1 = M + rQ\ Cipher_2 = rG$ Bob把 $Cipher_1$ 和 $Cipher_2$ 发给Alice 解密过程 Alice收到密文后,为了获得 $M$,只需要 $Cipher_1 - k · Cipher_2$,因为 $Cipher1 - k*Cipher2 = M + rQ - krG...
buuoj古典密码学wp
此博客用于整理,之前做过的古典密码学题目 之前存储于本地,今天移植到博客中,后续不再在此页面更新 分级十分的混乱,之后有缘再改吧(逃 古典密码学 Linux python 很重要 Bugku 实验吧(现在没了) 南邮网络攻防训练平台(现在也没了) 密码学的三个阶段 古典密码(1949以前),复杂度不高,安全性地,具有艺术性 近代密码(1949-1975),计算机诞生,加密算法在复杂程度和安全性上得到了提升 现代密码(1976至今),美国密码学专家Diffie和Hellman在1976年提出公开密钥密码体制概念(非对称制加密),密码学有了全新的方向 古典密码学: 涉及数学问题较少 很容易被破解,但是设计原理和分析方法对理解设计分析现代密码有帮助 主要分为:替代和置换 强化python脚本编写能力,尽力讲大多数加密方法都能写出破解脚本 MD5暴力破解以及算法逆向 键盘加密 键盘布局加密 通常给出一堆无意义的字符,但是在键盘上比划一下就能拼出相应的字符 可以划归脑洞题的范围 键盘坐标加密 bye 对应的密文是 35 16...
基于SM9的属性基在线离线签名方案 论文阅读总结
本文用于记录 本篇论文 的阅读和知识总结与学习 前置内容关键词SM9;在线/离线签名;属性基签名;随机谕言机模型;q-SDH 问题 SM9算法基于双线性对,可以实现属性基加密签名 相对而言,SM2基于椭圆曲线,无属性基相关属性 在线/离线签名在线签名在服务器(可信的)等设备上进行,离线签名在轻量级设备上;离线签名在在线签名的基础上进行签名,可以减少轻量级设备的运算开销 随机谕言机模型可以视为一个安全的哈希函数 q-SDH 问题多个参与者的DH密钥交换,而且更强,而且抗量子 预备知识双线性映射给定安全系数 $\kappa$,生成一个双线性元组 $BP=(G_1,G_2,G_T,e,p)$ 令 $P$ 是 $G_1$ 的一个生成元,令 $Q$ 是 $G_2$ 的一个生成元,一个双线性映射 $e:G_1\times G_2\rightarrow G_T$ 有:双线性 非退化性 可计算性 三个性质 此外,在 $G_1$ 和 $G_2$ 之间存在一个能有效且能公开计算的同构映射 $\psi:G_2\rightarrow G_1$ ,即...
关于维纳攻击的学习总结
嘻嘻,还没开始写 参考资料:https://zhuanlan.zhihu.com/p/400818185
hexo新建博客但是要求输入第二行
今天遇到了以下问题 解决方案:引号输入改为英文(字体太小了没看到(悲
撬开后量子的大门
笔者刚开始接触后量子,这里是学习笔记 量子力学基础量子叠加原理概念:一个量子系统可以同时处于多个可能状态的叠加状态,而不是像经典物理中那样只能处于一个确定的状态。这意味着,一个量子比特(qubit)可以同时表示0和1两种状态的叠加态,而不仅仅是0或1。这种量子叠加为量子计算提供了并行计算的能力,使得量子计算机能够在某些问题上比传统计算机更快地得出答案。 叠加原理可以用一个简单的例子来说明。假设我们有一个量子比特,它是一个自旋向上的电子和一个自旋向下的电子的叠加态。根据量子叠加原理,这个量子比特可以同时表示自旋向上和自旋向下的状态。当我们对这个量子比特进行测量时,它只会塌缩到一个确定的状态,即自旋向上或自旋向下,但测量前的状态是两者同时存在的。 数学表示:假设一个量子比特有两个状态,记为 $|0\rangle$ 和 $|1\rangle$。量子叠加态可以用一个线性组合来表示: $|\psi\rangle = \alpha|0\rangle + \beta|1\rangle$ 其中 $\alpha$ 和 $\beta$ 是复数,并且满足: $|\alpha|^2 +...
记录一道考研数学-关于三角函数的极限
题目:$lim_{n\rightarrow \infty}n\pi sin(n\pi)=?$ 因为是填空题,所以一眼能看出来得 $0$ 为什么是零呢?因为感觉不是正数也不是负数(对偶性),所以只能是 $0$ 学长的讲解: 当 $n \to \infty$ 时,可以把问题理解为一个数列的极限,也就是趋于正无穷的实数。但是,直接看 $n \pi \sin(n \pi)$ 的极限是行不通的,因为这个表达式相当于 $0 \times \infty$ 的形式。在这种情况下,你可能想把 $0$ 单独拿出来处理,但根据乘法运算的规则,只有当两个乘数都存在时,才能进行这样的操作。 所以我们先不要直接看极限,而是先看表达式 $n \pi \sin(n \pi)$ 本身。在 $n$ 为实数的情况下,$\sin(n \pi)$ 总是 $0$,因此这个表达式无论 $n$ 是多少,都是 $0$。即使把极限带入,结果也是 $0$。尽管你可能会觉得这种形式是“无穷小乘无穷大”,不一定是 $0$,但实际上这是 $0$ 乘以任何数,结果必然是 $0$。 无穷小和 $0$ 是不同的,$0$...