IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 电文加密---通过C语言实现 -> 正文阅读

[C++知识库]电文加密---通过C语言实现

? ? ? ? ? ?

题目是这样的:

著名的密码学者Ron Rivest解释道:“密码学是关于如何在敌人存在的环境中通讯”,密码学是信息安全等相关议题,如认证、访问控制的核心。密码学已被应用在日常生活:包括 自动柜员机的芯片卡、电脑使用者存取密码、 电子商务等等。 在通信过程中,待加密的信息称为明文,已被加密的信息称为密文,仅有收、发双方知道的信息称为密钥。在密钥控制下,由明文变到密文的过程叫加密,其逆过程叫脱密或解密。 由于古时多数人并不识字,最早的秘密书写的形式只用到纸笔或等同物品,随着识字率提高,就开始需要真正的密码学了。最古典的两个加密技巧是:

(1)置换(Transposition cipher):将字母顺序重新排列,例如‘help me’变成‘ehpl em’。

(2)替代(substitution cipher):有系统地将一组字母换成其他字母或符号,例如‘fly at once’变成‘gmz bu podf’(每个字母用下一个字母取代,密钥为1)。

本关任务:

本任务采用替代密码,对一段电文进行加密: 将电文中的大(小)写字母变为其后的第n(如n=3时)个字母,并将最后n个字母,如n=3时的X、Y、Z变为A、B、C。 例如,密钥n=1时: 输入明文:fly at once
经加密后的密文为:gmz bu podf

例如,密钥n=3时: 输入明文:fly at once
经加密后的密文为:iob dw rqfh

例如,密钥n=25时: 输入明文:Fly at once
经加密后的密文为:Ekx zs nmbd

相关知识:

明文、密文、密钥、加密和解密; 替代密码

编程要求

将电文中的大写字母变为其后的第n(小于等于26)个字母,并将最后n个字母,如n=3时的X、Y、Z变为A、B、C。

本关涉及的代码文件的代码框架如下: #include <stdio.h> // 标准输入输出库函数 int main() // 定义main函数 { int ch; //存字符的ASCII码值 int n; //n存密钥,如1,3,25 scanf("%d",&n); getchar(); //吸收回车键值 // 请在此添加算法核心代码 /** Begin *****/

/** End **/ return 0; }

#include <stdio.h> 
int main() 
{ 
	
	int ch;
	int n;
	scanf("%d",&n);
	getchar(); 
	unsign char c;
	while((c=getchar())!='\n') 
	{ 
		if((c>='a'&&c<='z')||(c>='A'&&c<='Z')) 
		{ 
			c=c+n; 
			if((c> 'Z'&&c<= 'Z'+n)||(c>'z')) c=c-26; 
		} 
		printf("%c",c);
	} 



	return 0;
}

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-06 12:00:37  更:2021-10-06 12:00:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 23:20:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码