通过将字母翻译成数字加密消息NEED HELP..answer是UTTQ CTOA ......怎么样?

时间:2013-03-10 18:06:13

标签: encryption discrete-mathematics

通过将字母翻译成数字来加密消息NEED HELP,应用 加密函数f(p)=(3p + 7)mod 26,然后将数字转换回来 字母。 Ans:加密形式:UTTQ CTOA。

有人可以向我解释他们是如何得到这个答案的

1 个答案:

答案 0 :(得分:1)

首先你必须为每个字母分配一个数字:

A = 0; B = 1; C = 2 ....

然后你将函数应用于你得到的数字并将其转换回字母:

N为13,因此13 * 3 = 39,+ 7 = 46 那么mod 26 = 20

转回来,20 = U

如果你在句子的所有字母上都这样做,你将拥有加密的表格

这里是执行此操作的C#代码:

    private static string encrypt(string s)
    {
        char[] tmp = new char[s.Length];
        int i = 0;

        foreach (char c in s)
        {
            tmp[i] = (char)((((c - 'A') * 3 + 7) % 26) + 'A');
            i++;
        }

        return new string(tmp);
    }

这里你的解密功能(好吧这个很乱,但有效):

    private static string decrypt(string s)
    {
        string res = s;
        for (int i = 0; i < 5; i++)
            res = encrypt(res);

        return res;
    }