Foundations of Cryptography summary

Some common concepts of cryptography

  1. Classical and modern password password
  2. Symmetric encryption and asymmetric encryption
  3. One-way hash function
  4. Coding and encryption
  5. Digital signatures and digital certificates

Classical and modern password password

A very important factor to distinguish between classical and modern encryption is encrypted, classical encryption are generally relatively simple, modern encryption and decryption of basic manual may not exist

古典加密又分为以下两种:
<1>置换密码:把明文中的字母重新排列,字母本身不变,只改变其位置。
<2>代换密码:暂不补充
现代加密:也就是用于现代计算机加密的加密方式,古典密码的置换加密和代换加密时现代密码学的基础。

Symmetric encryption and asymmetric encryption

Distinguish symmetric encryption and asymmetric encryption criteria: whether to use the same encryption and decryption key, if the same key is a symmetric encryption, if encryption and decryption keys are different then the asymmetric encryption

对称加密(也称为私钥加密):对称加密从对明文到密文的处理方式又可以分为分组密码和序列密码
                分组密码:对明文进行分块加密,再将加密后的密文组合成明文。常见的分组密码有以下几种:DES(数据加密标准)、AES(高级加密标准)、3DES(三重DES加密)……
                序列密码:利用密钥产生密钥流,然后用密钥流对明文进行加密,从而产生密文。常见的序列密码有以下几种:RSA、RC4……
    
非对称加密(也称公钥加密):公钥加密一般是基于数学难题的加密体系,可以分为以下几种:基于大合数分解的密码、基于离散对数的密码、基于椭圆曲线的离散对数密码
            公钥加密一般是使用(别人的)公钥进行加密,然后(别人)使用(别人的)私钥进行解密,这样就可以保证数据不会被泄露了。
            如果使用私钥进行加密,用公钥进行解密可以吗?也是可以的,但是这种方式是不会被用来加密数据的。因为使用私钥进行加密的数据,任何一个人都可对密文进行解密,那还谈什么机密性呢?那这种方式就没用了吗!并不是,这种私钥加密公钥解密的方式是数字签名,有了数字签名,那么别人就认准你了,这就是你发出的信息,因为只有你自己有你自己的私钥啊。

One-way hash function

    单向散列函数又称为哈希函数、摘要函数,特点就是单向的,不可逆的。将不定长的数据输入可以输出固定长度的输入。严格来讲,单向散列函数不属于加密体系,因为它是不可解密的。它只是产生了消息摘要,但是因为不同的输入会产生唯一的输入,加上是不可逆的,所以,经常会被用来存储密码。
    常见的单向散列算法有:
                    md5:根据md1、md2等发展而来(已经被证实不安全)
                    sha1
                    sha256
                    RC
                    

Encoding and encryption ###
encodes encrypted and can not be confused, might be called the encoded encrypted, but never referred to encryption, encoding data for storage, transmission or convenient binary appreciated from the computer to the person I understood that a transformation of the character, is encrypted for data confidentiality. Because sometimes, coding can guarantee the confidentiality of the data to some extent (but little understanding of people who coding confidentiality does not exist), so coding is sometimes people think that is encrypted.

### digital signatures and digital certificates

数字签名:好比是人的签名一样,签了名就认为是你认定了这件事,是不可否定了。数字签名也是一样的,一般认为是不可否认的。
 数字签名:利用单向散列函数对要发送的数据进行单向散列,得到消息摘要,然后利用公钥加密体系的私钥对消息摘要进行加密,这样就得到了数字签名,然后将数字签名和消息一起发给接收方。
 当接收方接收到消息的时候,先用你的公钥对数字签名进行解密,(能够解密说明一定是你发出的,其他人都没有你的私钥啊),然后对接收到的消息进行摘要(使用md5、sha1或者别的什么摘要算法),如果得到的摘要和解密得到的摘要是一直的,那么证明所接收到的消息没有经过第三者的修改。(但是此时并不代表数据没有第三者知道!!!)
数字证书:暂不补充

All written from memory, so the summary is very incomplete, it can only be regarded as a science of it! If there is anything wrong or not rigorous place please leave a message, thank you ^ V ^

Guess you like

Origin www.cnblogs.com/po-bear/p/10956643.html