自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 信息隐藏技术概述

信息隐藏技术概述引言一、信息隐藏技术的基本概念二、信息隐藏技术的原理三、信息隐藏的模型1. 信息嵌入算法2. 信息提取算法四、信息隐藏的算法1. 空域算法2. 变换域算法3. 统计特性算法4. 压缩域算法NEC算法生理模型算法五、信息隐藏技术的应用1. 军事通信2. 版权保护3. 隐写术4. 身份认证六、结论信息隐藏技术是一种通过将信息嵌入到另一个载体中,以实现在不影响载体正常使用的同时,对嵌入的信息进行隐藏和传递的技术。它在保护信息安全、版权保护、隐写术、水印技术等领域具有广泛的应用。

2024-03-17 16:21:06 1100

原创 暴力破解凯撒密码 python代码

具体来说,破解者可以通过对密文中每个字母出现的频率进行统计和分析,找出出现频率最高的字母,并将其替换为最可能的明文字母。然后,可以继续对其他字母进行分析和替换,逐步还原出完整的明文。此外,还可以使用一些统计学方法来分析字母之间的关联性,从而进一步帮助破解者确定某些字母的明文对应。然而,需要注意的是,随着现代密码学的发展和技术进步,凯撒密码等简单加密技术已经被认为是不安全的,容易被现代计算机快速破解。因此,在现代通信和信息安全领域,更加复杂和安全的加密算法被广泛使用。

2024-03-17 16:00:45 553

原创 MD5算法 python

个人博客 qinquanquan.com。

2024-03-17 10:33:26 334

原创 基于椭圆曲线的秘密分享和恢复方案 python

基于椭圆曲线的秘密分享和恢复方案的安全性取决于椭圆曲线参数的选择。在实际应用中,需要确保椭圆曲线参数的选择是足够安全的,以防止攻击者破解生成的分享。此外,由于椭圆曲线运算的计算量较大,因此在实际应用中需要考虑性能问题。函数的主要逻辑是使用拉格朗日插值计算恢复的秘密值。在每次循环中,计算拉格朗日插值,并更新恢复的秘密值。基于椭圆曲线的秘密分享和恢复方案。椭圆曲线是一种数学结构,在这个例子中,使用了椭圆曲线的拉格朗日插值来生成和恢复秘密。在每次循环中,计算每个分享的值,并将分享的索引和值添加到分享列表中。

2024-03-08 17:21:39 495 1

原创 Shamir门限分割方案 python

Shamir门限分割方案是一种基于数学方法的密钥分割技术,它允许将一个密钥分割成多个部分,其中任意集合中的k个部分可以重新组合成原始密钥。Shamir门限分割方案的安全性取决于秘密和分享数量的选择,以及分享的随机性。在实际应用中,需要确保秘密和分享数量的选择是足够大的值,以防止攻击者破解生成的分享。,然后使用这些系数计算分享的值。最后,返回生成的分享列表和素数。函数从部分分享中恢复秘密,并将恢复的秘密值打印出来。函数,并将生成的分享列表打印出来。在程序的最后部分,使用示例中的。

2024-03-05 16:50:29 840

原创 Diffie-Hellman密钥交换协议 python

Diffie-Hellman密钥交换协议的安全性取决于共享的素数p和原根g的选择。在实际应用中,需要确保p和g是足够大的值,以防止攻击者利用数论中的离散对数问题破解密钥。在程序的最后部分,首先定义共享的素数p和原根g。然后,Alice和Bob分别生成私钥和公钥,并交换公钥。最后,他们使用彼此的公钥和自己的私钥生成共享密钥,并打印结果。函数的主要逻辑是生成一个私钥和一个公钥。首先,生成一个1到p-1之间的随机整数作为私钥。函数的主要逻辑是生成一个共享密钥。个人博客 qinquanquan.com。

2024-03-04 13:04:37 681 1

原创 离散指数比特产生器 python

离散指数分布是一种概率分布,其概率质量函数在非负整数上是指数函数。在每次循环中,首先生成一个0到1之间的均匀分布随机数。转换为一个二进制位(0或1),并将其添加到结果列表。,然后使用离散指数分布的概率质量函数计算随机数。是足够大的值,以防止攻击者破解生成的伪随机数。个人博客 qinquanquan.com。最后,返回生成的二进制字符串。离散指数分布的安全性取决于速率参数。在实际应用中,需要确保。函数的主要逻辑是生成一个包含。

2024-03-01 09:04:57 248 1

原创 Rabin随即比特产生器 python

Rabin随机比特生成器是一种基于大质数的伪随机数生成器,由Michael O. Rabin于1980年提出。rabin_random_bit_generator 函数,不接受任何参数。其主要逻辑是选择两个大质数。是足够大的质数,以防止攻击者破解生成的伪随机数。Rabin随机比特生成器的安全性取决于大质数。个人博客 qinquanquan.com。在实际应用中,需要确保。,然后生成一个介于1和。第二个版本中,修改了。

2024-02-27 22:49:00 290

原创 BBS(Blum-Blum—Shub)产生器 python

BBS算法是一种基于大质数的伪随机数生成器,由Ralph Blum、Yaacov Shapira和Michael Shub于1986年提出。是足够大的质数,以防止攻击者破解生成的伪随机数。个人博客 qinquanquan.com。最后,返回生成的二进制字符串。BBS算法的安全性取决于大质数。在实际应用中,需要确保。,然后取模2得到一个二进制位。接下来,使用一个循环来生成。,并将其添加到结果字符串。函数的主要逻辑是计算。

2024-02-26 14:14:16 508 1

原创 ANSI X9.17 python

ANSI X9.17是一种伪随机数生成器,是一个美国国家标准协会(American National Standards Institute,ANSI)发布的关于伪随机数生成器的标准。函数的主要逻辑是创建一个DES加密器,并使用系统当前时间作为向量;然后,使用DES加密器对向量进行加密,并与种子进行异或操作,生成伪随机数;最后,将生成的伪随机数作为新的种子,并将其返回。最后,生成一个随机的8字节的种子和密钥。个人博客 qinquanquan.com。

2024-02-25 20:57:01 715 1

原创 DES的输出反馈(OFB)模式 python

库来实现一个基于DES算法的伪随机数生成器(Pseudo-Random Number Generator,PRNG)。最后生成一个随机的8字节的密钥和初始化向量。使用这个密钥和初始化向量来创建一个DES cipher对象,并设置其模式为OFB。函数的主要逻辑是创建一个DES cipher对象,并设置其模式为OFB(Output Feedback)。函数对明文进行填充,以确保其长度是DES算法的块大小(8字节)的整数倍。方法对填充后的明文进行加密,生成伪随机数。个人博客 qinquanquan.com。

2024-02-25 20:56:15 340 1

原创 循环加密伪随机数产生器 pyhton

函数的主要逻辑是通过一个循环,将输入字符串中的每个字符与密钥中的相应字符进行异或操作。异或操作是一种简单的加密方法,通过将两个字符的ASCII码进行异或操作,可以得到加密后的字符。最后,函数返回加密后的字符串。用于生成一个1到100之间的随机数,并使用一个随机密钥对其进行加密。它首先生成一个随机数,然后生成一个随机密钥,并使用。生成器生成一个1到100之间的随机数,然后使用一个随机密钥对其进行加密。最后,程序生成并打印了10个加密的随机数。最后,函数返回加密后的随机数。函数10次,打印生成的加密随机数。

2024-02-25 20:54:51 464 1

原创 基于线性同余的伪随机数产生器 python

基于线性同余的伪随机数生成器(Linear Congruential Generator,LCG)是一种生成伪随机数的算法。它的工作原理是通过一个线性方程来生成一系列数字,这些数字具有良好的随机性,可以用于各种领域,如密码学、模拟、游戏等。函数的主要逻辑是通过一个循环,每次迭代中,根据线性同余方程计算下一个随机数,并将其添加到结果列表中。最后,函数返回生成的随机数列表。这意味着每次运行该函数时,生成的随机数序列都将是不同的,因为种子值会随着时间的推移而改变。个人博客 qinquanquan.com。

2024-02-24 14:45:58 503

原创 SM4国密算法 python

个人博客 qinquanquan.com。

2024-02-23 16:35:16 1064

原创 SM2国密算法 python

个人博客 qinquanquan.com。

2024-02-22 18:03:50 543 1

原创 RSA密码算法 + python代码

因为m,n不互素,意味着m,n有公约数。故 m 只能是 p 或 q 的倍数。由于 m

2024-02-21 05:07:45 1435

原创 背包密码 + python代码

(1)以超递增序列构建背包 eg. {2, 8, 18, 33, 65, 144}(2)选定 m ,n,满足 m 大于递增背包所有元素之和,且 m 与n 互素。(2)将序列位置对应为 1 的元素依次取出并求和,每一组皆如此。(3)根据递增背包的性质,则很容易求出二进制明文。密文:12 + 18 + 36 = 66。个人博客:qinquanquan.com。(1)先求出 n 在模 m 下的逆元。(1) 将明文按照公钥序列的长度分组。背包密码的公钥由私钥产生。

2024-02-20 00:08:12 1505

原创 IDEA密码算法 + C++代码

IDEA密码算法

2024-02-19 10:36:12 598 1

原创 AES密码算法 + python代码

以原始密钥作为输入,得到AES需要的子密钥。子密钥的个数等于轮数加一。AES的密钥编排是面向单词的,一个单词 = 32 位。

2024-02-18 23:51:01 329 1

原创 DES加密算法 + python代码

为48比特,函数F(R,K) 为 32比特明文经E拓展为48比特后,与置换选择2后的48比特密钥进行异或运算,再经过s盒以及P置换后的结果。对于S盒,有6比特输入,第1和第6比特形成的2进制数用于选定行,中间四个比特用来选定列。和 Feistel 密码一样,DES 的解密和加密使用同一算法,但子密钥使用的顺序相反。下图是DES加密算法的轮结构。

2024-02-18 23:49:46 1133

原创 多表代换密码原理 + python代码

与 numpy.array() 不同,numpy.mat() 会返回一个二维矩阵,而不是一个 n 维数组。numpy.reshape()函数用于改变数组的形状,即重新排列数组的维度。它接受一个数组作为输入,并返回一个具有新形状的数组,而不改变原始数组的数据。在这些示例中,np.dot(a, b)计算了一维数组a和b的点积,结果为32。其中,a和b是要计算点积的两个数组,可以是一维数组、二维数组或多维数组。. 我们可以知道22,6,8对应的是W,G,I. 加密就此完成。

2024-02-18 23:46:29 1566

原创 仿射变换原理 + python代码

这里的实验测试需要提前在py文件的同级目录下,创建 Message_test.txt, Affine_Encrypted.txt, Affine_Decrypted.txt.在python中,ord( )函数返回一个表示特定字符的Unicode字符的整数。在明文文件中提前写好要加密的内容,执行代码后,再打开加解密文件,就会看到加密数据和解密数据了。这里的密钥分别设置为a = 5, b = 8. 可以根据需要自行更改。这里不做展示了,结果会出现在存放加解密数据的.txt文件中。其中a, b 为密钥,且满足。

2024-02-18 23:43:06 1169

原创 凯撒密码python代码

在python中,ord( )函数返回一个表示特定字符的Unicode字符的整数。这个函数接受一个字符串参数(长度为1),并返回其Unicode码点。这些数字是字符在Unicode标准中的位置。个人博客:qinquanquan.com。函数输入设置为明文与移动位数。

2024-02-18 23:42:05 790

空空如也

空空如也

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

TA关注的人

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