【密码学复习】第十章 身份鉴别

news2024/11/14 10:59:01

身份鉴别的定义

定义:身份鉴别又称为身份识别、身份认证。它是证实客户的真实身份与其所声称的身份是否相符的过程。

口令身份鉴别

 

 

 

固定口令(四)

注册环节:双因子认证

① 接收用户提供的口令pw(PIN);

② 生成用户的其它信息(证书等),存入磁卡(或芯片卡、门卡) 等,发放给用户;

③ 把口令信息pw等信息存入数据库的口令字段中。

登录环节:

① 接收用户提供的帐户名Dname口令pw和证书等信息;

② 在帐户信息数据库中检查Dname的合法性,如果合法,则找出其对应的pw等信息;

③ 如果收到信息和存储数据相等,则认证成功,否则,认证失败。

口令认证

(一)共享列表一次口令

注册环节:

① 接收用户提供的口令列表{pw1 , pw2 , …, pwt };

② 每个口令分别生成口令信息:{si=F(pwi) |i=1,2,…,t} ;

③ 把口令信息{si |i=1,2,…,t} 存入数据库的口令字段中。

登录环节:第i次登录

① 接收用户提供的帐户名Dname和口令pwi

② 在帐户信息数据库中检查Dname的合法性,如果合法,则找出其对应的si

③ 生成临时口令信息:sri=F(pwi) ;

④ 如果sri si 相等,则认证成功,从列表中删除si ;否则,认证失败。

(二)顺序更新一次口令

注册环节:

① 接收用户提供的初始口令 pw1

② 把口令信息pw1 存入数据库的口令字段中。

登录环节:第i次登录

① 接收用户提供的帐户名Dname和口令pwi ;以及下次认证口令的密文ci+1 = E pwi[pwi+1 ] ;

② 在帐户信息数据库中检查Dname的合法性,如果合法,则找出其对应的pwi

③如果两个口令相等,则认证成功,执行步骤④ ;否则,认证失败。

④ 解密得 pwi+1= D pwi[ci+1],覆盖数据库的口令字段中的pwi

身份鉴别协议

协议:是一系列步骤,它包括两方和多方,设计它的目的是要完成一项任务

Ø 协议是从开始到结束的一个序列,每步必须依次执行

Ø 完成协议至少需要两个人

Ø 协议的目的是为了做一些事情

身份鉴别协议

1)对称密码技术的挑战应答协议

每对用户可预先共享一个密钥,Alice证明他知道共享密钥的方式有两种:

Ø Alice可以对明文挑战加密,得到正确密文(或对密文挑战解密,得到正确明文);

Ø Alice可以对挑战得到正确的认证码.

2)公钥密码技术的挑战-应答协议

Alice拥有一对公钥pkA 和私钥skA ,以及CA对其公钥的认证证书CA(A),她证明自己知道对应私钥的方法有两种 :

Ø Alice可以解密一个(用pkA 加密的)密文挑战,得到正确明文

Ø Alice可以对一个挑战进行数字签名,使其可以通过签名验证算法Ver(pkA, ·)

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

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

相关文章

车辆救援道路救援预约汽修托运小程序

道路救援:指汽车道路紧急救援,为故障车主提供包括诸如:拖吊、换水、充电、换胎、送油以及现场小修等服务(Road-Side Service); 同时也指交通事故道路救援,包括伤员救治、道路疏导等。 随着我国巨大的汽车拥有量&…

1计算机系统概述_1.2计算机系统层次结构

1.2 计算机系统层次结构 计算机系统(CO 自命名) 1、CO的组成 硬件系统和软件系统共同构成了一个完整的计算机系统 ——硬件:有形的物理设备,是CO中实际物理装置的总称 ——软件:在硬件上运行的程序和相关的数据及文…

SpringCloud:分布式缓存之Redis哨兵

Redis提供了哨兵(Sentinel)机制来实现主从集群的自动故障恢复。 1.哨兵原理 1.1.集群结构和作用 哨兵的结构如图: 哨兵的作用如下: 监控:Sentinel会不断检查您的master和slave是否按预期工作自动故障恢复&#xff…

人工智能(pytorch)搭建模型9-pytorch搭建一个ELMo模型,实现训练过程

大家好,我是微学AI,今天给大家介绍一下人工智能(pytorch)搭建模型9-pytorch搭建一个ELMo模型,实现训练过程,本文将介绍如何使用PyTorch搭建ELMo模型,包括ELMo模型的原理、数据样例、模型训练、损失值和准确率的打印以及…

labelimg闪退解决方法(之前使用过labelimg,但新一次使用,打开文件夹无反应,再次打开闪退的问题)及标注经验

问题描述: 之前使用过labelimg进行好多次的标注,但新一次运行使用,发现打开目录无反应,再次打开闪退的问题,重启电脑并且从新运行labelimg仍然无效。 解决方法: 关闭labelimg,然后删除文件C…

一文纵览Umi‘s Friends生态,GameFi浪潮的变革者

以“P2E”为特性的 GameFi,代表着游戏时代的新盈利模式,它将 NFT 或其他形式的代币化资产作为游戏内容,游戏内资产的寿命会,则随着这些资产继续存在于玩家的钱包中而延长(即便游戏关闭),资产的互…

class文件中,常量池、方法表、属性表,异常表等等相关数据解析!小白就跟我一起对照学【class字节码文件分析】

前言:前段时间读《深入java虚拟机》介绍到class文件的时候,由于理论知识较多,人总感觉疲惫不堪,就泛泛阅读了一下。在工作中使用起来知识点知道,但是总是需要查阅各种资料。今天有时间,继续整理常量池后面的…

session与cookie

session是一种会话机制。当客户端发送登录请求时,服务端会生成一个sessionId存储在cookie中返回给客户端,客户端通过响应数据中的set-cookie字段来获取cookie并保存。如果客户端再向同一网站发送请求时,会自动携带cookie,相当于一…

离散数学_十章-图 ( 5 ):连通性 - 下

📷10.5 图的连通性 4. 有向图的连通性4.1 强连通4.2 弱连通4.3 (有向图的)强连通分支 5. 通路与同构6. 顶点间通路个数的计算 4. 有向图的连通性 根据是否考虑边的方向,在有向图中有两种连通性概念: 4.1 强连通 强连…

C/C++线程绑核详解

在一些大型的工程或者特殊场景中,我们会听到绑核,绑核分为进程绑核和线程绑核。绑核的最终目的都是为了提高程序和性能或者可靠性。 一:为什么需要绑核 操作系统发展至今,已经能很好的平衡运行在操作系统上层的应用,兼…

16.3:岛屿数量问题2

岛屿数量问题2 https://leetcode.cn/problems/number-of-islands-ii/ 给你一个大小为 m x n 的二进制网格 grid 。网格表示一个地图,其中,0 表示水,1 表示陆地。最初,grid 中的所有单元格都是水单元格(即&#xff0c…

Dubbo源码解析一网络通信原理

Dubbo 网络通信原理 1. Dubbo高可用集群1.1 服务集群的概述1.1.1 服务集群的概述1.1.2 调用过程1.1.3 组件介绍 1.2 集群容错机制1.2.1 内置集群容错策略1.2.1.1 Failover(失败自动切换)1.2.1.2 Failsafe(失败安全)1.2.1.3 Failfast(快速失败)1.2.1.4 Failback(失败自动恢复)1.…

卡尔曼滤波 | Matlab实现利用卡尔曼滤波器估计电池充电状态(Kalman Filtering)

文章目录 效果一览文章概述研究内容程序设计参考资料效果一览 文章概述 卡尔曼滤波 | Matlab实现利用卡尔曼滤波器估计电池充电状态(Kalman Filtering) 研究内容

gyp verb `which` failed Error: not found: python2

安装node-sass居然需要python2,7环境,不能python3 我只能重新降版本: python2.7:https://www.python.org/ftp/python/2.7/python-2.7.amd64.msi npm ERR! code 1 npm ERR! path F:\idea2021work\music01 初始化\music-client\node_modules\node-sass np…

自然语言处理从入门到应用——自然语言处理的基础任务:词性标注(POS Tagging)和句法分析(Syntactic Parsing)

分类目录:《自然语言处理从入门到应用》总目录 词性标注 词性是词语在句子中扮演的语法角色,也被称为词类(Part-Of-Speech,POS)。例如,表示抽象或具体事物名字(如“计算机”)的词被…

【遗传算法简介】

遗传算法:原理与实战 简介 遗传算法是一种模拟达尔文生物进化论的自然选择以及遗传学机制的搜索算法,由 John Holland 在20世纪70年代提出。它们在各种搜索、优化和机器学习任务中已被广泛应用。 遗传算法原理 1. 编码 遗传算法的第一步是将问题的可…

Andriod开发 Room 数据库处理框架

1.Room框架 Room是Android Jetpack组件库中的一部分,它是一个SQLite数据库的抽象层,提供了更简单的API和更好的性能,适合于中大型应用程序。 2.Room的使用 使用Room和之前使用SQLite搭建数据库的过程类似,但是更加简单了。 1&…

JAVA网络编程(一)

一、什么是网络编程 定义:在网络通信协议下,不同计算机上运行的程序,进行的数据传输。 应用场景:即时通信,网游,邮件等 不管什么场景,都是计算机与计算机之间通过网络在进行数据传输 java提供一…

软件测试必会:cookie、session和token的区别

今天就来说说session、cookie、token这三者之间的关系!最近这仨玩意搞得头有点大🤣 01、为什么会有它们三个 我们都知道 HTTP 协议是无状态的,所谓的无状态就是客户端每次想要与服务端通信,都必须重新与服务端链接,意…

穿针引线之 AsyncLocalStorage

在 Node.js 中,如何更优雅地获取请求上下文一直是一个问题,看一下下面的例子。 背景 const http require(http); function handler1(req, res) {console.log(req.url); }function handler2(req, res) {console.log(req.url); }http.createServer((req…