求简单的解密啊!小弟是初学者,求帮助
											evdzcvi这几个字母是用以下方法加密码所得到的:英文字母从A—Z分别对应0—25,先将明文转化为对应的数字,
C(密文)=k*对应的数字(mod26)
再将C转化成对应的字母就得到evdzcvi!
现在要解出明文与密钥K!
希望高手们帮帮小弟!教一下我解密的方法与程序,程序最好有解释!!谢谢!
程序代码:#include <stdio.h>
int main(void) {
    char Encryption[] = "evdzcvi";
    char Decryption[8];
    int temp[7];
    int i = 0, j, k, n, found = 0;
    while(Encryption[i]) {
        temp[i] = Encryption[i] - 'a';
        i++;
    }
    for(k = 2; ; k++) {
        n = 0;
        for(i = 0; i < 7; i++) {
            for(j = 0; j < 26; j++) {
                if(temp[i] == k * j % 26) {
                    Decryption[i] = j + 'a';
                    n++;
                    break;
                }
            }
        }
        if(n == 7) {
            found = 1;
            Decryption[8] = '\0';
            break;
        }
    }
    if(found) {
        printf("%s\n", Decryption);
        printf("k : %d\n", k);
    }
    return 0;
}
	
		
			
		
	


程序代码:
#include<stdio.h>
void decrypt(char m[],char c[],int k,int length)
{
    int i,mm,nn;
    for(i=0;i<length;i++)
    {
/*    第一步:将字母转换为Z26中的元素   */
        if((c[i]>='A')&&(c[i]<='Z'))
        {
            mm=c[i]-'A';
/*    第二步:加密    */
            nn = (mm/k)%26;
/*    第三步:将密文转换为字母   */
            m[i] = 'a'+nn;
        }
        else if((c[i]>='a')&&(c[i]<='z'))
        {
            mm=c[i]-'a';
/*    第二步:加密    */
            nn = (mm/k)%26;
/*    第三步:将密文转换为字母   */
            m[i] = 'a'+nn;
        }
        else
            m[i]=c[i];
    }
    return;
}
void main()
{
    char m[100];
    char c[100]="evdzcvi";
    int  k,j,i,length;
    length=7;
    for(j=0;j<26;j++)
    {
        decrypt(m,c,j,length);
        printf("密钥为%d:明文为:",j);
        for(i=0;i<length;i++)
            printf("%c",m[i]);
        printf("\n");
    }
    return;
}