feat: temp stage

This commit is contained in:
2025-04-30 21:51:58 +08:00
parent 4f1d7424e6
commit 5feb8ebfc8
10 changed files with 1214 additions and 240 deletions

View File

@@ -20,8 +20,6 @@
在这个过程中,代理服务器既不能访问原始数据,也不能访问解密密钥,从而保证了数据的安全性。
\section{门限密码}
\section{Shamir密码共享方案}
Shamir密码共享方案其核心思想是通过多项式插值来达到一个目的由Adi Shamir
@@ -44,32 +42,27 @@ $n$是总片段数量。Shamir密码共享方案的原理基于数学中的多
\item 当要恢复秘密时,只需要任意$t$$(x,f(x))$并使用Lagrange插值来恢复$f(0)$,即原始的秘密$S$
\end{enumerate}
% FIX: 修改例子的数据
举例说明:假设我们有一个秘密数字$S=42$我们希望将其分割成3个片段
但只需要2个片段就可以恢复它$t=2,n=3$
选择一个一次多项式(因为$t-1=1$:
\[f(x) = a_0 + a_1x\]
假设我们选择$a_1=17$,那么多项式就是:
\[f(x) = 42 + 17x\]
举例说明:假设我们有一个秘密数字$S=89$我们希望将其分割成4个片段
但只需要2个片段就可以恢复它$t=2,n=4$
选择一个1次多项式因为$t-1=1$:
\[f(x) = a_0 + a_1x^1\]
假设我们选择$a_1=23$,那么多项式就是:
\[f(x) = 89 + 23x\]
为每个参与者选择一个$x$值并计算$f(x)$
\[f(1) = 42 + 17(1) = 59\]
\[f(2) = 42 + 17(2) = 76\]
\[f(3) = 42 + 17(3) = 93\]
每个参与者分别得到一个片段:$(1,59)$$(2,76)$$(3,93)$
要恢复秘密,我们可以选择其中任意个片段。
假设我们选择$(1,59)$$(2,76)$使用Lagrange插值可以计算出$f(0)=42$,从而恢复秘密。
\[f(1) = 89 + 23\cdot1^1 = 112\]
\[f(2) = 89 + 23\cdot2^1 = 135\]
\[f(3) = 89 + 23\cdot3^1 = 158\]
\[f(4) = 89 + 23\cdot4^1 = 181\]
每个参与者分别得到一个片段:$(1,112)$, $(2,135)$, $(3,158)$, $(4,181)$
要恢复秘密,我们可以选择其中任意2个片段。
假设我们选择$(1,112)$$(2,135)$使用Lagrange插值可以计算出$f(0)=89$,从而恢复秘密。
具体的Lagrange插值公式为
\[f(x) = \sum_{i=1}^t y_i \prod_{j=1,j\neq i}^t \frac{x-x_j}{x_i-x_j}\]
在这个例子中,使用$(1,112)$$(2,135)$进行插值:
\[f(0) = 112\cdot\frac{0-2}{1-2} + 135\cdot\frac{0-1}{2-1} = 224 + -135 = 89\]
这就恢复出了原始的秘密值89。
这个例子中,使用$(1,59)$$(2,76)$进行插值:
\[f(0) = 59\cdot\frac{0-2}{1-2} + 76\cdot\frac{0-1}{2-1} = 59\cdot(-2) + 76\cdot(-1) = -118 + (-76) = 42\]
这就恢复出了原始的秘密值42。这个例子展示了Shamir密码共享方案的基本原理和实际应用。
这个例子展示了Shamir密码共享方案的基本原理和实际应用。
该方案的安全性基于:
\begin{itemize}
@@ -79,20 +72,24 @@ $n$是总片段数量。Shamir密码共享方案的原理基于数学中的多
\end{itemize}
\section{非对称/公钥密码算法}
% FIX: 不应该直接复制wiki需要改写
公开密钥密码学英语Public-key cryptography
非对称密码学英语Asymmetric cryptography
密码学的一种算法,它需要两个密钥,一个是公开密钥,
另一个是私有密钥;公钥用作加密,私钥则用作解密。
使用公钥把明文加密后所得的密文,只能用对应的私钥才能解密并得到原本的明文,
最初用来加密的公钥不能用作解密。由于加密和解密需要两个不同的密钥,故被称为非对称加密
公开密钥密码学英语Public-key cryptography
非对称密码学英语Asymmetric cryptography
一种使用两个不同密钥的加密方法。一个是可以公开分享的公钥,用来加密信息;
另一个是需要保密的私钥,用来解密信息。使用公钥加密后的信息,
只能用对应的私钥才能解开,而加密用的公钥本身不能用来解密。
因为加密和解密需要用到两个不同的密钥,所以称为"非对称"加密
这类加密技术通常基于某些数学难题来保证其安全性。
常见的非对称密码算法基于以下几种数学难题:
\subsection{基于大因数分解}
代表算法RSA
这类算法的安全性基于大整数分解问题的难度。
RSA算法的安全性依赖于将两个大质数的乘积进行因式分解的计算复杂度。
目前已知的最高效算法仍需要超多项式时间,这保证了在足够大的密钥长度下的安全性。
目前已知的最高效算法仍需要超多项式时间\cite{Lenstra1990GNFS},这保证了在足够大的密钥长度下的安全性。
RSA广泛应用于数字签名、密钥交换和数据加密等场景。
\subsection{基于离散对数}
@@ -122,7 +119,7 @@ DSA数字签名算法主要用于生成数字签名而Diffie-Hellman则
常见的杂凑算法包括:
\begin{itemize}
\item MD5输出128位杂凑值现已被证明存在安全缺陷
\item MD5输出128位杂凑值现已被证明存在安全缺陷\cite{Wang2004Collisions}
\item SHA家族包括SHA-1160位、SHA-2224/256/384/512位和SHA-3系列
\item SM3中国商用密码杂凑算法标准输出256位杂凑值
\end{itemize}
@@ -199,7 +196,7 @@ SM2算法是我国基于椭圆曲线密码体制自主研发的公钥密码算
SM3哈希算法是密码体系的重要组成部分是一种将任意长度的消息$M$映射为定长字符串$H(M)$的单向散列函数,
$H(M)$称为$M$的消息摘要。我国基于对SHA-256中的压缩函数进行自主研发并取得重大突破
国产哈希算法SM3随之诞生。与SHA-256相似SM3算法同样适用于数字签名、消息认证及随机数生成等场景
且其安全性略高于SHA-256国家密码管理局规定SM2算法中的哈希算法为SM3。\cite{SM3StandardGroup2013}
且其安全性略高于SHA-256\cite{SM3StandardGroup2013}国家密码管理局规定SM2算法中的哈希算法为SM3。
SM3算法对长度为$l$比特的消息$M$经过填充和迭代压缩最终输出一个256比特的杂凑值。算法主要包含以下步骤
@@ -207,7 +204,7 @@ SM3算法对长度为$l$比特的消息$M$,经过填充和迭代压缩,最
设有长度为$l$比特的消息$M$
\begin{enumerate}
\item 首先将比特"1"添加至消息$M$末尾
\item 添加$k$个"0",其中$k$是满足公式$(l + 1 + k) \bmod 512 = 448$的最小非负整数
\item 添加$k$个"0",其中$k$是满足公式$(l + 1 + k) \bmod 512 \equiv 448$的最小非负整数
\item 添加一个64位比特串表示$l$的值
\item 填充后的消息$M$比特长度为512的倍数
\end{enumerate}