格密码基础:子格,q-ary垂直格与线性代数

目录

一.写在前面

二.子空间垂直

2.1 理论解释

2.2 举例分析

三. 零空间

3.1 零空间与q-ary垂直格

3.2 零空间与行/列空间

四. 格密码相关


一.写在前面

格密码中的很多基础原语都来自于线性代数的基本概念,比如举几个例子:

格密码中的非满秩格------------矩阵的秩,矩阵列向量的线性独立性

格基正交化过程------------------正交矩阵的性质与变换

子格---------------------------------矩阵子空间

正交子格---------------------------正交子空间

q-ary垂直格-----------------------向量与矩阵列空间垂直

本文章将解释线性代数中的子空间,正交矩阵,零空间,矩阵的秩在格密码中的运用。

二.子空间垂直

2.1 理论解释

一个点:0维度

一条线:1维度

一个平面:2维度

一个立体图形:3维度

以此类推。。。。。

子空间垂直要求:一个子空间中的任意向量与另一子空间中的任意向量都垂直。

比如R^3的子空间维度可以是0,1,2,3。0维的子空间只能是原点\lbrace 0\rbrace(如果选其他点的话,必然构成一条线),当然按照惯例,原点形成的0维子空间与任意子空间都垂直。

子空间垂直领域,一条线可以跟一条线垂直,一条线可以跟一个平面垂直,但注意一个平面和一个平面不可能垂直。

注意:此处与以前高中学习的平面垂直是不一样的。

举个例子:

一间教室前面的墙和侧边的墙,我们感觉是垂直的。但不符合子空间垂直的概念,你沿着角落那条线,在前面墙画一条竖线,在侧面墙画一条竖线,这两条竖线很明显平行,并不垂直。

总结以上,子空间垂直的官方定义如下:

Two subspaces V and W of the same space R^n are orthogonal if every vector v in V is orthogonal to every vector w in W: v^Tw=0 for all v and w.

2.2 举例分析

给出两个向量v_1=(1,0,0,0), v_2=(1,1,0,0),很明显这两个向量形成的子空间V为2维的平面。给出向量w=(0,0,4,5),很明显这一个向量形成的子空间W为一条线。

根据向量垂直的基础知识,很容易验证w既与v_1垂直,也与v_2垂直。

接着很容易推导出,子空间W与子空间V互相垂直。

在这个例子里面,V的维度是2,W的维度是1,总空间大小是R^4,说明还缺一个维度。再给出一个向量z=(0,0,5,-4),该向量形成的子空间为L,很明显它既垂直于V,又垂直于W。现在把它们的维度加在一起:2+1+1=4,刚刚好。

三. 零空间

3.1 零空间与q-ary垂直格

对于正整数n和q,选出A\in Z^{m\times n}(密码学通常要求该矩阵随机取),这个矩阵是公开的,如果有一个向量z乘以该矩阵为0向量,那么把满足此条件的向量z全部都组合在一起,就称之为q-ary垂直格,如下:

\Lambda^\bot(A)=\lbrace z\in Z^n:Az=0 \quad mod\ q\rbrace

仔细观察此处的向量z,这不就是线性代数中的零空间!后续讨论中,我们用x来代替z,代表其在线性代数中可以取非整数,如下:

Ax=0

矩阵A的行向量都是n维的,所以行空间是R^n的子空间。向量x也是n维的,所以此零空间也是R^n的子空间。

3.2 零空间与行/列空间

定理

  1. R^n上,行空间与零空间互相垂直;
  2. R^m上,列空间与左零空间互相垂直;

证明:

给定任意m行n列矩阵A,从其零空间中抽取一个n维向量x,满足Ax=0,该方程组有m个方程,可以理解为矩阵A的每一行都与向量x相乘,如下:

第一行与向量x的内积为0,所以第一行与向量x垂直。以此类推,向量x与每一行都垂直。也就是向量x与每一行的任意线性组合都垂直。这不就是零空间内任意向量x都与行空间内任意向量垂直,写作:

N(A)\bot C(A^T)

矩阵的列空间也有类似的性质。比如y^TA=0,如下:

向量y垂直于矩阵A的每一列。向量y形成的空间就是所谓的左零空间。通常写作:

N(A^T)\bot C(A)

N(A^T)代表左零空间,C(A)代表矩阵A的列空间。

3.3 举例

给定一个秩为1的矩阵A,如下:

A=\left[ \begin{array}{cc} 1& 3 \\ 2&6\\ 3&9 \end{array} \right]

由此可得该矩阵的行空间和列空间均为一条线。观察发现矩阵A的每一行都是向量(1,3)的倍数,由此可类推其零空间中包含向量(3,-1),该向量与矩阵A的任意行都垂直,如下:

行空间的维度为1,零空间的维度也为1,总维度为R^2。总结出规律:

r+(n-r)=n

列空间是过点(1,2,3)的一条线,左零空间的点记为(y_1,y_2,y_3),根据y^TA=0,需要满足:

y_1+2y_2+3y_3=0

这不就是一个平面。总结规律:

r+(m-r)=m

四. 格密码相关

格密码的SIS问题与矩阵正交相关。

结论1:

N(A)=(C(A^T))^\bot, \quad C(A^T)=(N(A))^\bot

理解:零空间是行空间的正交补集。

结论2:

行空间维度+零空间维度=矩阵列数

列空间维度+左零空间维度=矩阵行数

结论3:

左零空间在R^m上是列空间的正交补集。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/281365.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

年底离职了?2024普通人失业怎么创业?2024创业风口!

有多少人会在12月份离职?这是近期热门的话题,年底了,离职潮也来了。是工作压力大?是跟同事相处不好?是公司发展没前景?不,统统都不是。离职无外乎一个原因:工资低! 我们除了打工还…

Mybatis 事务接口

当我们从数据源中得到一个可用的数据库连接之后,就可以开启一个数据库事务了,事务成功开启之后,我们才能修改数据库中的数据。 在修改完成之后,我们需要提交事务,完成整个事务内的全部修改操作,如果修改过…

分库分表之Mycat应用学习二

3 Mycat 概念与配置 官网 http://www.mycat.io/ Mycat 概要介绍 https://github.com/MyCATApache/Mycat-Server 入门指南 https://github.com/MyCATApache/Mycat-doc/tree/master/%E5%85%A5%E9%97%A8%E6%8C%87%E5%8D%973.1 Mycat 介绍与核心概念 3.1.1 基本介绍 历史&#x…

Tomcat和Servlet

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、Tomcat是什么?1.1下载:1.2 tomcat是什么1.3启动服务器: 二.部署三、Servlet3.1创建项目3.2引入依赖pom.xml的所有代码 3…

一文讲清数据资产化之确权和估值

《中共中央 国务院关于构建数据基础制度更好发挥数据要素作用的意见》已发布一年,数据资产化和入表已成为2023年的热门话题,随着2023年底国家数据局吹风《"数据要素x"三年行动计划(2024-2026年)》即将发布,这…

磁盘管理-------RAID卡

目录 一、RAID概述 二、常见类型 (一)RAID 0 (二)RAID 1 (三)RAID 5 (四)RAID 6 (五)RAID 10 (六)总结 三、创建RAID &…

lambda函数

文章目录 定义捕捉列表的形式一些更复杂的捕捉列表组合代码演示演示一演示二演示三演示四演示五演示六 lambda 函数,是C11中新引入的函数式编程语法,lambda函数可以被定义在类中成员函数内部,全局函数的内部。它是一个局部函数(即…

springboot定时执行某个任务

springboot定时执行某个任务 要定时执行的方法加上Schedule注解 括号内跟 cron表达式 “ 30 15 10 * * ?” 代表秒 分 时 日 月 周几 启动类上加上EnableScheduling 注释

第二部分 离散型随机变量

目录 求分布律里的未知数 例1 例2 根据X的分布律写Y的分布律 例3 根据(X,Y)的分布律写Z的分布律 例4 根据(X,Y)的分布律写边缘分布律 例5 X与Y相互独立时的联合分布律 例6 根据分布律求期望、方差 例7 求分布律里的未知数 例1 已知X的分布律为 X-202P0.40.3k ,试求k 解 0.40…

【网络奇遇记】揭秘计算机网络的性能指标:时延带宽积|往返时间|利用率|丢包率

🌈个人主页:聆风吟 🔥系列专栏:网络奇遇记、数据结构 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋上期回顾一. 时延带宽积二. 往返时间三. 利用率四. 丢包率📝结语 &#x1…

【用户增长】引言:浅析游戏运营用户增长概念

1 游戏发行运营中的主要职能: ​ 一、发行运营通识l 运营介绍:职能分工、发行运营流程、职业发展能力及要求l 品类认知:行业品类布局、品类用户画像、运营节奏及特性,包含不同品类核心打法及长线运营思路l 海外运营:海…

linux安装python

文章目录 前言一、下载安装包二、安装1.安装依赖2.解压3.安装4.软链接5.验证 总结 前言 本篇文章介绍linux环境下安装python。 一、下载安装包 下载地址:官方网站 我们以最新的标准版为例 二、安装 1.安装依赖 yum -y install openssl-devel ncurses-devel li…

什么是AI PC,又有哪些产品

最近一段时间,AI PC成为一个流行词。Intel在发布Core Ultra处理器的时候,直接使用了AI PC这个词语,而各大厂商发布相应的笔记本产品时,也使用了AI Ready的宣传词。而在Intel之前,AMD在发布自己的新一代APU的时候&#…

数据结构和算法-B树的插入和删除

文章目录 B树的插入小结B树的删除小结 B树的插入 首先将根节点的关键字个数填满,填满后再分开成树 分开的规则 此时插入90,从根节点依次查找,然后插入到终端节点的关键字中 插入同上,注意此时在终端节点插入要符合终端节点的大…

蓝桥杯嵌入式KEY

1.按键原理图 2.按键GPIO引脚设置成输入,上拉模式 3.设置TIM4时钟源为外部时钟源 PSC为80-1 Period为10000-1 打开NVIC 中断时间为10ms 4.在bsp文件中添加interrupt.c文件 5.按键单击代码 6.长按键 7.按键过程和显示过程

缺少/run/haproxy目录,haproxy服务启动失败

转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 问题描述: 搭建haproxy的机器,因出现故障重启了,然后发现haproxy服务出现异常。重新启动hap…

数据库最小函数依赖求法 附相关习题及解析

首先我们给出最小函数依赖的定义 如果函数依赖集F满足下列条件,则称F为最小函数依赖集或最小覆盖。 ① F中的任何一个函数依赖的右部仅含有一个属性; ② F中不存在这样一个函数依赖X→A,使得F与F-{X→A}等价; ③ F中不存在这样一…

【Linux专区】如何配置新服务器 | 添加普通用户到sudoers | 配置vim | git免账号密码pull push

💞💞欢迎来到 Claffic 的博客💞💞 👉 专栏:《Linux专区》👈 💬前言: 时隔131天,你的好友Claffic重新发文了!(✿◕‿◕✿) 上期已经带大家白嫖了阿…

Unity坦克大战开发全流程——游戏场景——敌人——移动的敌人

游戏场景——敌人——移动的敌人 制作预制体 将坦克拖拽至场景中进行设置 写代码 让坦克在两点之间不停移动 随机坐标函数 然后在start()中调用即可 坦克要一直盯着玩家 当小于一定距离时,攻击玩家 重写开火逻辑 注意还要将其tag改成Monster! 当敌人死…
最新文章