注册 登录
编程论坛 VC++/MFC

求助:三个古典密码的VC++程序,密码算法已给

chuhao26 发布于 2011-03-05 20:23, 3588 次点击
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++加密和解密程序。。。。
密文为
2 回复
#2
sunrui101102011-03-18 21:40
沙发
#3
盛世皇朝2011-03-19 13:56
呵呵  有点意思
1