文章插图
(2) 基本概念
明文消息(Plaintext):未加密的原消息,简称明文 。
密文消息(Ciphertext):加密后的消息,简称密文 。
加密(Encryption):明文到密文的变换过程 。
解密(Decryption):密文到明文的恢复过程 。
加密算法(Encryption Algorithm):对明文进行加密时所采用的一组规则或变换 。
解密算法(Decryption Algorithm):对密文进行解密时所采用的一组规则或变换 。
密码算法强度(Algorithm Strength):对给定密码算法的攻击难度 。
密钥(Key):加解密过程中只有发送者和接收者知道的关键信息,分为加密密钥(Encryption Key)和解密密钥(Decryption Key) 。
密码分析(Cryptanalysis):虽然不知道系统所用的密钥,但通过分析可能从截获的密文中推断出原来的明文,这一过程称为密码分析 。
一个密码系统(或称为密码体制,Cryptosystem)由加密算法、解密算法、明文空间(全体明文的集合)、密文空间(全体密文的集合)和密钥空间(全体密钥的集合)组成 。
什么是密码学?密码学(Cryptology)是研究如何实现秘密通信的科学,包含密码编码学和密码分析学 。密码编码学(Cryptography)是研究对信息进行编码以实现信息隐蔽;密码分析学(Cryptanalytics)是研究通过密文获取对应的明文信息 。
(3) 密码技术的基本应用
①用加密来保护信息 。利用密码变换将明文变换成只有合法者才能恢复的密文,这是密码的最基本的功能 。利用密码技术对信息进行加密是最常用的安全交易手段 。
②采用密码技术对发送信息进行验证 。为防止传输和存储的消息被有意或无意地篡改,采用密码技术对消息进行运算生成消息验证码(mac),附在消息之后发出或与信息一起存储,对信息进行认证 。它在票据防伪中具有重要应用(如税务的金税系统和银行的支付密码器) 。
③数字签名 。在信息时代,电子信息的收发使我们过去所依赖的个人特征都被数字代替,数字签名的作用有两点:一是接收方可以发送方的真实身份,且发送方事后不能否认发送国该报文这一事实;二是发送方或非法者不能伪造、篡改报文 。数字签名并非是用手书签名的图形标志,二是采用双重加密的方法来防伪、防赖 。根据采用的加密技术不同,数字签名有不同的种类,如私用密钥的数字签名、公开密钥的数字签名、只需签名的数字签名、数字摘要的数字签名等 。
④身份识别 。当用户登录计算机系统或者建立最初的传输连接时,用户需要证明他的身份,典型的方法是采用口令机制来确认用户的真实身份 。此外,采用数字签名也能够进行身份鉴别,数字证书用电子手段来证实一个用户的身份和对网络资源的访问权限,是网络正常运行锁屏必须的 。在电子商务系统中,所有参与活动的实体都需要用数字证书来表明自己的身份 。
3. 密码学的体制
按密钥使用的数量不同,将密码体制分为对称密码体系 (symmetric)(又称为单钥密码)和非对称密码(asymmetric)(又称为公钥密码) 。
在对称密码体系中,加密密钥和解密密钥相同,彼此之间很容易相互确定 。对于对称密码而言,按照明文加密方式的不同,又可分为分组密码(block cipher)和流密码(stream cipher) 。流密码是指将明文消息按字符逐位地进行加密 。分组密码是指将明文消息分组(每组含有多个字符)逐组地进行加密 。在公钥密码体系中,加密密钥(又称为公钥,Public Key)和解密密钥(又称为私钥,Private Key)不同,从一个密钥很难推出另一个密钥,可将加密能力和解密能力分开,不需要通过专门的安全通道来传送密钥 。大多数公钥密码属于分组密码 。
(4) 对密码的攻击
密文分析者在不知道密钥的情况下,从密文恢复出明文 。成功的密码分析不仅能够恢复出消息明文和密钥,而且能够发现密码体制的弱点,从而控制通信 。常见的密码分析方法有以下四类 。
①唯密文攻击(Ciphertext only) 。密码破译者除了拥有截获的密文,以及对密码体制和密文信息的一般了解外,没有什么其它可以利用的信息用于破译密码 。在这种情况下进行密码破译是最困难的,经不起这种攻击的密码体制被认为是完全不保密的 。
②已知明文攻击(Known plaintext) 。密码破译者不仅掌握了相当数量的密文,还有一些已知的明---密文对(通过各种手段得到的)可供利用 。现代的密码体制(基本要求)不仅要经受得住唯密文攻击,而且要经受得住已知明文攻击 。
推荐阅读
- 2020十大基础软件创新
- 一文搞懂 SQL:基础知识和业务实践总结
- 淘宝店铺0销量怎么办 淘宝新店怎么做基础销量
- CentOS 7中常用的基础命令
- 淘宝店铺怎么做基础 零基础怎么开网店
- 淘宝开店技巧与营销 做淘宝店铺最基础的运营技巧
- 基础通俗讲解集成学习算法
- 淘宝如何做到月销几千 淘宝新店怎么做基础销量
- 太厉害了!总算有人把“串行通信”的基础知识讲的明明白白了
- 混淆矩阵-不再那么令人混淆了