天津理工大学密码学期末复习

1,单表与多表密码体制的概念是?

单表密码体制:在一个密码体制中,如果明文字母对应的密文字母在密文中始终保持不变

多表密码体制:在一个密码体制中,如果明文中不同位置的同一明文字母在密文中对应的密文字母不同

2,密码体制中的5个有限集合,分组密码是什么?

  • 明文空间M
  • 密文空间C
  • 密钥空间K
  • 加密算法E
  • 解密算法D

分组密码:又称密钥密码,对称密码,它的加密密钥与解密密钥相同。利用分组密码对明文加密时首先对明文进行分组,每组长度相同,然后对每组明文分别加密得到等长密文。

3,Playfair密码体制的使用

(由秘钥——》生成密钥矩阵——》按照加密规则得到密文)

内容介绍:

4,理解Vigenere密码体制

Ci=(Mi+Ki)%26——》密文字母的下标=(明文字母的下标+秘钥字母的下标)%26

例题解读:

在表中找到第一个明文字母T的位置,和第一个密文字母c的位置,我们知道c的下标是2

(从0开始标记),所以字母T向后移动2个单位得到密文字母V。同理我们知道第二个密

文字母的i的下标是8,将明文字母h向后移动8个单位得到密文字母P

-----------------------------------------------------------------------------------------------------------------

5,Hill密码体制(如何进行加密,解密,证明其相关的题)

    概念:

 

 

6,仿射古典密码

加密变换公式:C=(K1*M+K2)mod26

解密变换公式:M=(K1逆)*(C-K2)mod26

H——》(5*7+7)%26=16——》Q

E——》(5*4+7)%26=1——》B

L——》(5*11+7)%26=10——》K

P——》(5*15+7)%26=4——》E

M——》(5*12+7)%26=15——》P

E——》(5*4+7)%26=1——》B

代码实现:

package cn.itcast.util;

import java.util.Scanner;

public class communicate {
    public char []letters={'A','B','C','D','E','F','G','H','I','J','K','L','M',
            'N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
    public char []input=new char [20];
    public int getNum(char letter){
        for (int i=0;i<letters.length;i++){
            if (letter==letters[i])
                return i;
        }
        return -1;
    }
    public static void main(String[] args) {
        communicate test=new communicate();
        Scanner input=new Scanner(System.in);

        while (true){
            System.out.println("请输入要加密的字符串");
                int m1=test.getNum(input.next().charAt(0));
                int c=(m1*5+7)%26;
                System.out.println(test.letters[c]);
            }

        }

    }

 

7,DES的基本加密步骤是什么?

8,给DES的一个S盒的6bit输入数据,求出它的4bit输出数据

如:输入101010,取出收尾的两位数字10做为行标2,中间的4位数字0101作为列标5,得到坐标(2,5)查下表得到结果6

——》0110作为输出数据

9,IDEA的基本加密过程是什么?

10,MA结构

11,分组密码的两种结构是什么?

  • Feistel网络

  • SP网络

--------------------------------------------------------------------------------

12,公钥密码体制是什么?

在公钥密码体制中,加密密钥和解密密钥是不一样的,加密密钥简称公钥,解密密钥简称私钥,加密密钥可以公开,解密密钥必须保密,从加密密钥计算解密密钥是难解的。

13,了解Merkle-Hellman背包算法(由明文求密文,由密文求明文)

14,了解RSA公钥密码(中国剩余定理)

  • 由题目中的p,q,e利用Euclid算法求解密钥d

  • 由明文M,求密文C(C=M的e次方modN)

利用欧几里得算法计算解密密钥d=147

220=3*73+1

3=1*3+0

              a1   

              73  

b    1      73

所以因为a是1奇数个,所以d=220-73=147

15,EIGamal公钥密码体制

证明其解密变换是加密变换的逆变换

 

16,证明:U属于Zn,并且U的逆对N的模运算是存在——》god(u,n)=1——》U属于Z*n

P94,定理5.7的证明

17,了解Euler定理

 

猜你喜欢

转载自blog.csdn.net/weixin_44841312/article/details/106876024