一个matlab程序加密后只能通过密码或者生成密钥来运行程序如何实现

一个matlab程序加密后只能通过密码或者生成密钥来运行程序如何实现,第1张

n=4;%%%设定允许输入密码的次数即可。

一、需要对数据进行加密解密,而Hill密码学作为以现行代数和矩阵为基础的密码学,对于处在大学的我们是具有相当价值的。实际应用中通过手工破译密码是相当困难的,本文借助了Matlab的推导与计算功能,编写了相应的程序,准确快速的实现了HiLL密码的加密、解密与破译的工作,使其在实际中得到推广。 

二、密码学的发展久远大体可以分为几个阶段第一阶段为从古代到1949年。这一时期可以看作是科学密码学的前夜时期,这阶段的密码技术可以说是一种艺术,而不是一种科学,密码学专家常常是凭知觉和信念来进行密码设计和分析,而不是推理和证明。

三、密码学直到今天仍具有艺术性,是具有艺术性的一门科学。这段时期密码学理论的研究工作进展不大,公开的密码学文献很少。20世纪70年代,在IBM沃森公司工作的菲斯特提出菲斯特密码体制,成为当今著名的数据加密标准DES的基础。

四、Rivest、Shamir和Adleman等三人公布了RSA密码体制,是一个真正实用的公钥密码体制,可以用于公钥加密和数字签名。

五、在密码分析领域,王小云教授对经典哈希算法MD5、SHA-1等的破解是近十年密码学的重大进展。随着计算能力的不断增强,现在的DES已经变得越来越不安全。美国国际标准研究所于2000年选择Rijndael作为高级加密算法AES取代DES。

六、密码的基本含义是:原始信息(称为明文)按指定规则(称为算法)转换(此过程称为加密)为使非授权者无法了解的特定符号,这些转换而来的符号(称为密文),必须具有已授权者可以恢复(此过程称为解密)出来的特性;所谓已经授权是指他合法地拥有了可以解密密文的关键信息(称为密钥)。

七、运用的数学手段是矩阵运算,其原理如下:首先将26个英文字母与模26的余数Z26建立一一对应,即A1,B2,…Y25,Z0,通过这种对应关系,把明文变换成数字串X,其次,取定一个正整数m及一个Z26上m阶可逆矩阵K(称为密钥),依次取X的m个数字组成Z26上的向量x=(x1,x2,…xm),利用密钥K加密为y=(y1,y2,…ym)=xK,把所有的y转变为字母,即得密文。

是对报告进行加密解密还是用matlab加密解密,如果是前者,直接下载个加密解密程序使用即可,如果是后者,在生成报告前进行加密处理,在读报告时进行解密处理,加密解密算法可以在网上下载,有matlab源码。

function jiami

%%%%简单的加密程序,仅供参考

n=4;%%%设定允许输入密码的次数

code=345;%%%设定密码

mima=input('请输入密码,密码格式提示:应为000-999的整数:');

while mima~=code

n=n-1;

if n>0

disp(['密码错误,您还有',num2str(n),'次机会'])

mima=input('请输入密码,密码格式提示:应为000-999的整数:');

end

if n==0

break

end

end

if n>0

disp('密码正确,您被允许访问目标程序')

bbb%%%你的需要加密的程序

else

disp('已超过最大密码输入次数,您被禁止访问目标程序')

end

end

function bbb

disp('你好!')

end

看看这个程序函数main() - 北美%,其主要思想是选择从两个图像信息,然后争先恐后到一个单一的形象。

%,可以从多个(2 n个)按照上述思路的图像进行加密,得到一半的数量(n个)图像。

%所获得的图像隐藏的自适应算法中,并且能够获得第(n-1)个图像。

%对于第(n-1)个图像Arnold变换的,第(n-1)作为密钥块的图像,此外,密钥有迭代的次数,加扰规则,阿诺德加密规则 BR>%阿诺德的主要缺点是较大的周期,程序运行的时间很长,我的电脑需要8分钟,另一个,阿诺德只能处理方阵大量的扰码加密算法,程序中使用的图像

%扰码加密算法,只有一个办法,只是提出了占地多图像加密的思想,有要迟到做了很多工作。

%阅读4画面

F1 = imread('lenagif');

F2 = imread('monkeygif');

F3 = imread('housegif');

F4 = imread('cameramangif');图像置乱

pic1_zhiluan = zhiluan(F1,F2) - 北美%;

pic2_zhiluan = zhiluan(F3,F4);

%的显示失真的图像

pic1_zhiluan = UINT8(pic1_zhiluan);

图,imshow(pic1_zhiluan),标题(“1 zhiluan') - 欧洲pic2_zhiluan = UINT8(pic2_zhiluan);

图,imshow(pic2_zhiluan),标题(“PIC2 zhiluan') - 中东%的两幅图像都争先恐后地隐藏

X1 =输入('请输入一个混合迭代参数:' );

pic1_hide =隐藏(pic1_zhiluan,X1,pic2_zhiluan);图像

%是经过Arnold置乱加密

diedai1 =输入隐藏的('输入参数迭代:')

pic1_jiami =阿诺德(pic1_hide,diedai1,0);

%,显示加密图像

pic1_jiami = UINT8(pic1_jiami);

图,imshow(pic1_jiami),标题(“1佳米') - 欧洲diedai2 =输入('请输入一个迭代参数:')

pic2_jiami =阿诺德(pic2_zhiluan,diedai2,0);

pic2_jiami = UINT8(pic2_jiami);

图,imshow(pic2_jiami),标题(“PIC2佳米') - 北美%解密图像

pic1_jiemi =阿诺德(pic1_jiami,diedai1,1);

pic2_jiemi =阿诺德(pic2_jiami,diedai2,1);隐藏图像

pic1_huifu =惠福(pic1_jiemi,X1,pic2_jiemi)以后 -

%的回收率;

%争先恐后逆过程,得到的

恢复[较受欢迎,图像2] = ni_zhiluan(pic1_huifu);

[为image3,为image4] = ni_zhiluan(pic2_jiemi);

%,显示每个图像

F1 = UINT8(F1);

图,imshow(F1),标题(“F1”);

图,imhist(F1),标题(“F1直方图');

较受欢迎= UINT8(较受欢迎);

图,imshow(较受欢迎),标题(“较受欢迎”);

图,imhist(较受欢迎),标题(“较受欢迎直方图');

F2 = UINT8(F2);

图,imshow(F2),标题('F2');

图,imhist(F2),标题('F2的直方图');

较受欢迎= UINT8(2);

图,imshow(2),标题(“图像2');

图,imhist(2),标题(“直方图的图像2');

F3 = UINT8(F3);

图,imshow(F3),标题(“F3”);

图,imhist(F3),标题(“F3的直方图');

为image3 = UINT8(为image3);

图,imshow(为image3),标题(“为image3');

图,imhist(为image3),标题(“直方图为image3');

F4 = UINT8(F4);

图,imshow(F4),标题(“F4”);

图,imhist(F4),标题(“F4的直方图');

为image4 = UINT8(为image4);

图,imshow(为image4),标题(“为image4');

图,imhist(为image4),标题(“为image4直方图”

可以预编译成二进制文件:pcode testm会得到一个testp的文件,用法和m文件一样,但是别人看不到源代码。

无法破解,所以你可以提供p文件给别人,别人完全可以当作m文件来用,只需要你提供函数的接口,但是他永远无法知道m的内容

以上就是关于一个matlab程序加密后只能通过密码或者生成密钥来运行程序如何实现全部的内容,包括:一个matlab程序加密后只能通过密码或者生成密钥来运行程序如何实现、如何给MATLAB生成的报告进行加密和解密、我编写了一个matlab程序,想给程序加密,加密后只能通过密码或者生成密钥来运行程序,如何实现等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9488443.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存