随笔分类 -  密码学

摘要:乘积密码体制是通过“乘积”组合密码体制。在现代密码体制的设计中非常重要,比如高级加密标准 AES。 代码实现(Python 3) #print('***** MultiplicativeCipher *****') #multiplicative_cipher_encrypt('hello',5) 阅读全文
posted @ 2021-12-21 22:28 vicky2021 阅读(1257) 评论(0) 推荐(0) 编辑
摘要:一次一密加密法,是不可破译的,它仅是在维吉尼亚加密法上增加以下条件:[1] 密钥要和加密的消息同样长。 密钥由真正的随机符号组成。 密钥只能使用一次,永远不对其它消息重复使用。 每个明文字符可以被等概率地加密成任何一个密文字符。反过来说,每个密文字符都可以被等概率地解密成相同的明文字符 这意味着什么 阅读全文
posted @ 2021-12-19 10:23 vicky2021 阅读(2372) 评论(0) 推荐(0) 编辑
摘要:1949年,克劳德·香农在Bell Systems Technical Journal上发表了题为“Communication Theory of Secrecy Systems”的论文 —— 这篇论文使得密码学有了数学的基础。 密码体制安全性的方法 计算安全性 Computational Secu 阅读全文
posted @ 2021-12-11 22:22 vicky2021 阅读(2743) 评论(0) 推荐(0) 编辑
摘要:连续的明文元素使用相同的密钥K来加密的:y=y1y2...=eK(x1)eK(x2)...,这样类型的密码体制通常被称为分组密码(Block Cipher);另一种被广泛使用的密码体制是流密码(Stream Cipher),基本思想是产线 一个密钥流z=z1z2...,然后使用它根据下属规则来加密明 阅读全文
posted @ 2021-12-10 21:41 vicky2021 阅读(624) 评论(0) 推荐(0) 编辑
摘要:之前讨论的密码体制都是代换密码,即明文字母被不同的密文字母所代替。置换密码的特点是保持明文的所有字母不变,只是利用置换打乱明文字母的位置和次序。 例如,设m=6,密钥为如下的置换π: 置换π-1: 若明文是:shesellsseashellsbytheseashore,则首先将明文字母分成为每6个一 阅读全文
posted @ 2021-12-08 22:23 vicky2021 阅读(1552) 评论(0) 推荐(0) 编辑
摘要:另一种多表代换密码是希尔密码,这种密码体制是Lester S. Hill于1929年提出的。希尔密码的主要思想是利用线性变换的方法,只是这种变换是在Z26上进行的。 例如,设m=2,每个明文单元使用x=(x1,x2)来表示,同样密文单元使用y=(y1,y2)来表示。具体加密中,y1,y2将被表示为x 阅读全文
posted @ 2021-12-08 21:34 vicky2021 阅读(1221) 评论(0) 推荐(0) 编辑
摘要:移位密码和代换密码,一旦密钥被选中,则每个字母对应的数字都会被加密,变换成对应的唯一数字。 这种密码体制被称为单表代换密码。 维吉尼亚密码是一种多表代换密码,发明者是16世纪的法国人Blaise de Vigenere。 假设m=6,密钥字为CIPHER,对应如下的数字串K=(2,8,15,7,4, 阅读全文
posted @ 2021-12-07 08:27 vicky2021 阅读(3969) 评论(0) 推荐(0) 编辑
摘要:代换密码的另一个特殊情形是仿射密码,它的加密函数定义为 e(x)=(ax+b)mod 26,其中a,b∈Z26 —— 因为这样的函数被称为仿射函数,所以这样的密码体制也被称为仿射密码(当a=1时,正好是移位密码)。 为了能对密文进行解密,必须保证所选用的仿射函数是一个单射函数,则对于任意的y∈Z26 阅读全文
posted @ 2021-12-06 22:56 vicky2021 阅读(2922) 评论(0) 推荐(0) 编辑
摘要:另一个比较有名的古典密码体制是代换密码,它是代换密码的一种特殊情形。 在移位密码中,加密和解密都是代数运算,但是在代换密码中,可以认为P和C是26个英文字母,并且可以认为加密和解密的过程直接看作是在一个字母表上的置换。 任意取一置换,即可得到加密函数,见下表(小写字母表示明文,大写字母表示密文): 阅读全文
posted @ 2021-12-03 07:40 vicky2021 阅读(1009) 评论(0) 推荐(0) 编辑
摘要:移位密码的理论基础是数论中的模运算。 模运算的基本定义:假设a和b均为整数,m是一正整数。若m整除a-b,则可将其表示为a≡b(mod m),正整数m称为模数。 模运算m上的算术运算定义:令表示集合{0,1,...,m-1},在其上定义两个运算,加法(+)和乘法(x) —— 运算类似于普通的实数域上 阅读全文
posted @ 2021-12-02 22:57 vicky2021 阅读(4967) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示