首页 > 其他分享 >ECC-ElGamal

ECC-ElGamal

时间:2024-10-16 16:44:57浏览次数:6  
标签:11 right ECC 曲线 椭圆 ElGamal left equiv

EC(Elliptic Curve)椭圆曲线

三种椭圆曲线
一般资料会以维尔斯特拉斯曲线(Weierstrass Curve)为例介绍椭圆曲线的基本概念和运算原理,这是因为任意椭圆曲线都可以写为维尔斯特拉斯曲线形式。实际上,椭圆曲线还包括多种其他的类型,如蒙哥马利曲线(Montgomery Curve)、扭曲爱德华曲线(Twisted Edwards Curve)等。Curve25519就是在蒙哥马利曲线上定义的椭圆曲线,而Ed25519是在扭曲爱德华曲线上定义的椭圆曲线。

1.维尔斯特拉斯曲线
椭圆曲线的一般形式可表示为:

$E:y^2=x^3+Ax+B$

其中\(A,B∈\mathbb{F}_p\),\(4A^3+27B^2≠0\)。一般称上式为维尔斯特拉斯形式的椭圆曲线方程。

2.蒙哥马利曲线
蒙哥马利形式的椭圆曲线方程定义为:

$Kt^2=s^3+Js^2+s$
其中$K,J∈\mathbb{F}_p$,$K(J^2-4)≠0$。

3.扭曲爱德华曲线
扭曲爱德华形式的椭圆曲线方程定义为:

$av^2+w^3=1+dv^2 w^2$
其中$a,d≠0$且$a≠d$。

椭圆曲线间的转换
维尔斯特拉斯曲线、蒙哥马利曲线、扭曲爱德华曲线这三类椭圆曲线之间可以相互转换。
蒙哥马利曲线 ⇔ 维尔斯特拉斯曲线
任何椭圆曲线都可以写为维尔斯特拉斯形式。反之,当满足特定条件时,维尔斯特拉斯椭圆曲线可以转换为蒙哥马利椭圆曲线。具体转换条件参见《Montgomery Curve》的Equivalence with Weierstrass curves部分。
蒙哥马利曲线\(Kt^2=s^3+Js^2+s\)转换为等价维尔斯特拉斯曲线\(y^2=x^3+Ax+B\)的方法为:

$\left\{ \begin{array}{l} {A = \frac{3 - J^{2}}{3K^{2}}} \\ {B = \frac{2J^{3} - 9J}{27K^{3}}} \end{array} \right.$

蒙哥马利曲线点\((s,t)\)转换为等价维尔斯特拉斯曲线点\((x,y)\)的方法为:

$\left\{ \begin{array}{l} {x = \frac{3s + J}{3K}} \\ {y = \frac{t}{K}} \end{array} \right.$

反之,维尔斯特拉斯曲线点\((x,y)\)转换为等价蒙哥马利曲线点\((s,t)\)的方法为:

$\left\{ \begin{array}{l} {s = \frac{3Kx - J}{3}} \\ {t = \frac{y}{K}} \end{array} \right.$

蒙哥马利曲线 ⇔ 维尔斯特拉斯曲线
所有扭曲爱德华曲线都与蒙哥马利曲线双向有理等价(Birationally Equivalent),反之亦然。所谓双向有理等价,可以理解为除了个别点外,扭曲爱德华曲线的点和蒙哥马利曲线的点存在相互映射关系。
扭曲爱德华曲线\(av^2+w^3=1+dv^2 w^2\)转换为等价蒙哥马利曲线\(Kt^2=s^3+Js^2+s\)的方法为:

$\left\{ \begin{array}{l} {J = \frac{2\left( {a + d} \right)}{a - d}} \\ {K = \frac{4}{a - d}} \end{array} \right.$

扭曲爱德华曲线点\((v,w)\)转换为等价蒙哥马利曲线点\((s,t)\)的方法为:

$ \left\{ \begin{array}{l} {s = \frac{1 + w}{1 - w}} \\ {t = \frac{s}{v}} \end{array} \right.$

蒙哥马利曲线点\((s,t)\)转换为扭曲爱德华曲线点\((v,w)\)的方法为:

$\left\{ \begin{array}{l} {v = \frac{s}{t}} \\ {w = \frac{s - 1}{s + 1}} \end{array} \right.$

当\(t=0\)或\(s=-1\)时,映射方法为\((v,w)=(0,-1)\)。

椭圆曲线上的运算
1.有限域的负元
\(P⁡(x,y)\)的负元是\((x,-y\pmod{p})=(x,p-y)\)
2.有限域的加法
\(P⁡(x_1,y_1 )\),\(Q⁡(x_2,y_2 )\)和\(R⁡(x_3,y_3 )\)三点(其中\(R\)是直线\(PQ\)与曲线交点关于\(x\)轴的对称点,即有\(R=P+Q\))有如下关系:

$\left\{ \begin{array}{l} {x_{3} \equiv k^{2} - x_{1} - x_{2}~\left( {\text{mod}~p} \right)} \\ {y_{3} \equiv k\left( {x_{1} - x_{3}} \right) - y_{1}~\left( {\text{mod}~p} \right)} \end{array} \right.$

3.斜率计算

$k = \left\{ \begin{matrix} \frac{3x_{1}^{2} + a}{2y_{1}} & {P = Q} \\ \frac{y_{2} - y_{1}}{x_{2} - x_{1}} & {P \neq Q} \end{matrix} \right.$

ECC-ElGamal公钥加密算法

  1. 设\(p>3\)是一个大素数,\(E\)是有限域\(\mathbb{F}_p\)上的椭圆曲线,\(G∈E\)是椭圆曲线上的一个点,并且\(G\)的阶足够大。\(p\)和\(E\)以及\(G\)都公开。
  2. 随机选取整数\(x\),\(1≤x≤\mbox{ord}⁡(G)-1\),其中\(\mbox{ord}⁡(G)\)表示以基点\(G\)在曲线\(E\)上生成群的阶。计算\(Y=xG\)。\(Y\)是公开的加密密钥(公钥),\(x\)是保密的解密密钥(私钥)。
  3. 加密变换:明文消息映射到椭圆曲线上的点\(M=(m_1,m_2 )\),随机选取一个整数\(k\),满足\(1≤k≤\mbox{ord}⁡(G)-1\),密文为\(C=(c_1,c_2 )\),其中\(c_1=kG\),\(c_2=M+kY\)。
  4. 解密变换:对任意密文\(C=(c_1,c_2 )\),明文为\(M=c_2-xc_1\)。

证明:
根据加密变换有\(c_1=kG\),\(c_2=M+kY=M+kxG\),故\(c_2-xc_1=M+kxG-xkG=M\)。
证毕。

例:
设\(p=11\),\(E\)是由\(y^2≡x^3+x+6\pmod{11}\)所确定的有限域\(\mathbb{F}_{11}\)上的椭圆曲线,基点\(G=(2,7)\)。选定的私钥为\(x=7\),明文映射到曲线的点\(M=(10,9)\)。
因选择的私钥为\(x=7\),那么对应公钥为

$Y=7G=(7,2)$

计算过程示例:
首先计算\(2G\),\(2G=G+G\),

$k \equiv \frac{3 \cdot 2^{2} + 1}{2 \cdot 7}~\left( {\text{mod}~11} \right) \equiv 13 \cdot 14^{- 1}~\left( {\text{mod}~11} \right) \equiv 2 \cdot 4~\left( {\text{mod}~11} \right) \equiv 8$
$x \equiv 8^{2} - 2 - 2~\left( {\text{mod}~11} \right) \equiv 60~\left( {\text{mod}~11} \right) \equiv 5$
$y \equiv 8\left( {2 - 5} \right) - 7~\left( {\text{mod}~11} \right) \equiv - 31~\left( {\text{mod}~11} \right) \equiv 2$

所以\(2G=(5,2)\)。
然后计算\(3G\),\(3G=2G+G\),

$k \equiv \frac{2 - 7}{5 - 2}~\left( {\text{mod}~11} \right) \equiv - 5 \cdot 3^{- 1}~\left( {\text{mod}~11} \right) \equiv 6 \cdot 4~\left( {\text{mod}~11} \right) \equiv 2$
$ x \equiv 2^{2} - 5 - 2~\left( {\text{mod}~11} \right) \equiv - 3~\left( {\text{mod}~11} \right) \equiv 8$
$y \equiv 2\left( {5 - 8} \right) - 2~\left( {\text{mod}~11} \right) \equiv - 8~\left( {\text{mod}~11} \right) \equiv 3$

所以\(3G=(8,3)\)。
类似计算可得\(4G=(10,2)\),\(6G=(7,9)\),\(7G=(7,2)\),\(8G=(3,5)\),\(14G=(2,7)\)。可以注意到有\(14G=G⇒13G=0\),所以对于基点\(G=(2,7)\)有\(\mbox{ord}⁡(G)=13\)。由此计算公钥\(Y\)为

$Y = 7G = (7,2)$

假设随机选取\(k=3\),有

$c_1=kG=3G=(8,3)$
$c_2=M+kY=M+kxG=(10,9)+21(2,7)=(10,2)$

因此,明文\(M=(10,9)\)对应的密文为\(C=(c_1,c_2 )=((8,3),(10,2))\)。
对于解密过程而言,已知私钥\(x=3\),收到密文\(C=(c_1,c_2 )=((8,3),(10,2))\),于是明文恢复过程为

$M = c_{2} - xc_{1} = (10,2) - 3(8,3) = (10,9)$

至此,ECC-ElGamal公钥加密算法加解密过程完毕。





参考
ISO/IEC 18033-2:2006 Information technology – Security techniques – Encryption algorithms – Part 2: Asymmetric ciphers
RFC 7748 Elliptic Curves for Security
曹天杰. 密码学引论[M].
Ed25519与Curve25519:概念与相互转换 - 知乎 (zhihu.com)
椭圆曲线加密算法(ECC) - 知乎 (zhihu.com)
辅因子(cofactor)解释:揭开椭圆曲线不为人知的秘密 - 知乎 (zhihu.com)
信息论与编码:有限域 - gxzzz - 博客园 (cnblogs.com)

标签:11,right,ECC,曲线,椭圆,ElGamal,left,equiv
From: https://www.cnblogs.com/miro-cnblogs/p/18470278

相关文章

  • HiT-SR:基于层级Transformer的超分辨率,计算高效且能提取长距离关系 | ECCV'24
    Transformer在计算机视觉任务中表现出了令人鼓舞的性能,包括图像超分辨率(SR)。然而,流行的基于Transformer的SR方法通常采用具有二次计算复杂度的窗口自注意力机制,导致固定的小窗口,限制了感受野的范围。论文提出了一种将基于Transformer的SR网络转换为分层Transformer(HiT-SR)的通用策......
  • DIKI:清华提出基于残差的可控持续学习方案,完美保持预训练知识 | ECCV'24
    本研究解决了领域-类别增量学习问题,这是一个现实但富有挑战性的持续学习场景,其中领域分布和目标类别在不同任务中变化。为应对这些多样化的任务,引入了预训练的视觉-语言模型(VLMs),因为它们具有很强的泛化能力。然而,这也引发了一个新问题:在适应新任务时,预训练VLMs中编码的知识可能会......
  • OOOPS:零样本实现360度开放全景分割,已开源 | ECCV'24
    全景图像捕捉360°的视场(FoV),包含了对场景理解至关重要的全向空间信息。然而,获取足够的训练用密集标注全景图不仅成本高昂,而且在封闭词汇设置下训练模型时也受到应用限制。为了解决这个问题,论文定义了一个新任务,称为开放全景分割(OpenPanoramicSegmentation,OPS)。在该任务中,模型在......
  • 即插即用篇 | DenseNet卷土重来! YOLOv10 引入全新密集连接卷积网络 | ECCV 2024
    本改进已同步到YOLO-Magic框架!本文重新审视了密集连接卷积网络(DenseNets),并揭示了其在主流的ResNet风格架构中被低估的有效性。我们认为,由于未触及的训练方法和传统设计元素没有完全展现其能力,DenseNets的潜力被忽视了。我们的初步研究表明,通过连接实现的密集连接非常......
  • SPiT:超像素驱动的非规则ViT标记化,实现更真实的图像理解 | ECCV 2024
    VisionTransformer(ViT)架构传统上采用基于网格的方法进行标记化,而不考虑图像的语义内容。论文提出了一种模块化的超像素非规则标记化策略,该策略将标记化和特征提取解耦,与当前将两者视为不可分割整体的方法形成了对比。通过使用在线内容感知标记化以及尺度和形状不变的位置嵌入......
  • 遗传与进化计算会议(Genetic and Evolutionary Computation Conference,简称GECCO)多目标
    遗传与进化计算会议(GeneticandEvolutionaryComputationConference,简称GECCO)是进化计算领域内最大的同行评审会议,也是计算机学会(ACM)遗传与进化计算特别兴趣小组(SIGEVO)的主要会议。它涵盖了遗传算法、遗传编程、蚁群优化和群体智能、复杂系统、进化组合优化和元启发式、进......
  • ToCom:一次训练随意使用,华为提出通用的ViT标记压缩器 | ECCV 2024
    标记压缩通过减少冗余标记的数量(例如,修剪不重要的标记或合并相似的标记)来加快视觉变换器(ViTs)的训练和推理。然而,当这些方法应用于下游任务时,如果训练和推理阶段的压缩程度不匹配,会导致显著的性能下降,这限制了标记压缩在现成训练模型上的应用。因此提出了标记补偿器(ToCom),以解耦两......
  • 【JPCS独立出版】第四届电子通信与计算机科学技术国际学术会议(ECCST 2024,9月20-22)
    2024年第四届电子通信与计算机科学技术国际学术会议将于2024年9月20-22日在中国上海举行。会议旨在为从电子与通信、网络、人工智能与计算机技术研究的专家学者、工程技术人员、技术研发人员提供一个共享科研成果和前沿技术,了解学术发展趋势,拓宽研究思路,加强学术研究和探......
  • 【容器安全系列Ⅵ】- Linux seccomp隔离
        在本系列中,我们介绍了各种安全层,这些安全层不仅可以将容器与主机上的其他进程隔离开来,还可以将容器与其底层主机隔离开来。在这篇文章中,我们将讨论容器运行时如何将seccomp过滤器用作“最后一道防线”。Syscalls和seccomp概述    Seccomp过滤器是......
  • R-Adapter:零样本模型微调新突破,提升鲁棒性与泛化能力 | ECCV 2024
    大规模图像-文本预训练模型实现了零样本分类,并在不同数据分布下提供了一致的准确性。然而,这些模型在下游任务中通常需要微调优化,这会降低对于超出分布范围的数据的泛化能力,并需要大量的计算资源。论文提出新颖的RobustAdapter(R-Adapter),可以在微调零样本模型用于下游任务的同时解......