• 大小: 1KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-19
  • 语言: 其他
  • 标签: 密码学  

资源简介

自己编写的一个转轮密码机程序,很基础,便于理解转轮密码机的工作原理

资源截图

代码片段和文件信息

#include
#include
void Move(int q[][26]) //转轮旋转函数
{
    int ijtemp;
    temp=q[0][25];
    for(i=24;i>=0;i--)
    {
        q[0][i+1]=q[0][i];
    }
    q[0][0]=temp;
    temp=q[1][25];
    for(i=24;i>=0;i--)
    {
        q[1][i+1]=q[1][i];
    }
    q[1][0]=temp;
}
int Find(int pint s[][26]int m[][26]int q[][26]) //明文与密文对照函数 已知明文找到对应的密文
{
    int ij=0k=0;
    for(i=0;i<26;i++)
    {
        if(s[1][i]==p)
        {
            for(j=0;j<26;j++)
            {
                if(m[1][j]==m[0][i])
                {
                    for(k=0;k<26;k++)
                    {
                        if(q[1][k]==q[0][j])
                        {
                            return k;
                        }
                    }
                }
            }
        }
    }
}
int main()
{
    //三个转轮
    int slow[2][26]={{2425261234567891011121314151617181920212223}
    {2131511910142620816722411517912231822562413}};
    int mid[2][26]={{2612345678910111213141516171819202122232425}
    {2016415314122351622219111825241371082192617}};
    int quick[2][26]={{1234567891011121314151617181920212223242526}
    {8182617202210313114235249122516196152127114}};
    char a1[30]b1[30]; //a1、b1分别存放输入输出字符
    int  a2[30]b2[30]; //b1、b2分别存放输入输出时转换成的数字
    int ni=0j=0;
    int ts=0tm=0tq=0; //计算次数
    printf(“请输入大写英文字母: \n“);
    gets(a1);
    n=strlen(a1);
    for(i=0;i    {
        a2[i]=a1[i]-‘A‘;
        a2[i]=slow[0][a2[i]];
        b2[j]=Find(a2[i]slowmidquick);
        b1[j]=b2[j]+‘A‘;
        j++;

        tm++;           //转轮计数
        Move(quick);
        if(tm==26)
        {
            ts++;
            Move(mid); tm=0;
            if(ts==26)
            {
                Move(slow); ts=0;
            }
        }
    }
    b1[j]=‘\0‘;

printf(“得到的密文为:\n“);
puts(b1);
printf(“\n“);
return 0;
}




 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        2202  2013-03-13 21:12  zhuanlunmima.c

评论

共有 条评论