自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(166)
  • 收藏
  • 关注

原创 基于MATLAB的求解线性方程组(附完整代码和例题)

目录前言一. 直接求解:矩阵除法例题1例题2例题3二. 直接求解:判断求解2.1 m=n且rank(A)=rank(C)=n2.2 rank(A)=rank(C)=r<>例题52.3三. 矩阵求逆解线性方程组例题 6前言线性方程组的直接解法方法很多,包括Gauss消去法、选主元消去法、平方根法和追赶法等等。但是在MATLAB中,可以直接利用“\”或者“/”来解决问题。这两种方法的内部包含非常多的自适应算法,比如对超定方程使用最小二乘..

2022-04-16 23:41:15 96231

原创 详解语义安全(semantically secure)

​二. 密文与明文三. 语义安全的第一个版本四. 语义安全的第二个版本一. 引入密码学中安全加密要求:敌手(adversary)根据密文(ciphertext)不能推导出关于明文(plaintext)的任何信息。本文将重点介绍语义安全(semantic security)的理解。二. 密文与明文2.1 通俗性理解密码学的目标:密文不会泄露明文的任何一比特信息。Enc:加密方案Dec:解密方案Gen:产生密钥。在不外加条件的情况下,通常认为Gen算法输出

2024-08-17 00:39:39 1131

原创 详解最大比合并算法(Maximum Ratio Combining)

​一. 空间分集(space diversity)二. 系统模型三. 尝试性译码四. 最大比合并算法五. 波束赋形六. 译码七. 写在最后一. 空间分集(space diversity)在接收端实现空间分集最常见有两种:一个叫选择性合并(selection combining);另一个就是本文的主题叫最大比合并。其实最大比合并算法可以看成在接收端实现波束赋形(generalized beamforming)。二. 系统模型假定某个无线系统有一根发射天线(

2024-08-15 22:57:31 1426

原创 格密码基础

本文章主要介绍格密码中所使用的一些基本概念,其中包括:格中基本向量,封闭球内的格点数,半稳定格等等。

2024-07-20 23:29:35 1029

原创 格密码中的困难问题

本文章主要关注SVP问题的变式,以及它们的关系。其中包含SVP问题,GapSVP问题,uSVP问题。以及旋转格上这些困难问题的理解。

2024-07-18 19:59:43 1114

原创 格密码基础【论文向】

格密码的基础概念(1)-CSDN博客本文章将分析论文中最常使用的那些格密码基础知识。首先格基B可以记作:前面讨论的离散高斯分布取样容易吗?已有的研究表明当标准差足够大时,离散高斯分布就很好输出样本:这也揭示出了密码学家很关心标准差所取的大小,由此可得光滑参数的官方定义如下:其中代表对偶格,。同样也说明了光滑参数与标准差s紧密相关。

2024-07-17 17:32:09 988

原创 【格密码基础】旋转格的性质

中,任意两个相邻的格点距离为1,所以其译码半径(unique decoding radius)为1/2.另外,根据格密码的基础概念,格。补充一个有意思的性质:上三角矩阵R的对角线处有个三个元素,其实对应着向量a,B,C的长度(q1,q2,q3标准化前的长度)。众所周知,如果ZSVP问题是困难的,那么就可以设计新的公钥密码方案(public key encryption)。根据矩阵QR分解的理解,以上等式中B'和B是一一对应的。采用正交化的思想,可以将矩阵A变为一个正交矩阵Q,也就是包含3个列向量,记为。

2024-07-15 05:12:11 1052

原创 【格密码基础】详解ZSVP问题

先给一个方便理解的定义。首先第一步对整数格进行旋转;怎么旋转是未知的。接着第二步在旋转后的格上寻找最短的非零向量。这个定义已经很好理解了,再给一个官方定义吧。L。本文章的核心内容主要参考2023年密码学顶会欧密论文:?

2024-07-11 23:42:49 1044

原创 基于MATLAB的误码率与信噪比(附完整代码与分析)

输入的x和y可以是向量,也可以是矩阵。要求取值均非负。biterr函数会自动把x和y转为二进制的比特串来进行对比。在输出的结果中number代表不一样的比特数量。ratio代表误码率。

2024-06-20 21:16:41 2588 2

原创 基于MATLAB的QAM调制与星座图(附完整代码与分析)

二. 调制与散点图2.1 16-QAM调制2.2256-QAM调制三. 对随机数据进行QAM调制四. 对不同的编码QAM调制五.引入噪声的QAM调制六. QAM解调七.总结7.1 调制阶数7.(1)本文章主要讨论QAM调制,全称为Quadrature amplitude modulation;(2)本文章的源代码参考自MATLAB官方文件;(3)每行代码我都尝试写清楚含义,非常适合初学者QAM调制阶数需要是2的指数形式,可代表信号星座图中的点数(就是那些参考点的数量)。

2024-06-19 15:28:31 2779

原创 MIMO(多天线)通信的四种译码算法

发射天线数记为Mt,接收天线数记为Mr。由此发射信号x为向量:接受信号y为向量:信道H为矩阵:利用n代表噪声向量,由此可得MIMO通信系统模型为:y=Hx+n噪声服从复高斯分布,通常假定均值为0,方差为1,如下:发射信号的总功率限定为,由此需要发射信号x的均值满足如下关系:接收端在收到y后,就尝试译码出x,但译码不一定完全正确,所以记为(estimate):接收端在译码之前通常已知:信号矩阵(channel matrix)H,集合X,y。

2024-04-19 22:35:19 1281

原创 遍历衰落,快衰落,拟静态衰落信道

信道H中的数又被称之为衰落系数(fading coefficient),此处所谓的衰落则主要来源于无线信道中的多径干涉(multipath interference)。上图中,M代表消息,X代表码字,n代表码长,下标m代表主信道,下标e代表窃听信道,H代表信道,Y代表BOB收到的码字,Z代表EVE收到的码字。当然,按照正常逻辑,不同码子之间的信道还是会改变的。不管是EVE端还是BOB端,信道衰落系数在不断改变,换句话说一个码字(codeword)会经历很多的衰落系数。下标中的i代表channel use。

2024-03-27 00:02:18 1005

原创 【群环域基础】:同态(homomorphism)

令R和S代表两个环(ring),同态可以简单理解成从R到S的某种映射,如下:接下来我将通过几个性质来解释下到底什么叫同态。

2024-03-14 15:22:36 2207

原创 【群环域】多项式环基础

令R代表环(Ring),多项式环中x对应的系数则取自于环R,其标准的表达形式如下:假如有另外一个多项式的表达形式如下:如果两个多项式对应的系数均相等,也就是:那么则可以说两个多项式相等,也就是f(x)=g(x)。简单观察下两个多项式的系数,不难发现:以及:在多项式g(x)中,x被称之为不定项(indeterminant),是首项系数(leading coefficient),是常数项(constant term)。

2024-03-12 16:08:25 1547

原创 【格密码基础】:详解closest lattice vector problem(CVP)问题

当然,穷搜也太傻了。我们采用刚才谈到的二分搜寻法,也就是借助已有的decisional CVP的oracle,确定最终的距离dist(t,L(B))也就只需要2logR步。格基向量的长度是确定的,那么R跟n之间是多项式关系,此算法最多也是多项式形式。也就是给定格(lattice),以及一个目标点,该目标点通常不是格点,我们的目的是找出离其最近的格点,该问题计算上是困难的。其实CVP问题有三种变式情况,第一种就是找到离其最近的格向量,第二种就是找出最近的距离,第三种是判定其距离是否小于某个已知的常数。

2024-02-01 23:37:18 1339 1

原创 【格密码基础】:详解Ring-SIS问题

在1998年,有关多项式环密码系统NTRU被提出。Ajtai提出了原始的SIS问题。在2002年,Micciancio发现可以将这两者结合,提出了效率更高的密码学上问题,也就是本文章将要介绍的SIS问题,已经对应的函数。在格密码专栏中,我将陆续更新Ring-SIS问题的定义,它与原始SIS问题的关系,其在最坏情况(worst case)下的困难性分析。而且还包含在环结构下,形成一个新的概念叫理想格(ideal lattice)。

2024-01-31 15:30:39 933

原创 【现代密码学基础】详解完美安全与香农定理

一次一密方案,英语写做one time pad encryption scheme一次一密方案可以实现完美安全(perfectly secret),但是这些方案是有局限性的,比如所有完美安全的方案密钥空间都要大于等于消息空间,这个定理待会我们会利用密码学专业术语进行证明。如果假定密钥的长度固定,消息空间(message space)里的明文长度也固定的话,那么完美安全就要求密钥的长度大于等于消息的长度。当然,如果密钥和消息长度一样的话,就像一次一密那样,则是最优的情况。

2024-01-27 18:00:00 2463 2

原创 【格密码基础】:补充LWE问题

已有的研究表明,先从足够大的高斯error中选取,再形成标准的LWE分布,然后再调整更大的维度,再将此分布作为后续search-LWE问题中的ai,那么形成的新问题在信息论(information-theoretically)上是无法解决的。要想证明其安全性的话,也比较直接。在2010年,Goldwasser等人发现,如果限定秘密的模长,或者将关于秘密的很难求逆的函数值(类似单向函数)告诉敌手,该问题的困难性和原始的LWE问题是一样的。只要给与敌手的样本个数为m是有上限的,那么LWE问题依旧是困难的。

2024-01-27 10:00:00 1231

原创 详解矩阵的LDU分解

比如先看第一个方程,Lc=b,我们首先解c1,接着解c2,以此类推,所以这个过程也被称之为正向(forward)求解。一般来讲,矩阵的LU分解与LDU分解往往是不一样的,当然有些地方也会将其称之为LDV分解,只是换个符号而已,本质是一样的。其中,A为任意方阵,L为下三角矩阵且对角线处元素均为1,U为上三角矩阵。总共有两个三角系统,无论是上三角还是下三角矩阵,复杂性是一样的,只不过解的顺序不同而已。在这个例子中,系数矩阵中的元素只有1,-1和0,所以解起来会更加简单,之前解方程的复杂度为。

2024-01-26 14:59:41 2769 1

原创 【格密码基础】基于LWE问题的密码系统

在2005年,Regev基于LWE问题提出了一个新的公钥密码方案。该方案可实现语义安全(semantic security),其中误差率(error rate)为:其安全性可利用量子算法归约到近似GapSVP和SIVP问题,其中近似因子取:该方案借鉴了两个工作,一个是1997年Ajtai-Dwork的工作,一个是2003年Regev的工作。但相比之下有两大优点比较突出。优点1:一般性(generality)该方案依赖的最坏(worst case)情况是近似GapSVP和近似SIVP问题。

2024-01-26 10:00:00 1485

原创 基于格理论来破解RSA公钥密码(3)【完结篇】

基于格理论来破解RSA公钥密码(1)-CSDN博客基于格理论来破解RSA公钥密码(2)-CSDN博客在以上文章中,我们证明了一个非常重要的定理,此处我们来简单回顾一下该定理想表达的内容。令N代表一个整数,f代表“首1”且次数为d的多项式,也就是满足:其中“首1”的含义是最高次数项的系数为1。下标N代表多项式的每个系数均小于N,类似于模N的效果。如果现在我们想求解一个方程为:该方程的本质就是求根。

2024-01-25 20:59:48 1199

原创 详解一次一密

一次一密,英语写做one time pad。在1917年,Vernam提出了一个完美安全的加密方案,后世将其称之为一次一密。在当时,完美安全的概念还没有引出,大约25年后,Shannon提出了完美安全的定义,并且证明了一次一密是符合完美安全的(perfect secrecy)。假定a为长度为l的比特串,如下:同理有个相同长度的比特串b,如下:两者的异或运算,写做bitwise exclusive,也就是XOR运算,如下:在一次一密方案中,密钥,消息,密文的长度均相等。

2024-01-24 20:00:00 2714

原创 详解线性分组码(linear code)

Low-density parity-check,简称LDPC码,翻译为低密度奇偶校验码。我们所熟悉的LDPC码就是一个典型的线性分组码(linear block code)。在接下来的讨论中,我们将主要关注二进制的线性分组码,也会简称为线性码。看完本文章,你将学会对偶码(dual code),陪集码(coset),线性分组码。这些都是网络安全编码领域常用的概念。

2024-01-24 10:00:00 3374

原创 基于格理论来破解RSA公钥密码(2)

但是,我们可以将f乘以某个整数,然后再mod N,此过程相当于对系数进行重组,一共有N个整数可以乘,那么应该会存在至少一种结果符合我们的要求,也就是该多项式的系数都相对较小。这样的话,当我们求出多项式g所有的根的时候,也就可以寻找到满足多项式f的小根。很显然,对这些多项式进行整数倍的组合,在mod N下与原始的多项式f的根是一样的。如果没有模运算的话,我们知道f(x)=0的解一定有d个,那么直接找出所有符合的解,并保留整数解,就可以了。在接下来的讨论中,大家可以把d想象成一个很小的常数,比如像d=3这类。

2024-01-22 21:10:17 1608

原创 详解矩阵的三角分解A=LU

总共分成三步,可以把每一步抽象成一种矩阵变换,第一步叫矩阵E,第二步叫矩阵F,第三步叫矩阵G,这些矩阵都可以被称之为初等矩阵(elementary matrix)。首先来看第一步的操作。用第i行减去第j行的l倍,那么相等于在矩阵的(i,j)位置,放上-l.对角线上均为1,其他位置均为0,这就是初等矩阵的规律。在线性代数领域,有三种初等行变换方法,然后将其应用于矩阵求矩阵初等行变换的基础是三种常用的矩阵初等行变换方法。该因子代表第i行减去第j行的主元,接着在第i行对应的位置出现0,则为实际高斯消元法的步骤。

2024-01-21 22:56:35 2740

原创 格密码基础:详解LWE问题(2)

忽略样本数m的变化,借助基本的经典归约,在网络安全领域,decision LWE问题的困难性与search-LWE问题的困难性是类似的,当然此步的归约过程一般是多项式尺寸的模q=poly(n)。通过标准式的格式,我们发现LWE与SIS的标准型很类似,通常来讲,我们会把SIS函数看成满射(surjective)的单向函数,LWE看成单射(injective)的单向函数。借助LWE的oracle,利用多项式时间的量子归约算法可解决最坏情况下的近似GapSVP和SIVP问题。

2024-01-21 17:15:35 1334

原创 【现代密码学基础】详解完美安全与不可区分安全

敌手完美不可区分,英文写做perfect adversarial indistinguishability,其中adversarial经常被省略不写,在密码学的论文中经常被简称为IND安全。完美不可区分与香农的完美安全是类似的。该定义来源于一个被动窃听的敌手试验:给敌手一个密文,然后让敌手猜测明文来源于可能得两个中的哪一个。这个过程其实也可以用计算安全来衡量。

2024-01-20 19:00:00 3357

原创 基于格理论来破解RSA公钥密码(1)

我们生活中常使用的网络浏览器,智能卡片都有RSA公钥密码的影子。从1977年,RSA密码系统提出,五十年来涌现出了大量的攻击算法。Hastad和Coppersmith创新性的用格密码理论来攻击RSA系统,尤其是公开指数较小的时候。实际上,对于低次数的多项式,可以利用LLL算法来找到其小解。这种思想便可以用来攻击RSA系统。由于智能卡片的运算能力有限,电池供能限制等等,如果在这些系统内部部署RSA时,加密过程的运算我们希望越简单越好。比如可以让以上公开的指数r尽可能小一点,比如r=3等等。

2024-01-20 10:00:00 1393

原创 详细推导BEC和BSC的信道容量

binary symmetric channel,简称BSC,中文翻译为二进制对称信道。binary erasure channel,简称BEC,中文翻译为二进制擦除信道。因为信道传输会出现差错,这是两种最简单的有差错的信道建模方法。

2024-01-19 17:10:51 3164

原创 格密码基础:详解LWE问题

Learning With Errors 简称 LWE,通常翻译为容错学习问题。在2005年,Regev首次提出了平均情况下的LWE问题。类似SIS问题,LWE也可以用来实现加密。这两类问题实际上互为对偶(dual)关系。接下来我们将介绍LWE的困难性以及基于LWE的密码系统。进阶的内容则包含LWE最坏情况的困难性,以及search和decision版本之间的归约。格密码基础:SIS问题的定义与理解-CSDN博客。

2024-01-19 14:01:19 2955

原创 格密码基础:最短格基与KZ基

KZ基的全称叫Korkine-Zolotarev格基,KZ基也被称之为最短的格基。接下来我们介绍什么是KZ基?给定任意秩为n的格,首先第一步寻找其最短的向量,记作,这个就是KZ基的第一个向量。格的扩展空间写做:将此扩展空间垂直投影于向量,形成一个子空间(subspace)。接着将格点投影于此子空间形成新的格点叫做,将此新的格中最短的格向量叫做。以上过程可直接抽象看成:接着寻找满足如下等式的向量:其中的取值如下:由此就可以确定原来的格的第二个格基。根据以上讨论我们发现。

2024-01-18 22:49:10 1473

原创 信道容量与信道编码定理

在点对点的通信中,将信源分布表示为:如果信源在空间U上是均匀分布,那么根据信源编码定理(source coding theorem),信源的熵可直接计算为:此时则无需特别设计信源编码的过程,只需要一一映射就可以了。

2024-01-18 10:19:47 1173

原创 行列式的性质

因此,当阶数 n 很大时,计算量相当大.所以,在计算行列式的值时,往往不用行列式的表达式.而是针对所给的具体行列式的特点,利用行列式的基本性质,将行列式的值求出来.。可以想到,如果对角线处的元素出现了0,那么也就出现了0行向量,那么该矩阵的行列式即为0,也就是所有的奇异矩阵(singular matrices)的行列式均为0。交换该矩阵的行向量位置,其行列式是不变的,布尔代数理论(Boolean algebra)告诉我们是是要改变符号的,能满足该性质的数也只有0了。

2024-01-17 23:30:13 2109

原创 矩阵行列式的四大应用

行列式可以反应矩阵的很多性质,比如可以求矩阵的逆,也可以求方程的解,如下:矩阵行列式有三个基础的性质:(1)单位阵单位阵的行列式为1,也就是:det I=1(2) 符号矩阵的行位置交换会影响行列式的符号(3)线性关系矩阵行列式与行向量之间呈现线性关系本文章将梳理矩阵行列式的四个基本应用。

2024-01-16 00:23:18 1765

原创 现代密码学基础(2)

在密码学中,K代表密钥,M代表明文,C代表密文,每个都有各自的概率分布。密钥是通过密钥生成算法Gen产生的,通常而言都是均匀且随机的形式选择密钥,如下:明文的分布通常跟密码方案是无关的,而是跟加密/解密方相关,也可以看成敌手(adversary)的不确定性,如下:比如,军队传递消息,明文可能是以下两者之一:这两者的概率有可能也不一样,比如:密钥K是由密码方案决定的,也就是由Gen确定。明文M取决于外部条件,所以,密钥K和明文M分布上通常是互相独立的。

2024-01-15 13:51:18 2310

原创 格密码基础:SIS问题的困难性

该归约的思路:给定任意n维格L的格基B,已知一个平均情况的SIS的oracle,目标是解决SIVP问题。当分布的方差大于格的光滑参数时,离散的格点就可以变成连续的均匀分布。如果能以不可忽略的概率解决SIS问题,那么就可以在随机的n维格上,解决近似GapSVP和SIVP问题。将此处的S看成一个矩阵。借鉴1996年Ajtai的工作,大量的工作开始研究最坏情况下的SIS问题的困难性。看成固定的常数的话,此时的q已经是最优的了。需要注意的是m和q的值会极大影响SIS问题的困难性,而且根据归约准则,当范数上限。

2024-01-15 07:14:56 1703

原创 【信息论安全】:信源编码定理

在点对点的通信中,信源编码定理(source coding theorem)满足可达性和可逆性。当信道是无噪声时,那么Y=X,这时就不需要信道编码。但是,信源编码依旧是有效的,可以提高数据传输效率,信源编码的单位通常是bits/source symbol。信源编码其实跟我们通常所说的数据压缩(data compression)很类似。信源整个可能序列记为,根据典型集理论,只有部分序列是有效的。讲这些有效的序列编号从1~|A|,由此可得:信源编码端:当从有效序列。

2024-01-14 16:39:55 1181

原创 格密码基础:SIS问题的定义与理解

short interger solution problem短整数解问题,简称SIS问题。1996年,Ajtai首次提出SIS问题,由此设计出了单向函数(one-way function),抗碰撞的哈希函数(collision resistant hash function),身份验证方案(identification scheme),数字签名(digitao signatures)等等。这些在网络安全领域,可以被称之为minicrypt原语。

2024-01-14 11:11:55 2439

原创 详解矩阵变换:伸缩,旋转,反射和投影

透视变换的转换矩阵也与仿射变换的矩阵不同,是一个 3×3 的矩阵。输入点为(x,y),经过矩阵变换后为(x,0),该点也是在x轴上且距离输入点最近的点。以上变换中的cx+dy中的x和y可以使多项式,可以是矩阵,还可以是函数x(t)和y(t),只要满足如上关系都可以看成线性变换。如果给出的矩阵A是m行n列的,那么就可以从n维向量变换到m维向量,换句话说长方形的矩阵(非方阵)也满足如上线性变换。如果输入分别为x和y,对应的输出为x'和y',那么当输入为求和x+y时,输出也肯定为x'+y'。

2024-01-13 22:22:17 3878

原创 密码学基础

随机性来源于独立或均匀的随机比特,从而产生非确定性的算法。举个简单例子,我们可以通过手动抛硬币来产生少量的随机且均匀的比特串。密码学中把产生随机数的模块叫做随机数生成器(random number generation),其内部的运行可以简单的分成两步。第一步:高熵的数据源我们知道事件不确定性越大,其熵也就越大。首先收集来自高熵源的数据,这些数据可以来源外部输入,比如网络延迟率,硬盘写入时间,键盘敲击次数,鼠标移动路径等等。当然也可以利用更加随机且不可预测的事件来作为熵源。

2024-01-13 10:46:09 2072

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除