密码学基础:同态与同构

文章介绍了密码学中的同态(Homomorphism)和同构(Isomorphism)概念,并通过椭圆曲线群的例子展示了同态加密的基本原理及其在ElGamal加密系统中的应用。

这是关于加密技术的更大系列文章的一部分。如果这是你看到的第一篇文章,我强烈建议你从 系列的开头 开始。

到目前为止,我们对 的基本理解已经足够有用,可以设计满足许多需求的加密方案,包括 加密,签名,(以及一些 特异变体), 证明,承诺,可验证的随机性 等等。

我相信,现在是进一步理解群结构的好时机,同时揭开一套新的 酷加密原语

你可能已经听说过 同态同构。但这些名字听起来奇怪的东西到底是什么?

听起来就像是变形金刚电影中出来的东西

同态的概述

一般来说,同态是一个 函数映射,它保持 代数性质 的不变。

回想一下,当我们处理群时,我们只有一个 集合 和一个 运算。因此,一个 群同态 确实是将一个群的元素映射到 另一个群,其中运算的 性质保持 的。

这一切可以简化为:如果 ab 是一个群的元素,那么一个同态 f 应该像这样工作:

一个同态的好例子发生在我们获取一个具有生成元 G 和阶 n椭圆曲线群,以及 n 整数的加法群 时。我们只需定义:

我们可以轻松看到加法是保持的:

同构

注意在上述情况下,两个群的元素之间存在一一对应关系。这 并不总是这样:如果我们选择模 q 的整数,而 q > n,那么至少有两个整数将共享相同的函数值。

在实际上存在一一对应的情况下,我们可以理论上使用 f 将 ℤₙ 映射到 ⟨G⟩,并使用其 f ⁻¹⟨G⟩ 映射回 ℤₙ。

用数学术语来说,这意味着 f 是一个 双射。你知道的,以防你想更加确切地说明它!

当这种情况发生时,我们说 f 是一个 同构 而不是同态。两个群被称为是 同构的

对于群论,我们认为同构的群本质上是同一个群 伪装 而成,因为我们可以找到一个函数,使我们能够将一个群转化为另一个群,反之亦然。

我为什么要关心?

啊,百万美元的问题。

群表达为同态或同构的想法非常有趣,因为在选择的群之间来回移动意味着我们可以在 任一群 中执行操作。这允许我们做一些 魔法。我们稍后将看到这一点。

在深入一个示例之前,我想澄清一些你可能会遇到的符号。如果你查看例如 这一页 有关 ElGamal 加密系统(我们稍后将看到的算法),你会注意到他们在处理群时似乎不使用 加法。相反,他们使用 乘法指数表示法

嘻,这与我们之前的例子不太一样。怎么会这样?

理解这一点的关键是从 同构 的角度来看待事物。看看这两个群:

![](https://img.learnblockchain.cn/2025/...

剩余50%的内容订阅专栏后可查看

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Frank Mangone
Frank Mangone
Software developer based in Uruguay. Math and Cryptography enthusiast.