首页 > 其他分享 >密码学概述

密码学概述

时间:2023-12-04 22:44:49浏览次数:27  
标签:加密 解密 算法 概述 密钥 密码学 加密算法

密码学

密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。电报最早是由美国的摩尔斯在1844年发明的,故也被叫做摩尔斯电码。它由两种基本信号和不同的间隔时间组成:短促的点信号 .,读 的 (Di);保持一定时间的长信号—,读答 (Da)。间隔时间:滴,1t;答,3t;滴答间,1t;字母间,3t;字间,5t。

密钥:分为加密密钥和解密密钥。 明文:没有进行加密,能够直接代表原文含义的信息。

密文:经过加密处理处理之后,隐藏原文含义的信息。

加密:将明文转换成密文的实施过程。 解密:将密文转换成明文的实施过程。

密码算法:密码系统采用的加密方法和解密方法,随着基于数学密码技术的发展,加密方法一般称为加密算法,解密方法一般称为解密算法。 直到现代以前,密码学几乎专指加密(encryption)

算法:将普通信息(明文,plaintext)转换成难以理解的资料(密文,ciphertext)的过程;

解密(decryption)算法则是其相反的过程:由密文转换回明文;加解密包含了这两种算法,一般加密即同时指称加密(encrypt或encipher)与解密(decrypt或decipher)的技术。

加解密的具体运作由两部分决定:一个是算法,另一个是密钥。密钥是一个用于加解密算法的秘密参数,通常只有通讯者拥有。历史上,密钥通常未经认证或完整性测试而被直接使用在密码机上。

密码协议(cryptographic protocol)是使用密码技术的通信协议(communication protocol)。近代密码学者多认为除了传统上的加解密算法,密码协议也一样重要,两者为密码学研究的两大课题。在英文中,cryptography和cryptology都可代表密码学,前者又称密码术。但更严谨地说,前者(cryptography)指密码技术的使用,而后者(cryptology)指研究密码的学科,包含密码术与密码分析。密码分析(cryptanalysis)是研究如何破解密码学的学科。但在实际使用中,通常都称密码学(英文通常称cryptography),而不具体区分其含义。 口语上,编码(code)常意指加密或隐藏信息的各种方法。然而,在密码学中,编码有更特定的意义:它意指以码字(code word)取代特定的明文。例如,以‘苹果派’(apple pie)替换‘拂晓攻击’(attack at dawn)。编码已经不再被使用在严谨的密码学,它在信息论或通讯原理上有更明确的意义。 在汉语口语中,电脑系统或网络使用的个人帐户口令(password)也常被以密码代称,虽然口令亦属密码学研究的范围,但学术上口令与密码学中所称的钥匙(key)并不相同,即使两者间常有密切的关连。

对称加密

​ 对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥(mi yao)一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。

​ 对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来。而在大多数的对称算法中,加密密钥和解密密钥是相同的,所以也称这种加密算法为秘密密钥算法或单密钥算法。它要求发送方和接收方在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密,所以密钥的保密性对通信的安全性至关重要。

特点:对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。

例如:DES算法,3DES算法,TDEA算法,Blowfish算法,RC5算法,IDEA算法

非对称加密

​ 公钥加密,也叫非对称(密钥)加密(public key encryption),属于通信科技下的网络安全二级学科,指的是由对应的一对唯一性密钥(即公开密钥和私有密钥)组成的加密方法。它解决了密钥的发布和管理问题,是商业密码的核心。在公钥加密体制中,没有公开的是私钥,公开的是公钥。

例如:RSA、ElGamal、背包算法、Rabin(Rabin的加密法可以说是RSA方法的特例)、Diffie-Hellman (D-H) 密钥交换协议中的公钥加密算法、Elliptic Curve Cryptography(ECC,椭圆曲线加密算法)。使用最广泛的是RSA算法(由发明者Rivest、Shamir和Adleman姓氏首字母缩写而来)是著名的公开金钥加密算法,ElGamal是另一种常用的非对称加密算法。 [1]

流加密

​ 流加密,是对称加密算法的一种,加密和解密双方使用相同伪随机加密数据流(pseudo-randomstream)作为密钥,明文数据每次与密钥数据流顺次对应加密,得到密文数据流。实践中数据通常是一个位(bit)并用异或(xor)操作加密。

在密码学中,流加密(英语:Stream cipher),又译为流加密、数据流加密,是一种对称加密算法,加密和解密双方使用相同伪随机加密数据流(pseudo-random stream)作为密钥,明文数据每次与密钥数据流顺次对应加密,得到密文数据流。实践中数据通常是一个位(bit)并用异或(xor)操作加密。

该算法解决了对称加密完善保密性(perfect secrecy)的实际操作困难。“完善保密性”由克劳德·香农于1949年提出。由于完善保密性要求密钥长度不短于明文长度,故而实际操作存在困难,改由较短数据流通过特定算法得到密钥流。

伪随机密钥流(keystream)由一个随机的种子(seed)通过算法(称为:PRG,pseudo-random generator)得到,k作为种子,则G(k)作为实际使用的密钥进行加密解密工作。

为了保证流加密的安全性,PRG必须是不可预测的。弱算法包括glibc random()函数,线性同余生成器(linear congruential generator)等。 [1] 流加密过程

加密过程:首先生成一个对称秘钥,使用用户公钥加密这个对称秘钥后存储在文件头,然后用生成的对称秘钥加密文件数据存储。

解密过程:首先使用自己的私钥解密被加密的对称秘钥,再用该对称秘钥解密出数据原文。 [2]

标签:加密,解密,算法,概述,密钥,密码学,加密算法
From: https://www.cnblogs.com/MuYu-Cyber/p/17876174.html

相关文章

  • 头歌—密码学基础
    第1关:哈希函数题目任务描述本关任务:利用哈希算法统计每个字符串出现的个数。相关知识为了完成本关任务,你需要掌握:1.密码学哈希函数的概念及特性,2.安全哈希算法。密码学哈希函数的概念及特性我们需要理解的第一个密码学的基础知识是密码学哈希函数,哈希函数是一个数学函数,具......
  • Restart Study MySQL-01数据库概述(基础)
    C(Chapter)C-01.数据库概述1.为什么要用数据库持久化(persistence):把数据保存到可掉电式存储设备(硬盘)中以供之后使用。大多数情况下,特别是企业应用,数据持久化是将内存中的数据保存到硬盘上加以"固化",而持久化的实现过程大多使用各种关系数据库来完成。持久化的主要作用是将......
  • C语言概述
    1.为什么要学习C语言1>.C语言的起源和发展程序设计语言的发展:机器语言(低级语言)——汇编语言(中级语言)——高级语言低级语言:使用的是一串二进制代码中级语言:使用助记符(英文单词)来代替一串二进制代码(容易记忆,不容易出错)高级语言:......
  • SAP ABAP 各种增强技术(Enhancement)概述 - 所谓第一代,第二代,第三代增强技术的出处试
    本文回答笔者这篇教程:如何通过增强(Enhancement)的方式给SAPABAP标准程序增添新功能评论区的读者留言:这个和第一二三四代以及badi增强有什么联系呢?笔者从2007年一月就在SAP中国使用ABAP进行SAP产品开发了,说实话SAP内部不会把ABAP各种增强技术简单得冠之以第一......
  • 人工智能概述
    人工智能的定义人工智能是指通过计算机模拟人类智能,以达到类似人类智能的表现和行为的技术和理论。通俗地说,人工智能就是让计算机具有像人类一样的思考、判断、决策、学习、交流等能力。人工智能的研究范围极广,包括机器学习、深度学习、自然语言处理、计算机视觉、机器人技术等多个......
  • 数据库概述
    数据库概述SQL特点1.具有综合统一性(不同的数据库支持的SQL稍有不同、但都支持标准sql)2.语言简洁,用户易接受3.非过程化语言(无需关注内部原理细节)4.可与其他语言结合(JAVA、Python等)语法特点1.大小写不敏感2.可以以单行或多行书写,只以分号结尾3.注释:单行注释--[空格]、#s......
  • 【scikit-learn基础】--概述
    Scikit-learn是一个基于Python的开源机器学习库,它提供了大量的机器学习算法和工具,方便用户进行数据挖掘、分析和预测。Scikit-learn是基于另外两个知名的库Scipy和Numpy的,关于Scipy和Numpy等库,之前的系列文章中有介绍:Scipy基础系列Numpy基础系列1.概要自从AlphaG......
  • 01-计算机网络概述
    01-计算机网络概述1.2因特网的概述1网络、互联网(互连网)和因特网网络(Network)由若干节点(Node)和连接这些节点的链路(Link)组成多个网络还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网(互连网)因特网(Internet)是世界上最大的互连网络(用户数以亿计,互连的网络数......
  • 基于RK3568高性价比全国产EMS储能解决方案(一)概述
    储能产业链框架储能产业链可分为上游“原材料及生产设备”、中游“储能系统”、下游“储能场景应用及后市场服务”。图1储能产业链框架图产业链中游的“储能电池系统”主要包括“能量管理系统(EMS)”、“电池管理系统(BMS)”、“储能逆变器(PCS)”、“电池组”四个部分。电池组将......
  • 电脑CentOS 7.6与Windows系统对比:使用方式、优缺点概述
    在多操作系统环境中,CentOS7.6和Windows系统各自独占鳌头,它们在功能、稳定性、兼容性以及安全性等方面都有着各自的优点。这篇文章将对比分析这两个操作系统,以便用户能更好地了解它们的特点和使用方式。一、使用方式1. CentOS7.6CentOS7.6是一种成熟的Linux发行版,它的使用方式主......