什么是密码学?

news2024/12/27 12:26:55

什么是密码学?

密码学是一种通过使用编码算法、哈希和签名来保护信息的实践。此信息可以处于静态(例如硬盘驱动器上的文件)、传输中(例如两方或多方之间交换的电子通信)或使用中(在对数据进行计算时)。密码学有四个主要目标:

  • 保密性 – 仅将信息提供给授权男用户。
  • 完整性 – 确保信息未受到操控。
  • 身份验证 – 确认信息的真实性或用户的身份。
  • 不可否认性 – 防止用户否认先前的承诺或操作。

密码学使用许多低级密码算法来实现这些信息安全目标中的一个或多个。这些工具包括加密算法、数字签名算法、哈希算法和其他功能。下面将介绍一些最常用的低级加密算法。

密码学的作用?

密码学起源于在军事和政治人物之间发送敏感信息。可以对消息进行加密,使它们对除预期收件人之外的任何人来说都看起来像是随机文本。

今天,原始的加密技术已被彻底破解。它们被破解到只出现在一些报纸的益智题版块中。幸运的是,该领域在安全性方面取得了重大进展,今天使用的算法依赖严格的分析和数学来保证其安全性。

随着安全性的进步,密码学领域已经扩展到包括更广泛的安全目标。这包括消息身份验证、数据完整性、安全计算等。

密码学是现代社会的基础。它是通过安全超文本传输协议(HTTPS)、安全文本和语音通信,甚至数字货币实现的无数互联网应用程序的基础。

什么是加密?

加密算法是将纯文本消息转换为加密文字的过程。现代算法使用高级数学以及一个或多个加密密钥。这些内容使加密消息变得相对容易,但在不知道密钥的情况下几乎不可能解密。

根据密钥的功能,加密技术分为对称和非对称两类。

什么是对称密钥密码学?

对称密钥加密算法使用相同的加密密钥来加密明文和解密密文。对称加密要求所有预期的消息接收者都可以访问共享密钥。

下图显示了加密和解密如何使用对称密钥和算法,假设各方共享相同的密钥。

在第一个图示中,对称密钥和算法用于将明文消息转换为密文。第二个图示显示了用于将密文转回明文的相同密钥和对称算法。  

最流行的分组密码之一是高级加密标准(AES)。此分组密码支持 128、192 或 256 位密钥。AES 通常与伽罗瓦计数器模式(GCM)结合使用,称为 AES-GCM,以生成经过身份验证的加密算法。

AES 是在全球范围内执行加密的行业标准。它的安全性是众所周知的,高效的软件和硬件实施也很普遍。

什么是非对称(公钥)密码学?

非对称(或公钥)密码学由一组广泛的算法组成。 这些都是基于在一个方向上相对容易执行但不容易逆转的数学问题。

此类问题的一个著名示例是因式分解问题:对于精心选择的素数 p 和 q,我们可以快速计算乘积 N=p*q。但是,仅给定 N,很难恢复 p 和 q

基于因式分解问题的常见公钥密码算法是 Rivest-Shamir-Adleman (RSA) 函数。当与适当的填充方案结合使用时,RSA 可用于多种用途,包括非对称加密。

如果加密方案使用一个密钥(公钥)加密数据,并使用不同但在数学上相关的密钥(私钥)来解密数据,则称为非对称加密方案。

必须无法在只知道公钥的情况下通过计算确定私钥。因此,公钥可以广泛分发,而私钥需要保密和安全。这些密钥一起称为密钥对。

一种热门的非对称加密方案是 RSA-OAEP,它是 RSA 功能与最优非对称加密填充(OAEP)填充方案的组合。RSA-OAEP 通常仅用于加密少量数据,因为它速度慢并且具有比明文大得多的密文。

什么是混合加密?

像 RSA-OAEP 这样的公钥算法效率低于对称算法,因此不常用于直接加密数据。然而,它们通过提供一种密钥交换方式,在加密生态系统中发挥了重要作用。

为了使用对称加密,各方必须共享一个密钥。虽然这个密钥可以通过现有的加密通道发送,但如果我们已经有一个安全通道,我们就不需要新密钥了。相反,我们使用公钥密码学解决了密钥交换问题。

以下是交换对称密钥的两种常用方法。

  • 非对称加密 一方生成对称密钥,然后使用 RSA-OAEP 等算法将密钥加密为另一方的公钥。接收者可以使用他们的私钥解密密文以恢复对称密钥。
  • Diffie-Hellman 密钥交换 –(DH)。Diffie-Hellman 是一种不同类型的公钥加密算法,专门设计用于帮助各方在没有安全通道的情况下就对称密钥达成一致。Diffie-Hellman 基于与 RSA 函数不同的数学问题,并且不如 RSA 灵活。但是,它确实具有更有效的结构,这使其在某些使用场景中更受欢迎。

这种用于密钥交换的公钥加密和用于批量数据加密的对称加密的组合称为混合加密

混合加密使用公钥密码学的独特属性,可以在不受信任的通道上交换秘密信息,并且效率与对称加密相当。这为数据隐私实现了实用的端到端解决方案。

混合加密广泛用于 Web 的数据传输协议,例如传输层安全性协议(TLS)。当您连接到使用 HTTPS(使用 TLS 的 HTTP 安全)的网站时,您的浏览器将协商保护您的连接的加密算法。其中包括用于密钥交换、对称加密和数字签名的算法。

什么是数字签名?

数字签名方案是一种公钥密码学,可确保数据的完整性、真实性和不可否认性。

签名过程可以被认为与使用私钥加密文件非常相似。签名者使用他们的私钥在数字文档(例如文件或一段代码)上生成“签名”。

此签名对于文档/私钥对是唯一的,可以附加到文档并使用签名者的公钥进行验证。数字签名的两种常见算法是带有概率签名方案的 RSA(RSA-PSS)和数字签名算法(DSA)。

什么是消息验证码?

消息验证码(MAC)是数字签名的对称版本。使用 MAC,两方或多方共享一个密钥。一方创建一个 MAC 标签,即数字签名的对称版本,并将其附加到文档中。另一方可以使用用于创建标签的相同密钥来验证消息的完整性。

请注意,多方共享用于创建 MAC 标签的密钥,因此 MAC 不能用于身份验证或不可否认性,因为不清楚是哪一方创建了标签。

MAC 可以是独立的算法,例如 HMAC 散列消息认证码。然而,由于消息完整性几乎总是一种有价值的保证,因此它经常被集成到对称加密算法中,如 AES-GCM。

什么是椭圆曲线密码学?

椭圆曲线密码学(ECC)是一种基于椭圆曲线数学理论的公钥密码学。

ECC 的最大优势在于它可以提供与更传统技术类似的保护级别,但密钥更小,运算更快。ECC 的效率使其非常适合用于计算能力相对较低的设备,例如手机。

ECC 可用于使用 Diffie-Hellman (ECDH) 的椭圆曲线变体进行有效的密钥交换,或使用椭圆曲线数字签名算法(ECDSA)进行数字签名。由于其速度和灵活性,ECC 在互联网上的许多应用程序中被广泛使用。

什么是密码学中的哈希?

加密哈希函数是一种将任意数据转换为固定长度“指纹”的工具。哈希函数经过设计,很难找到两个不同的输入具有相同的指纹,也很难找到指纹与固定值匹配的消息。

与加密方案、签名方案和 MAC 不同,哈希函数没有密钥。任何人都可以计算给定输入的哈希值,并且哈希函数将始终在相同的输入上产生相同的输出。

哈希函数是大型密码算法和协议中的重要组成部分。其中包括数字签名算法、专用 MAC 算法、身份验证协议和密码存储。

什么是加密货币?

加密货币是一种数字货币,其中,交易由去中心化系统而不是由中央权威机构验证和维护。加密货币是密码学应用的一个示例。

加密货币使用许多不同的低级加密算法来创建一个可信且安全的平台。加密货币使用了本页讨论的许多概念 — 椭圆曲线密码学、数字签名、哈希函数等等。将这些算法结合起来,可以在没有集中权限的情况下建立信任和问责制。

什么是后量子密码学?

在过去的几十年里,人们在量子计算方面进行了大量的投资。量子计算机使用量子物理学,可以解决经典计算机无法计算的数学问题,例如因式分解问题。

大型量子计算机将破解我们今天使用的公钥密码系统,包括基于 Rivest-Shamir-Adleman (RSA) 函数的密码系统。这些算法的破解将意味着我们今天使用的许多应用程序和协议丧失机密性和身份验证功能。

尽管当今存在小型量子计算机,但它们太小,无法破解密码算法。目前尚不清楚密码相关的量子计算机(CRQC)是否或何时可用。开发 CRQC 需要重大的科学突破。

后量子密码学(PQC)是指在我们今天使用的计算机上运行的密码算法,并且不知道是否容易受到大规模量子计算机的攻击。

在 AWS Post-Quantum Cryptography 上进一步了解 AWS 研究和工程参与抗量子密码学项目以及与全球密码学界合作的工作组。

什么是加密计算?

到目前为止介绍的工具让您可以使用静态加密和传输中的加密。传统上,数据必须先解密,然后才能用于计算。加密计算通过提供直接对受密码保护的数据进行操作的工具来填补这一空白。

“加密计算”一词涵盖了一系列技术,包括安全多方计算、同态加密和可搜索加密。尽管这些技术在细节上有所不同,但它们都以加密方式保护数据,允许您对受保护的数据执行计算,同时保持该数据的机密性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2085497.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第二十五课,字符串操作函数(二)

一,字符串.replace(子串1, 子串2):将字符串内的全部子串1,替换为子串2 在用电脑办公时,会出现这样的情景:一篇很长的文章中有一个人的名字全部被错写了,我们需要修改,但一个一个找错掉的名字修…

教师节素材大分享,海报设计不求人,素材多到根本用不完!

设计教师节海报时,设计师们最怕的就是时间不够用,灵感还卡壳。想做出有创意的设计,却总找不到合适的素材。而且,抠图、调色这些繁琐的步骤,特别耗时,让人头疼。还好最近找到一款国产设计软件,简…

SoftMaker Office Pro 2024:高效办公的全方位解决方案

SoftMaker Office Pro 2024是一款集高效、专业、全面于一体的办公软件套件,专为满足现代办公需求而设计。这款套件不仅包含了文字处理、电子表格、演示文稿等核心功能,还集成了项目管理、文档管理和客户管理等实用工具,为用户提供了全方位的办…

Leetcode 77. 组合 组合型回溯 C++实现

Leetcode 77. 组合 问题:给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。你可以按 任何顺序 返回答案。 算法: 创建二维返回数组 ans ,和临时数组 path 。 进入 dfs 函数,d 代表还需要选 d 个数字…

Qt QComboBox下拉菜单显示提示信息

亲测有效 void MainWindow::initCOmboBox() {QStandardItemModel *model new QStandardItemModel(this);QStandardItem *item;item new QStandardItem("1.00");item->setToolTip("黏性土");model->appendRow(item);item new QStandardItem("…

《软件工程导论》(第6版)第1章 软件工程学概述 复习笔记

第1章 软件工程学概述 一、软件危机 1.软件危机的介绍 (1)概念 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题绝不仅仅是不能运行的软件才具有的,实际上,几乎所有的软件都不同程度…

OpenAI GPT-3.5 “prompt“ argument not working

题意:"OpenAI GPT-3.5 的 prompt 参数不起作用" 问题背景: I am trying to make a flutter app with the openAI api that works like a chatbot, and I want to add a prompt so that the responses are more specialized, like in the open…

【系统架构师软考】计算机体系结构(二)

目录 CPU、GPU、NPU、FPGA、ASIC特性对比 SoC Cache的地址映像方法 直接映射(Direct Mapping) 2. 全相联映射(Fully Associative Mapping) 3. 组相联映射(Set-Associative Mapping) Cache的替换算…

刚刚!EI数据库再次更新!89本被踢,上百种期刊迎来变动

【SciencePub学术】本期热点 EI目录更新 刚刚,爱思唯尔更新了EI Compendex收录期刊目录。时隔近9个月,EI数据库才迎来了再次更新! 此次更新后,目前在检连续出版/核心收录(SERIALS)列表共收录期刊名称5644本…

KTH5701 系列低功耗、高精度 3D 霍尔传感器

KTH5701 是一款数字输出的 3D 霍尔芯片,内部 分别集成了 X 轴、 Y 轴和 Z 轴三个独立的霍尔传感器。 信号链采用高精度运放通过 16 bit ADC 将模拟信号 转换成数字输出。外部主机可以采用 SPI 或 I2C 两种 模式读出测量数据。此外,在芯片…

大模型书籍推荐丨不会大模型私有化部署?这本大模型权威教材必看!(附PDF文档)

《ChatGLM3大模型本地化部署、应用开发与微调》作为《PyTorch 2.0深度学习从零开始学》的姊妹篇,专注于大模型的本地化部署、应用开发以及微调等。 本书不仅系统地阐述了深度学习大模型的核心理论,更注重实践应用,通过丰富的案例和场景&…

Gartner首次发布AI代码助手魔力象限,阿里云进入挑战者象限,通义灵码产品能力全面领先

8月29日消息,国际市场研究机构Gartner发布业界首个AI代码助手魔力象限,全球共12家企业入围,阿里云成为唯一进入挑战者象限的中国科技公司。通义灵码在产品功能和市场应用等方面表现优秀,获得权威机构认可。 该报告从技术创新性、产…

【C++类和对象】类和对象的介绍、this指针以及体会面向对象编程

文章目录 🚀类✈️类的介绍✈️类的访问限定符✈️类的封装 🚀面向对象编程🚀类与对象的联系🚀this指针✈️引出this指针✈️this指针的特性 🚀类 ✈️类的介绍 在C语言中,结构体中仅能声明变量并不能定义…

QT学习ubuntu qt + desktop

环境搭建 ubuntu 安装QT 遇到kit 选择不了 通过sudo apt-get install qt5-default去安装SDK的时候报错: Package qt5-default is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is …

【回眸】QAC软件指南——错误分析篇(完整版)

前言 近期需要再次测一下代码,相比以前测试更有经验,也做了比较多的记录,正好将经验通过博客保留下来,为以后可能的QAC测试做准备。 安装导入分析代码 这部分在上一篇中已经详细介绍,具体请见,如有疑问可…

netty编程之使用protostuff作为数据传输载体

写在前面 源码 。 本文看下使用protostuff作为数据传输的载体。 1:正戏 1.1:server server main: package com.dahuyou.netty.protostuff.server;import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.ChannelFuture; i…

这些持续高额派息的公司,都做对了什么?

2024年,资产荒已成共识,投资者梦寐以求寻找不怕火炼的“真金”。 受此影响,具有业绩高确定性和高股息的资产价值凸显。银河证券策略首席分析师杨超指出,当前,投资者对于现金回报的重视程度日益提升,促使上…

格行“信号增强技术”引领行业创新,格行随身WiFi带你感受不一样的速度与激情,行业第一的随身WiFi并非浪得虚名!

近年来,随着市场保有量的不断提升与相关技术的不断扩展,我国随身WiFi市场已经到了发展质量更高的“2.0”阶段,消费者对随身WiFi的需求变得多元且“高级”。与之对应的供给端,品牌之间的竞争也从未停止,有的品牌选择卷价…

微软Power Platform使用Power Automate低代码创建API接口供外部调用获取数据

微软Power Platform使用Power Automate低代码创建API接口供外部调用获取数据 在系统的使用过程中,有很多的情况需要外部调用内部数据增删改查,这里提供一种简单的方式,无需编写代码即可上手操作。 首先创建一个流,触发器为当收到…

区块链入门

1.1 区块链技术的发展 随着 2008 年比特币(Bitcoin) 的发明,一个被称为区块链(Blockchain) 的新概念进入了人们的视野,这项新技术据信有可能彻底改变整个社会。 区块链有望对每个行业产生颠覆的影响,包括但不限于 IT、金融、政府、媒体、医疗、法律和艺术等。一个流派将区…