视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
实验一 古典密码算法
2025-09-30 23:13:45 责编:小OO
文档
实验一  古典密码算法

实验名称:古典密码算法

实验类型: 设计性实验

学  时:4

适用对象: 信息安全

实验目的

学习常见的古典密码学算法,通过编程实现替代密码算法和置换密码算法,加深对古典密码的了解,为深入学习密码学奠定基础。

二、实验要求

分析替代密码算法和置换密码算法的功能需求,详细设计实现替代密码算法和置换密码算法的数据结构和流程,给出测试用例和测试步骤,得出测试和结论。替代密码算法和置换密码算法的实现程序必须提供加密和解密两个接口:int encrypt()和int decrypt()。当加密或者解密成功时返回CRYPT_OK,失败时返回CRYPT_ERROR。

三、实验原理

古典密码算法曾被广泛应用,大都比较简单,使用手工和机械操作来实现加密和解密。它的主要应用对象是文字信息,利用密码算法实现文字信息的加密和解密。下面介绍两种常见的具有代表性的古典密码算法,以帮助读者对密码算法建立一个初步的印象。

四、实验过程

1、移位密码

(1)代码:

#include

void main ()

{

 int k ;

 char m;

 int n;

    char c;

 char p;

cout<<"请输入明文:";cin>>p;

 n=p;

cout<<"请输入密钥:";cin>>k;

 m=n+k;

cout<<"密文是:"<cout<<"请输入密文:";cin>>c;

 int a;

 a=c;

 m=a-k;

cout<<"明文是:"<}

(2)实验结果:

2、放射变换加密

(1)代码:

#include

void main ()

{

    int a,b;

cout<<"输入密钥a:";cin>>a;

cout<<"输入密钥b:";cin>>b;

    char p[3];

    int q[3];

    char c[3];

cout<<"请输入明文:";

cin>>p;

for (int i=0;i<3;i++)

    {

        q[i]=(int)p[i];

        

        q[i]=(a*(q[i]-97)+b)%26;

        c[i]=(char)(q[i]+97);

     cout<    }

cout<    

    int f=1;

    while (a*f%26!=1)

    {

        f++;

    }

cout<<"请输入密文:";

    

cin>>c;

for (i=0;i<3;i++)

    {

        q[i]=(int)c[i];

     if((q[i]-97-b)<0)

        {

            q[i]=((f*(q[i]-97-b))+26*9999)%26;

        }

        else

        {

            q[i]=(f*(q[i]-97-b))%26;

        }

        p[i]=(char)(q[i]+97);

     cout<    }

cout<}

(2)实验结果:

五、思考题

1、你所知道的古典密码算法还有那些?详细说明具体的加密和解密过程。

2、你所看过的和密码有关的电影或小说有哪些?描述一下其中的加密基本原理.

答(1):古典密码算法还有凯撒密码:

 A和B是有 n个字母的字母表。 

  定义一个由A到B的映射:f:A→B 

  f(ai )= bi=aj 

  j=i+k mod n 

  加法密码是用明文字母在字母表中后面第 k个字母来代替。 

  K=3 时是著名的凯撒密码。 

恺撒密码——历史上第一个密码技术 

(2):小说有数字城堡,电影不知道达芬奇密码算不算。下载本文

显示全文
专题