首页 > 编程语言 >java实现线性反馈移位寄存器实例

java实现线性反馈移位寄存器实例

时间:2024-08-27 13:23:57浏览次数:13  
标签:java 进制 16 反馈 a1 a3 a2 寄存器 移位

题目:

3级线性反馈移位寄存器C3=1时可有4种线性反馈函数,设其初始状态为(a1,a2,a3)=(1,0,1),输出由它们得到的密钥流,并分别利用生成的密钥流对明文“0x0123456789ABCDEF”进行加密,输出加密后的结果,再对密文进行解密,输出解密后的结果。

1.分析

相关题目详解:3级线性反馈移位寄存器在C3=1时可有4种线性反馈函数,设其初始状态为(a1,a2,a3)=(1,0,1),求各线性反馈函数的输出序列及周期-CSDN博客

(1)四种可能情况

情况一:C1=0  C2=1,对应反馈函数:f=a2⊕a1

情况二:C1=0  C2=0,对应反馈函数:f=a1

情况三:C1=1  C2=0,对应反馈函数:f=a3⊕a1

情况三:C1=1  C2=1,对应反馈函数:f=a3⊕a2⊕a1

(2)如何得到密钥流

以情况1为例子

解释从初始状态到第1次:

先把a(i)按照i值从大到小的顺序排好,再计算出f=a2⊕a1=0⊕1=1

此时我们把a3到a1的值往右移一位,由表看就是黄色数字转移到绿色数字的位置

原来a3的值会空出来,我们把f值填入(红色数字),以此类推:

a3

a2

a1

输出(a1)

初始状态

1

0

1

\

第1次

1

1

0

1

第2次

1

1

1

0

(3)加密操作

附:题目中的0x代表16进制

密文二进制 = 密钥流与明文分别16进制转为2进制逐比特异或,得到密文流,再将密文流2进制转为16进制

例子:

附:()内是转换的原文

明文(16进制)

密钥流

原16进制

23

34

标签:java,进制,16,反馈,a1,a3,a2,寄存器,移位
From: https://blog.csdn.net/m0_74258307/article/details/141502327

相关文章

  • (javaweb)事务管理+AOP
    目录1.spring事务管理2.rollbackFor(异常回滚属性)3.propagation(事物传播行为)AOP基础1.AOP概述AOP快速入门AOP核心概念APO进阶1.通知类型2.通知顺序3.切入点表达式 4.连接点5.AOP案例1.spring事务管理spring的第二大核心:AOP(面向切面编程)IOC是第一大核心:控制......
  • 【java计算机毕设】网上商城MySQL springcloud vue HTML maven项目设计源码带项目报告
    目录1项目功能2项目介绍3项目地址 1项目功能【java计算机毕设】网上商城MySQLspringcloudvueHTMLmaven项目设计源码带项目报告PPT前后端可分离也可不分离 2项目介绍系统功能:网上商城包括管理员、用户两种角色。管理员功能包括个人中心模块用于修改个人......
  • JavaScript简介
    一、JavaScript简介1.什么是JavaScript?JavaScript简称为JS,由网景公司开发的客户端脚本语言,不需要编译,可以直接运行Web前端三层:结构层 HTML 定义页面的结构样式层 CSS 定义页面的样式行为层 JavaScript 用来实现交互,提升用户体验2.JavaScript作用在客户端动......
  • 【JUC并发编程系列】深入理解Java并发机制:CAS算法与原子类在Java中的实践应用(二、CAS
    文章目录【JUC并发编程系列】深入理解Java并发机制:CAS算法与原子类在Java中的实践应用(二、CAS)1.同步之原子类(Atomic类)2.使用atomicInteger计数3.使用atomicInteger底层原理3.compareAndSet原理分析3.1手写AtomicInteger3.2手写Lock锁3.3CASaba的问题3.4Atomic......
  • 【JUC并发编程系列】深入理解Java并发机制:从用户态到内核态的探索(一、前置知识)
    文章目录【JUC并发编程系列】深入理解Java并发机制:从用户态到内核态的探索(一、前置知识)1.用户态与内核态区别2.线程安全同步的方式3.传统锁有哪些缺点4.发生CPU上下文切换的原因5.如何避免上下文切换6.详细总结6.1用户态与内核态6.2线程安全同步方式6.3传统锁的......
  • Java基础-学习笔记14
    14集合Collection、Map第一部分Collection的框架体系1)可以动态保存任意多个对象,使用比较方便2)提供了一系列方便的操作对象的方法:add、remove、set、get等3)使用集合添加、删除新元素简单便捷。集合Collection主要是两组:单列集合,双列集合List、Set是存储单列的数据......
  • 关于java中Excel的导入导出
    前言提示:注意看文字的提醒:例如:提示:就这几个表别搞乱了就行其实很简单ExcelClassField------Excel标题栏工具类–不用管ExcelExport------导出配置工具类—用于对象表的配置上ExcelImport----导入配置工具类—用于对象表的配置上ExcelUtils-----用于接口调用上 一、配置pom......
  • Java中的API网关:Spring Cloud Gateway与Zuul
    在微服务架构中,API网关扮演着至关重要的角色。它作为系统的入口,负责请求的路由、负载均衡、认证授权、限流熔断等功能。本文将深入探讨两个流行的JavaAPI网关解决方案:SpringCloudGateway和NetflixZuul,并通过详细的解释和代码示例展示它们的使用方法和优缺点。1.API网关概......
  • Java中的序列化与反序列化深度剖析
    序列化与反序列化在Java开发中扮演了重要角色,特别是在数据持久化、RPC(远程过程调用)以及分布式系统中。本篇博客将详细解析Java中的序列化机制,讨论常见的序列化框架,并提供实际代码示例帮助理解。什么是序列化与反序列化?序列化(Serialization):将Java对象转换为字节流的过程,以便将......
  • java+vue计算机毕设线上图书商城系统【源码+开题+论文】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,电子商务已成为现代商业活动的重要组成部分,深刻改变着人们的消费习惯。在数字化阅读日益普及的今天,线上图书商城系统应运而......