急!!求帮忙解一道数学题(凯撒密码例题解析)

2023-03-12 8:27:14 密码用途 思思

这个有点冷门了吧,你把凯撒密码规则贴上来啊,不然我们可能嫌麻烦就要放弃这道题了。

请问一下这道C语言编程题怎么做?

按照题目要求编写的用凯撒密码加密的C语言程序如下

#includestdio.h

int main(){

char s[80];

int offset,i;

fgets(s,80,stdin);

scanf("%d",offset);

for(i=0;s[i]!='\0';i++){

if('A'=s[i] s[i]='Z')

if(offset=0)

  s[i]='A'+(s[i]-'A'+offset)%26;

else

  s[i]='A'+(s[i]-'A'+26+offset%26)%26;

else if('a'=s[i] s[i]='z')

if(offset=0)

  s[i]='a'+(s[i]-'a'+offset)%26;

else

  s[i]='a'+(s[i]-'a'+26+offset%26)%26;

}

printf("%s\n", s);

return 0;

}

凯撒密码为一种替换密码,此题的加密过程为先进行base64编码,再进行移

在密码学中,恺撒密码(或称恺撒加密、恺撒变换、变换加密)是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。

恺撒密码的加密、解密方法还能够通过同余的数学方法进行计算。首先将字母用数字代替,A=0,B=1,...,Z=25。此时偏移量为n的加密方法即为: E(x) = (x + n) mod 26.

解密就是:

D(x) = (x - n) mod 26.

显而易见,一旦确定了某两个字母的对应关系(即n的值),这种移位密码很容易被破解。

因此,为了使密码有更高的安全性,单字母替换密码就出现了。

明码表:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

密码表:T U V W X Y Z A B C D E F G H I J K L M N O P Q R S

但是这种加密方式依然可以破解,根据字母使用频度表,分析密文中的字母频率,将其对照即可破解。

不仅如此,凯撒加密对加密数据也是有要求的,一般情况下,它只支持对基本的英文字母进行加密,如果对中文等亚太地区的文字进行加密,结果可想而知,你的隐私将毫无保留的出现在众人面前。有人说,我们可以扩展这个算法,使它支持所有的文字,这么做是可行的,如果采用同余式的方式实现,代码几乎不怎么需要改动,只要字符集本身是Unicode就可以了。但是这种加密的安全性很难满足应用的要求。如果采用单字母替换的方式,程序将需要构建两个巨大的字符数组去保存他们的映射关系,而且扩展性也不好,当然也是不可行的。这样看来,凯撒加密岂不是一无是处了,其实对于一般的应用,凯撒加密还是足以应付的,只要我们对它稍作改进。

《犯罪大师》特殊快递答案解析

犯罪大师特殊快递答案是什么?很多小伙伴对于这次委托任务的答案不太清楚,那么我就给大家介绍一下,下面我给大家带来《犯罪大师》特殊快递答案解析,还不清楚的小伙伴赶紧来看看吧。

《crimaster犯罪大师》攻略汇总一览

《犯罪大师》特殊快递答案解析

题目介绍

CRIMASTER收到了一个委托任务:

我的妈妈是一位英语老师,平时还喜欢教我钢琴,今天我收到我妈妈寄来的一个快递。是一个木箱子,箱子上有一个13位的密码锁和两张字条。

字条一:

我的宝贝,里面是你一直想要的新款游戏游戏机,能不能拿到就看你自己,要进行解密哦!给你放了几份钢琴谱在里面,放个暑假也不要总想着玩游戏没事多去练练钢琴,钢琴是不是都没摸过,五线谱简谱什么的都忘干净了吧,对照着琴谱好好练,两个英文单词是答案哦!

字条二:

提示1:

提示2:

(请输入字条代表的意思13个英文字母不区分大小写)

答案: Happy birthday

解析:

根据提示一,可以得知是移动7位的凯撒密码。

将字条上的字母前移7位解密,还原成abcd等等,可以得到原本的乐谱。

比如最开始的nnhnji就是GGAGCB,对应简谱就是556517。

完全还原之后就知道这个其实是耳熟能详的生日快乐歌了,所以最后的答案应该就是Happy birthday了。

网络安全基础

网络安全通信所需要的基本属性:

1. 机密性

2. 消息完整性

3. 可访问与可用性

4. 身份认证

1. 窃听

2. 插入

3. 假冒

4. 劫持

5. 拒绝服务DoS和分布式拒绝服务DDoS

6. 映射

7. 嗅探

8. IP欺骗

数据加密

      明文:未被加密的消息

      密文:被加密的消息

      加密:伪装消息以隐藏消息的过程,即 明文 密文 的过程.

      解密: 密文 明文 的过程

1. 替代密码 :用密文字母替代明文字母。

    移位密码加密函数:

    

     :加密过程

    :明文信息

     :密钥,表示移几位

     :如果是26个字母,那q就是26

    解密函数:

    

     :解密过程

     :密文

      :密钥

2.  换位密码 :根据一定规则重新排列明文。

    【 例题 】如果对明文“bob.i love you. Alice",利用k=3的凯撒密码加密,得到的密文是什么?利用密钥 "nice" 进行列置换加密后得到的密文是什么?

    【 答案 】 凯撒密码 加密后得到的密文是:

        "ere l oryh brx Dolfh"

         列置换密码 加密后得到的密文是:

        iex bvu bly ooo"

    【 解析 】 凯撒密码 :

        以明文字母b为例,M=2(b的位置为2),k=3,q=26,则:

        密文 ,对应字母e,故b经过加密转为了e

        将明文全部替换后得到的密文 "ere l oryh brx Dolfh"

          列置换密码:

        密钥 "nice" 字母表先后顺序为 "4,3,1,2" ,因此,按这个顺序读出表中字母,构成密文:"iex bvu bly ooo",(密钥有几位就有几列,如果明文不够就补x,然后按列读取)

1. 对称密钥 密码:加密秘钥和解密秘钥相同( ),例如用一个锁将箱子锁起来,这个锁有2把相同的钥匙,锁好之后把另一把钥匙派人送给他。

2. 对称密钥密码 分类 :

     分组密码:DES、AES、IDEA等。(分组处理)

        1) (数据加密标准):56位密钥,64位分组。(56位二进制数,每位的取值是0或1,则所有的取值就是 个)

        2) :使用 两个秘钥 (共 112位 ),执行三次DES算法。(用1个密钥执行一次加密,再用另一个密钥执行一次解密,共执行三次)

        3) (高级加密算法):分组128位,密钥 128/192/256 位。

        4)IDEA:分组64位,密钥 128 位。

     流密码(挨个处理)

1. 非对称密钥 密码:加密密钥和解密密钥不同, ,其中一个用于加密,另一个用于解密。( 私钥 :持有人所有  公钥 :公开的)

2. 加密密钥可以公开,也称公开密钥加密。

3. 典型的公钥算法:

      Diffie-Hellman算法

      RSA算法

密码散列函数

1. 特性:

      定长输出;

      单向性(无法根据散列值逆推报文)

      抗碰撞性(无法找到具有相同散列值的两个报文)

2. 典型的散列函数

      MD5:128位散列值

      SHA-1:160位散列值

报文认证是使消息的接收者能够检验收到的消息是否是真实的认证方法。来源真实,未被篡改。

1. 报文摘要(数字指纹)

2. 报文认证方法

      简单报文验证:仅使用报文摘要,无法验证来源真实性

      报文认证码:使用共享认证密匙,但无法防止接收方篡改

身份认证、数据完整性、不可否认性

1. 简单数字签名:直接对报文签名

2. 签名报文摘要

1. 口令:会被窃听

2. 加密口令:可能遭受回放/重放攻击

    加密的口令可能会被截获,虽然不知道口令是什么,但他将加密口令提交给服务器,说这是我加密的口令,这叫重放.

3. 加密一次性随机数:可能遭受中间人攻击

Alice发给Bob说她是Alice,但Bob说你要向我证明,Bob生成一个随机数发给Alice,让Alice用自己的私钥进行加密,加密后再把数据发给Bob,然后Bob再向Alice要公钥进行解密解出来的随机数如果和Bob发给Alice的随机数一样的话,那就说明她是Alice。

这种方法会被中间人攻击,Alice发送的私钥加密被Trudy更换为自己用私钥加密的数据然后发给Bob,公钥也被Trudy换了,最后Bob用公钥加密数据发给Alice,Trudy截获了,用自己的私钥进行解密,获得了数据。

密钥分发存在漏洞:主要在密钥的分发和对公钥的认证环节,这需要密匙分发中心与证书认证机构解决

双方通信时需要协商一个密钥,然后进行加密,每次通信都要协商一个密钥,防止密钥被人截获后重复使用,所以密钥每次都要更换,这就涉及到密钥分发问题。

基于 KDC 的秘钥生成和分发

认证中心CA:将公钥与特定的实体绑定

1. 证实一个实体的真实身份;

2. 为实体颁发 数字证书 (实体身份和 公钥 绑定)。

防火墙 :能够隔离组织内部网络与公共互联网,允许某些分组通过,而阻止其它分组进入或离开内部网络的软件、硬件或者软硬件结合的一种设施。

前提 :从外部到内部和从内部到外部的所有流量都经过防火墙

1. 无状态分组过滤器

    基于特定规则对分组是通过还是丢弃进行决策,如使用 实现防火墙规则。

2. 有状态分组过滤器

    跟踪每个TCP连接建立、拆除,根据状态确定是否允许分组通过。

3. 应用网关

    鉴别 用户身份 或针对 授权用户 开放 特定服务 。

入侵检测系统(IDS):当观察到潜在的恶意流量时,能够产生警告的设备或系统。

1. 电子邮件安全需求

    1)机密性

    2)完整性

    3)身份认证性

    4)抗抵赖性

2. 安全电子邮件标准:

1. SSL是介于 和 之间的安全协议.

2. SSL协议栈

    (传统的TCP协议是没有安全协议的,传输都是明文,所以在TCP上面设置SSL协议保证安全性)

3. SSL握手过程

    协商密码组,生成秘钥,服务器/客户认证与鉴别。

1. VPN

    建立在 上的安全通道,实现远程用户、分支机构、业务伙伴等与机构总部网络的安全连接,从而构建针对特定组织机构的专用网络。

     关键技术 : ,如IPSec。

2. 典型的 网络层安全协议 ——

    提供机密性、身份鉴别、数据完整性和防重放攻击服务。

    体系结构: 认证头AH协议 、 封装安全载荷ESP协议 。

    运行模式: 传输模式 (AH传输模式、ESP传输模式)、 隧道模式 (AH隧道模式、ESP隧道模式)

本文主要介绍了网络安全基本概念、数据加密算法、消息完整性与数字签名、身份认证、密钥分发中心与证书认证机构、防火墙与入侵检测以及网络安全协议等内容。

回顾:

1. 网络安全基本属性

2. 典型数据加密算法;

3. 消息完整性、数字前面以及身份认证原理。

C语言的凯撒密码问题?我想求教这个算法是怎么推出来的呢? 加密算法:(a[i]-a+k)%26-a

它的原理是字母与字母之间的替换。例如26个字母都向后移动K位。若K等于2,则A用C代替,B用D代替,以此类推

k是移动的位数,例如移动两位,当前字母是c,那么c-a=2,再加2,4%26=4(保证变换后的在26个字母的范围内),然后a+4即为e