【密码学】五、序列密码

news2024/11/18 14:28:44

序列密码

  • 1、概述
    • 1.1序列密码的分类
      • 1.1.1同步序列密码
      • 1.1.2自同步序列密码
  • 2、序列密码的组成
    • 2.1密钥序列生成器KG
    • 2.2有限状态自动机
  • 3、LFSR

1、概述

采用一个短的种子密钥来控制某种算法获得长的密钥序列的办法,用以提供加解密,这个种子密钥的长度较短,存储、分配都比较容易。
察罕俄国密钥序列的密钥发生器就是序列密码的关键。
分组密码与序列密码的区别在于有无记忆性,分组密码无记忆性,序列密码又记忆性,里面有一个记忆元件。

1.1序列密码的分类

分为同步序列密码和自同步序列密码两大类。
同步序列密码中,密钥序列的产生独立于明文消息和密文消息。因此可以将同步序列密码的加密器分成密钥流生成器和加密变换器两个部分。其中同步序列密码的加密变换可以有很多选择,只要保证变换是可逆的就可以。

1.1.1同步序列密码

同步序列密码的关键是密钥流生成器,一般可以看成一个参数为k的有限状态自动机,由一个输出序列z,一个状态集,两个函数(状态转移函数和输出函数)和一个初始状态组成。
输出函数是指,将当前状态变成输出序列中的一个元素。
关键在于找出适当的状态转移函数和输出函数,采用线性的状态转移函数和非线性的输出函数,将能够进行深入的分析并可以得到优良的密钥流生成器。
所以,可以将这一类生成器分成驱动部分和非线性组合部分。
驱动部分控制密钥流生成器的状态转移,并为非线性组合部分提供统计性能好的序列;而非线性组合部分要利用这些序列组合出满足要求的密钥流序列。
目前流行实用的密钥流生成器如下:

LFSR
F

1.1.2自同步序列密码

自同步序列密码又称为非同步序列密码,其中产生的密钥序列是主密钥和固定大小的前序密钥序列的函数。
在这里插入图片描述
其中,g是通过状态和主密钥k生成密钥序列z的函数,h是通过密钥序列z和明文m生成密文c的函数。其加解密如下图:
加解密
解密映射仅与固定长度的密文字符有关,因此密文位在被删除或者插入的时候可以进行自同步。

2、序列密码的组成

2.1密钥序列生成器KG

KG输入的种子密钥k是较短的。
一般的KG结构如图所示:

xi
驱动子系统f
非线性组合子系统F
种子密钥k

f一般由m序列生成器构成,提供若干周期大、统计特性好的序列x(称为驱动序列)
F是把f产生的多条驱动序列综合在一起的一些非线性编码手段,目的是有效地破坏和掩盖多条驱动序列中存在地规律或关系,提高线性复杂度。

2.2有限状态自动机

有限状态自动机是具有离散输入和输出的一种数学模型,由有限状态集、有限输入字符集和有限输出字符集以及转移函数组成。
可以用有向图表示转移,转移图。

3、LFSR

移位寄存器是序列密码产生密钥流的一个主要组成部分。GF(2)上的一个n级反馈移位寄存器由n个二元存储器和一个反馈函数f组成。
结构
链接: link
LFSR因其实现简单、速度快、有较为成熟的理论等优点成为构造密钥流生成器的重要的部件之一。

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

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

相关文章

java实现文件下载

1.文件上传 文件上传,也称为upload,是指将本地图片、视频、音频等文件上传到服务器上,可以供其他用户浏览或下载的过程。文件上传在项目中应用非常广泛,我们经常发微博、发微信朋友圈都用到了文件上传功能。 import com.itheima.…

Leetcode-每日一题【剑指 Offer II 006. 排序数组中两个数字之和】

题目 给定一个已按照 升序排列 的整数数组 numbers &#xff0c;请你从数组中找出两个数满足相加之和等于目标数 target 。 函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 0 开始计数 &#xff0c;所以答案数组应当满足 0 < answer[0] &l…

简述token和如何使用token

一、什么是token&#xff08;理论&#xff09; 解决http短连接,无状态管理的问题。 Jeb web token(JWT),是为了在网络应用环境间传递声明而执行的一种基于JSON的开发标准&#xff0c;JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息&#xff0c;以便于…

ChatGPT在法律行业的市场潜力

​ChatGPT现在已经成为我们的文字生成辅助工具、搜索引擎助手&#xff0c;许多体验过它的朋友会发现对它越来越依赖&#xff0c;并将其逐渐融入到自己的日常工作、生活。但有一点值得注意&#xff1a;这种人工智能除了技术可行、经济价值可行还要与相关规范即人类普遍的价值观念…

JVM复习(史上最全!!!)

一、JDK、JRE、JVM的区别 JDK: 全称Java Development Kit&#xff0c;是 Java 语言的软件开发工具包&#xff0c;主要用于移动设备、嵌入式设备上的Java应用程序。JDK是整个Java开发的核心。 JRE: JRE&#xff0c;全称Java Runtime Environment&#xff0c;是指Java的运行环境&…

vue3如何封装框架

在Vue 3中&#xff0c;你可以通过创建一个基础的框架来封装一些常用的功能、组件和样式&#xff0c;以便在不同的项目中重复使用。下面是一个简单的步骤来封装一个Vue 3框架&#xff1a; 创建一个新的Vue项目&#xff1a;首先&#xff0c;使用Vue CLI创建一个新的Vue项目。 v…

eam资产管理系统,eam资产管理系统功能介绍

基于固定资产管理系统PDA并结合RFID技术固定资产管理信息系统将固定资产管理、低价值消耗品管理和设备维护融为一体。根据先进的射频识别技术&#xff0c;从资产购买公司到资产退出的整个生命周期&#xff0c;每一个固定资产唯一的条形码资产标签都被赋予了后续管理&#xff0c…

【多模态】23、RO-ViT | 基于 Transformer 的开发词汇目标检测(CVPR2023)

文章目录 一、背景二、方法2.1 基础内容2.2 Region-aware Image-text Pretraining2.3 Open-vocabulary Detector Finetuning 三、效果3.1 细节3.2 开放词汇目标检测效果3.3 Image-text retrieval3.4 Transfer object detection3.5 消融实验 论文&#xff1a;Region-Aware Pretr…

大数据课程D4——hadoop的YARN

文章作者邮箱&#xff1a;yugongshiyesina.cn 地址&#xff1a;广东惠州 ▲ 本章节目的 ⚪ 了解YARN的概念和结构&#xff1b; ⚪ 掌握YARN的资源调度流程&#xff1b; ⚪ 了解Hadoop支持的资源调度器&#xff1a;FIFO、Capacity、Fair&#xff1b; ⚪ 掌握YA…

4090Ti被取消,NVIDIA还要推出新“甜品卡“

不知不觉距离 NVIDIA RTX 40 系显卡发布已快一年&#xff0c;4090 到 4060 从旗舰到甜品也都差不多了。 不过每个男孩子都想要的礼物 - RTX 4090 Ti &#xff0c;至今仅在春晚发布。 从核心架构上来看&#xff0c;RTX 4090 上的 AD 102-300 也确实不是完全体。 仅拥有144组 S…

模拟一个一维排斥场

( A, B )---3*30*2---( 1, 0 )( 0, 1 ) 让网络的输入只有3个节点&#xff0c;AB训练集各由5张二值化的图片组成&#xff0c;让A有6个1&#xff0c;B有4个1&#xff0c;比较迭代次数的顺序。 其中有12组数据 差值结构 迭代次数 全0行 位置 构造平均列 平均列 列排斥能 …

手机照片转换成pdf怎么做?了解这几种方法就可以了

手机照片转换成pdf怎么做&#xff1f;转换照片为PDF的需求在日常生活中很常见。无论是收集有关旅行、家庭或工作的照片&#xff0c;将它们组织成一个PDF文件可以更方便地分享给朋友或同事。那么下面就给大家分享几个手机照片转换成pdf的方法。 虽然有多种软件和工具可以将照片转…

八大排序算法--直接插入排序(动图理解)

目录 直接插入排序 概念 算法思路 动画演示 代码如下 复杂度分析 时间复杂度测试 运行结果 完整代码 创作不易&#xff0c;如果本篇博客对您有一定的帮助&#xff0c;大家记得留言点赞哦。 直接插入排序 概念 直接插入排序是插入排序的一种。把待排序的数字按大小逐个插…

【SpringBoot】笔记2

文章目录 45、web实验-抽取公共页面46、web实验-遍历数据与页面bug修改47、视图解析-【源码分析】-视图解析器与视图[暂时没看]48、拦截器-登录检查与静态资源放行49、拦截器-【源码分析】-拦截器的执行时机和原理50、文件上传-单文件与多文件上传的使用51、文件上传-【源码流程…

jQuery如何获取动态添加的元素

jQuery如何获取动态添加的元素 使用 on()方法 本质上使用了事件委派&#xff0c;将事件委派在父元素身上 自 jQuery 版本 1.7 起&#xff0c;on() 方法是 bind()、live() 和 delegate() 方法的新的替代品&#xff0c;但是由于on()方法必须有事件&#xff0c;没有事件时可选择de…

elasticsearch 官方优化建议

.一般建议 a.不要返回过大的结果集。这个建议对一般数据库都是适用的&#xff0c;如果要获取大量结果&#xff0c;可以使用search_after api&#xff0c;或者scroll &#xff08;新版本中已经不推荐&#xff09;。 b.避免大的文档。 2. 如何提高索引速度 a.使用批量请求。为了…

HCIP中期考试实验

考试需求 1、该拓扑为公司网络&#xff0c;其中包括公司总部、公司分部以及公司骨干网&#xff0c;不包含运营商公网部分。 2、设备名称均使用拓扑上名称改名&#xff0c;并且区分大小写。 3、整张拓扑均使用私网地址进行配置。 4、整张网络中&#xff0c;运行OSPF协议或者BGP…

Java -接口

接口 基本介绍 接口就是给出一些没有实现的方法&#xff0c;封装到一起&#xff0c;到某个类要使用的时候&#xff0c;再根据具体情况把这些方法写出来。 class 类名 implements 接口{自己属性;自己方法;必须实现的接口的抽象方法; // 只需要重写抽象方法即可 }接口中的方法…

【腾讯云 Cloud Studio 实战训练营】永不宕机的IDE,Coding Everywhere

【腾讯云 Cloud Studio 实战训练营】永不宕机的IDE&#xff0c;随时随地写代码&#xff01; 写在最前视频讲解&#xff1a;Cloud Studio活动简介何为腾讯云 Cloud Studio?Cloud Studio简介免费试用&#xff0c;上手无忧Cloud Studio 特点及优势云端开发多种预制环境可选metawo…

C# 定时器改进版

一、概述 前不久写了一篇名为 “C# 定时器封装版” 的帖子&#xff0c;它是用的定时器 事件订阅 的方式完成的&#xff0c;虽然可以实现需求&#xff0c;但是它有个缺点&#xff0c;就是定时器的执行的间隔时间只能用固定的时间&#xff0c;假设你想每个事件有自己的单独间隔…