格密码基础:子格,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.hqwc.cn/news/310889.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java | 多线程案例】定时器的实现

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【Java系列专栏】【JaveEE学习专栏】 本专栏旨在分享学习JavaEE的一点学习心得,欢迎大家在评论区交流讨论💌 这里写…

x-cmd pkg | fzf - 命令行模糊查找器

目录 简介首次用户功能特点竞品和相关作品进一步阅读 简介 fzf 是一个由 Go 编写的命令行模糊搜索工具,用于在大量文本数据中快速定位和选择内容,可以与任何列表一起使用(e.g. 文件、命令历史记录、进程、主机名、书签、git 提交等&#xff…

linux安装python

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

UG装配-接触对齐

UG装配约束命令在如下位置 首选接触:含接触和对齐,自动判断两种类型 接触:约束对象使其曲面法向在相反方向,并共面或共线 对齐:约束对象使其曲面法向在同一方向,并共面或共线 自动判断中心/轴&#xff1…

【2023 —— 我和CSDN相遇的第一年】— “技术学习和个人成长的回顾与展望”

​ ​ 🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 💫个人格言:"没有罗马,那就自己创造罗马~" 目录 🎊对2023的总结与回顾🎊 🏅获奖记录 📚学…

华为放出2023年最后一个大招!

▼最近直播超级多,预约保你有收获 跨年直播:《LLM构建生成式推荐系统及案例实战》 —1— 推出编程利器 CodeArts Snap 华为云研发大模型 CodeArts Snap 重磅推出,将软件工程 3.0 时代又向前推进了一步。 CodeArts Snap 是大模型智能开发辅助工…

V子型输出一串字符。。。

#include<stdio.h>int chars[100][2] {};//每行要出现的字符编码 int main() {int line;char start;char c, c1;scanf("%d %c",&line,&start);//输出多少行for (int i 0; i < line; i) {c A (start-A i)%26;c1 A (start - A 2*line-i-2) % 26…

DevOps持续交付之容器化CICD流水线

DevOps持续交付 随着DevOps⼤规模化的落地和应⽤&#xff0c;持续集成以及持续交付已经是⼀种常态的。CI指的是持续集成&#xff0c;使⽤的开源⼯具是Jenkins&#xff0c;CD指的是持续交付和持续部署&#xff0c;⼀个完整的软件开发⽣命周期为: 主要流程可以具体为: 构建阶段…

游戏服务器安全需要注意什么方面需要搭配什么防护策略

服务器主机安全需要注意什么方面,首先需要知道服务器安全威胁有哪些 服务器安全威胁是指可能导致服务器遭受攻击、数据泄露或服务中断的各种风险和威胁。以下是一些常见的服务器安全威胁&#xff1a; 1. 恶意软件和病毒&#xff1a;服务器可能感染恶意软件、病毒或蠕虫&#…

java生产设备效率管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java Web生产设备效率管理系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为ac…

《Spring Cloud学习笔记:微服务保护Sentinel + JMeter快速入门》

Review 解决了服务拆分之后的服务治理问题&#xff1a;Nacos解决了服务治理问题OpenFeign解决了服务之间的远程调用问题网关与前端进行交互&#xff0c;基于网关的过滤器解决了登录校验的问题 流量控制&#xff1a;避免因为突发流量而导致的服务宕机。 隔离和降级&#xff1a…

C#中使用as关键字将对象转换为指定类型

目录 一、定义 二、示例 三、生成 使用as关键字可以将对象转换为指定类型&#xff0c;与is关键字不同&#xff0c;is关键字用于检查对象是否与给定类型兼容&#xff0c;如果兼容则返回true&#xff0c;如果不兼容则返回false。而as关键字会直接进行类型转换&#xff0c;如果…