【密码学】基于编码的密码学学习笔记(五) 对偶码

admin 2025年5月19日10:53:33评论0 views字数 1321阅读4分24秒阅读模式

【密码学】基于编码的密码学学习笔记(五) 对偶码

【密码学】基于编码的密码学学习笔记(五) 对偶码

在上一篇文章当中,我们学习了线性码和它的校验矩阵,本篇文章,我们来看一下对偶码。对于对偶这个概念。

前置知识

我们,接着简单的回顾一下有关于线性代数的知识,首先,我们来看一下向量内积的概念。

对于两个向量,其中,他们的内积定义为

特别的,如果,我们称向量正交。

显然,对于内积运算,我们有一些性质,这里我们就不证明了,有兴趣的读者,可以查阅线性代数的相关资料。

对于任意的向量,以及,我们有

  1. 如果,无法推出

对偶码

定义

有了前面的补充,我们就可以来定义对偶码了,设是一个线性码,其对偶码是所有与原码字正交的向量构成的集合

通过定义,我们可以发现,对于原码的生成矩阵,他是一个的矩阵,这里还是使用行向量生成码字。根据对偶码的定义,我们可以发现,如果我们可以找到另外的一个矩阵,使得

也就是行正交,那么对于矩阵生成的码就是对偶码的生成矩阵。因此,对于对偶码来说,他的维数是,也就是他是一个线性码。

接下来,我们来考虑,对偶码的对偶码,不要被这个关系绕进去,也就是,我们考虑

首先,对于任意的码字,根据对偶码的定义,对所有,有,因此满足的条件,也就是

这也就是说,我们有

根据,前面我们得到的维度的关系,对于的维度为k, 则的维度为n-k, 那么对于的维度依然为k。

由于,在有限维的向量空间中,如果一个子空间A包含于另一个子空间 B, 并且,则,因此,根据我们前面的推导,我们有

校验矩阵

在前面,我们提到了一个矩阵,他满足

我们成这个矩阵为码的校验矩阵。那么,接下来,我们来看一下,我们如何来构造这个矩阵。

如果,是一个系统码,那么我们可以比较容易的构造这个矩阵,我们定义

其中是一个的单位矩阵,是一个的矩阵。我们可以如下构造校验矩阵

我们来简单的证明一下,

所以,我们可以这么构造,而对于非系统码,我们可以先根据线性变换,变换成为系统码,然后在来构造。

例子

我们还是用,之前的来举例,对于生成矩阵

我们来构造,

可以验证

也就是,说明,他是一个对偶码。

总结

本文,我们主要了解了对偶码和校验矩阵的知识,对偶码和校验矩阵是编码理论中的核心工具,对于对偶码和校验矩阵,是可以用来检错和纠错的,比如如果和对偶码的码字和对偶码的内积不是0,那么就可以说明传输过程出现了错误。有关于这些详细部分,我们后续再聊,好了,快乐的时光过的特别快,又到了说再见的时候了,咱们下次再见~~

参考资料

  1. https://zh.wikipedia.org/wiki/%E7%A7%A9%E2%80%94%E9%9B%B6%E5%8C%96%E5%BA%A6%E5%AE%9A%E7%90%86
  2. https://courses.smp.uq.edu.au/MATH3302/2010/files/codingnotes.pdf
  3. https://link.springer.com/chapter/10.1007/978-3-540-88702-7_4
  4. https://www.itsoc.org/sites/default/files/2021-11/Code-Based%20Cryptography.pdf

原文始发于微信公众号(Coder小Q):【密码学】基于编码的密码学学习笔记(五) 对偶码

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月19日10:53:33
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【密码学】基于编码的密码学学习笔记(五) 对偶码https://cn-sec.com/archives/4079293.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息