| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3588 人关注过本帖, 1 人收藏
标题:求助:三个古典密码的VC++程序,密码算法已给
只看楼主 加入收藏
chuhao26
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-3-5
收藏(1)
 问题点数:0 回复次数:2 
求助:三个古典密码的VC++程序,密码算法已给
1.置换密码:
例明文为:MING CHEN WU DIAN CHU FA (明晨五点出发)
密码加密过程为,将明文以每行5个字母,顺序排列成一个矩阵,最后一行不够用*表示,如例明文排成:
MINGC
HENWU
DIANC
HUFA*
将该矩阵按列输出,得到密文:MHDH IEIU NNAF GWNA CUC*
2. 代替密码
最著名的是凯撒密码,即将明文字母以按一定的位数k在字母表中的位置右移,如凯撒密码中取k=3,则对应的字母表为:
明文:(ABCDEFGHIJKLMNOPQRSTUVWXYZ)
密文:(DEFGHIJKLMNOPQRSTUVWXYZABC)
如,明文为 :MING CHEN WU DIAN CHU FA (明晨五点出发)
取k=3,
    密文为 :PLQJ FKHQ ZX GLDQ FKX ID
3.代数密码
将明文和密钥的字母用二进制数表示出来(二进制为7位),如下表所示,字母所对应的二进制数为列标+行标,
如A对应1000001
        100    101   
0 0 0 0        P      
0 0 0 1   A    Q      
0 0 1 0   B    R    
0 0 1 1   C    S      
0 1 0 0   D    T      
0 1 0 1   E    U    
0 1 1 0   F    V      
0 1 1 1   G    W     
1 0 0 0   H    X     
1 0 0 1   I    Y     
1 0 1 0   J    Z     
1 0 1 1   K        
1 1 0 0   L       
1 1 0 1   M       
1 1 1 0   N     
1 1 1 1   O   
例:
明文为:DATA
二进制数为:1000100 1000001 1010100 1000001
密钥为:LAMB
二进制数为: 1001100 1000001 1001101 1000010
将明文和密文的二进制数模2加(相同为0,不同为1)
得到密文:0001000 0000000 0011001 0000011
以上为3个密码算法,求对应的VC++加密和解密程序。。。。
密文为
搜索更多相关主题的帖子: 字母表 矩阵 
2011-03-05 20:23
sunrui10110
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-3-17
收藏
得分:0 
沙发
2011-03-18 21:40
盛世皇朝
Rank: 1
等 级:新手上路
帖 子:12
专家分:6
注 册:2011-3-2
收藏
得分:0 
呵呵  有点意思
2011-03-19 13:56
快速回复:求助:三个古典密码的VC++程序,密码算法已给
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011795 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved