加密与解密

本文详细介绍了加密与解密的基本原理,并通过C语言设计了加密解密程序。程序首先根据密钥转换成操作码,然后将文本字符分为三类进行加密,包括非小写英文字母、偶数ASCII码的小写英文字母和奇数ASCII码的小写英文字母。解密过程则是加密的逆操作,确保能恢复原文。为了提高安全性,还提出了改进的加密算法,增加了对密钥处理的复杂性和字符位置的考虑,使得加密后的文本更难以被破解。
摘要由CSDN通过智能技术生成

加密与解密是通信中最常用的数据转换手段,先了解加密与解密的基本过程;

加密:应用加密算法与密钥对明文(尚未加密的原文)实施加密,转换成密文发送

解密:接收到密文后,应用相应算法与同一密钥对密文解密,转换为明文

加密与解密的双方根据事先的基本约定(包括加密算法)与所给密钥进行加密或解密,而第三方不知约定,即使知晓密文与密钥,也很难进行解密了解通信的内容;

试设计简单的加密与解密程序,并进行运行演示;

1.加密与解密双方事先的约定:

(1)、密钥转换为操作码;

把密钥r(约定为3~4为整数)的各位数字相加,所得的和除以4的余数再加1,得到加密操作码m;

(2)、文本字符分为三类分别加密转换;

1)、非小写英文字母加密;

明文中的所有非小写英文字母(约定为ASII码小于97的字符)加密转换为其ASII码减去(10+m)所对应的ASII字符;

2)、ASII码为偶数的小写英文字母;

若小写英文字母的ASII码为偶数,把该字母转换为其对称的英文字母(例如a与z对称,b与y对称等)后,再加上加密操作码m所对应的ASII字符;

3)、ASII码为奇数的小写英文字母;

若小写英文字母的ASII码为奇数,把该字母转换为其对称的英文字母后,再减去加密操作码m所对应的ASII字符;

2.设计要求:

设置数组char s[120]存储明文,int b[120]存储密文,int c[120]存储解密文;

(1)、密钥r的处理;

通过循环求余得r的各位数字和m,经m=m%4+1迭代得唯一的加密操作码m;

输入密钥r比较大(约定3~4位整数),这样可增加第三者试图解密的难度,实际上由密钥r所得的实际加密操作码m并不大,方便操作;

(2)、小写英文字母以外字符转换;

注意到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值