向量内积在密码学中的应用终稿(1)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

向量内积在密码学中的应用
摘要
随着信息技术的迅猛发展,信息安全得到了更多的关注,密码应用更加社会化与个人化,越来越多的信息需要严格保密。

利用矩阵进行加密是信息编码的技巧,结合矩阵加密的过程,并考虑到密码的安全性能,该论文创新性的尝试利用向量的内积对信息进行加密。

在加密过程中,要求原明文是a z
的字母(至少有三个字母)组成,通过加密后所得密文为矩阵,并通过举例法给出加密与解密全过程。

关键词:密码;信息安全;向量内积
Abstract
With the rapid development of information technology, more attention has been paid to the information security, cryptographic application more socialization and personalization, more information has to be kept strictly confidential. By using the matrix to encrypt information coding techniques, combined with the process of matrix encryption, and taking into account the safety performance of the password, try the innovative use of inner product of vectors to encrypt the information. In the encryption process, the requirement of the original plaintext is letters (at least three letters), through the encrypted ciphertext as the matrix, and through the example given by encryption and decryption process.
Keywords: cipher; information security; vector inner produc
1引言
随着互联网和电子商务等各方面的迅猛发展,信息安全的重要性日益突出。

加密技术是互联网和电子商务等采取的主要安全保密措施。

利用矩阵进行加密是信息编码的技巧,结合矩阵加密的过程,该论文创新性的利用向量的内积对信息进行加密,尽量使密码的安全性能更好,并给出了加密与解密全过程。

加密过程中,被隐蔽的消息称为明文,隐蔽后的消息称作密文或密报,将明文变换成密文的过程称作加密,由密文恢复出原明文的过程称作解密。

加密算法和解密算法的操作通常是在一组密钥的控制下进行的,分别称为加密密钥和解密密钥。

2 向量内积的相关概念
定义1 设βα,为n 维向量,则称cos αβθ(其中0θπ≤≤,表示α与β的夹角)为α与β的内积,记作βα⋅.即βα⋅=cos αβθ .
若已知()12,,,n a a a α=
()12,,,n b b b β=
则它们的内积可用坐标表示为 1122n n a b a b a b αβ⋅=+++. 注意两个向量的内积是一数量,且该运算符合下列运算规律,
αββα⋅=⋅ (交换律)
()αβγαβαγ⋅+=+(分配律).
3 向量内积在密码学中的应用
通过学习矩阵加密的过程,该论文创新性的利用向量的内积对信息进行加密,得到一密文矩阵,下面结合例子给出具体的加密与解密过程。

3.1 加密
把明文中的字母按a z -与025-一一对应为一组数,若明文字母个数为奇数,则在所得数组最后添一个1补为偶数个,再将该数组等分为两个同维的向量α与β,把所得这两个同维向量α与β作内积便会得到一个数,最后把以上加密所得信息都写在密文中,密文将通过矩阵给出,即密文矩阵。

在密文矩阵中,第1列向量为分组后所得第一个向量α;第二列向量的第一个分量为明文分组后所得两向量的内积βα⋅,第二个分量为不定方程(在解密过程中,为了从密文矩阵中求出分组后所得第二个向量β,需进行内积的逆运算而得到的方程)的所有正整数解按字典排序法排序后,分组所得第2个向量β所在的位置,其余分量加0补齐;第三列的向量用来识别原明文字母个数的奇偶性,若为奇数,则第三列的每个分量都为1,若为偶数,则第三列的每个分量都为0.显然该密文矩阵为3n ⨯的矩阵,其中n 为分组后所得向量α与β的维数.
例1 明文 july
按 a z -与025-一一对应得一数组 9,20,11,24.
记 ()9,20α= ()11,24β=
作内积579420119=⨯+⨯=⋅βα
又()11,24β=为不定方程 ()1212920579025,025x x x x +=≤≤≤≤的所有正整数解按字典排序法排序后的第1组解
于是,根据以上加密的过程可得密文矩阵957902010k ⎛⎫= ⎪⎝⎭
例2 明文 sleep
按 a z -与025-一一对应得一数组 18,11,4,4,15. 因为sleep 中有奇数个字母,所以最后加1得18,11,4,4,15,1..
记 ()18,11,4α= ()4,15,1β=
作内积241141511418=⨯+⨯+⨯=⋅βα
又()4,15,1β=为不定方程
12318114241x x x ++=()123025,025,025x x x ≤≤≤≤≤≤的所有正整数解按字典排序法排序后的第27组解,
于是,根据以上加密的过程可得密文矩阵18241111271401k ⎛⎫ ⎪= ⎪ ⎪⎝⎭
3.2 解密
解密也就是加密的逆过程,但必须知道密钥.当收信人收到密文矩阵时按双方事先约定的规则(密钥)便可得出原明文。

对上面的例1进行解密
当收到密文矩阵957902010k ⎛⎫= ⎪⎝⎭
时, 由矩阵的第一列可得原明文分组后第一个向量()9,20α=;
综合密文矩阵的第1列与第2列,有不定方程
()1212920579025,025x x x x +=≤≤≤≤
且知道原明文分组后第二个向量β是该不定方程所有正整数解按字典
排序法排序后的第1组解,又此不定方程的正整数解为⎩⎨⎧==24112
1x x 故原明文分组后第二个向量()11,24β=;
从密文矩阵的第三列可得原明文含有偶数个字母;
再把αβ与放一起得一数组9,20,11,24.最后该数组对应到字母便是原明文july .
对上面的例2进行解密
当收到密文矩阵18241111271401k ⎛⎫ ⎪= ⎪ ⎪⎝⎭
时,
由矩阵的第一列可得原明文分组后第一个向量()18,11,4α=;
综合密文矩阵的第1列与第2列,有不定方程
12318114241x x x ++=()123025,025,025x x x ≤≤≤≤≤≤
且知道原明文分组后第二个向量β是该不定方程所有正整数解按字典排序法排序后的第27组解(该解可通过matlab 求得),
故原明文分组后第二个向量()4,15,1β=;
从密文矩阵的第三列可得原明文含有奇数个字母;
再把αβ与放一起得一数组18,11,4,4,15,1,去掉最后一个数便得
18,11,4,4,15,最后该数组对应到字母便是原明文sleep .
4 结语
该论文是我们的创新,可以更好的提高密码的安全性能,但也有不足之
外,比如从加密到解密的整个算法可以尝试通过计算机去解决,这也是我们需要努力的方向.
利用矩阵进行加密是信息编码的技巧,其应用范围非常广泛。

而向量又是一种特殊的矩阵,向量的内积又是向量之间最常见得运算。

因此,我们应当将所学的抽象知识具体应用到生活的各个方面,同时也可以培养我们应用数学知识解决实际问题的能力.。

相关文档
最新文档