当前位置: 首页 > news >正文

Large-Precision Sign using PBS

参考文献:

  1. [CLOT21] Chillotti I, Ligier D, Orfila J B, et al. Improved programmable bootstrapping with larger precision and efficient arithmetic circuits for TFHE[C]//Advances in Cryptology–ASIACRYPT 2021: 27th International Conference on the Theory and Application of Cryptology and Information Security, Singapore, December 6–10, 2021, Proceedings, Part III 27. Springer International Publishing, 2021: 670-699.
  2. [LMP22] Liu Z, Micciancio D, Polyakov Y. Large-precision homomorphic sign evaluation using FHEW/TFHE bootstrapping[C]//International Conference on the Theory and Application of Cryptology and Information Security. Cham: Springer Nature Switzerland, 2022: 130-160.

文章目录

  • Homomorphic Floor Function
    • Using 2 PBS
    • Using 3 PBS
  • PBS of Arbitrary Function
  • Homomorphic Digit Decomposition
  • Parameter Selection

[CLOT21] 提出了 WoP-PBS,它基于事实 ( − 1 ) ⋅ ( − m ) = m (-1) \cdot (-m)=m (1)(m)=m,先将 m m m 扩展为 β ∥ m \beta\|m βm,然后使用 GenPBS 分别计算出 ( − 1 ) β ⋅ f ( m ) (-1)^\beta \cdot f(m) (1)βf(m) ( − 1 ) β (-1)^\beta (1)β,最后使用 FV-like 同态乘法,将它们组合成 f ( m ) f(m) f(m)。这需要底层的 LWE 同时支持加法和乘法,并且同态乘法导致了噪声增长。因此,模数(正确性)和维度(安全性)都会相应的变大,导致它比一般的 FHEW/TFHE 的效率更至少一倍。

[LMP22] 也是将 m m m 扩展到 β ∥ m \beta\|m βm,单它首先将 β \beta β 消除掉使之成为 0 ∥ m 0\|m 0∥m,接着使用原始的 PBS 就可以计算出正确的 f ( m ) f(m) f(m)。在这个过程中,并不需要使用同态乘法,因此它的噪声就是 PBS 本身的噪声,常规的参数就足够使用。

Homomorphic Floor Function

首先,[LMP22] 研究了如何对于高精度 LWE 密文执行自举。这里的 “精度” 指的是 MSD 编码的消息的比特长度。我们先给出一些参数定义:

  • LWE:
    • 维度 n n n,不需要是二的幂
    • 模数 Q Q Q,是二的幂,用于 LWE 同态运算
    • 模数 q q q,是二的幂,用于 PBS 自举
    • 缩放因子 α \alpha α,是二的幂,用于纠错
    • 噪声界 β \beta β,是二的幂
  • ACC:
    • 多项式长度 N N N,是二的幂
    • RLWE 密文模数 Q ′ Q' Q,是满足 2 N ∣ Q ′ − 1 2N \mid Q'-1 2NQ1 的素数
    • 输入 LWE 密文模数 q ∣ 2 N q \mid 2N q2N
    • 输出 LWE 密文模数 Q Q Q

FHEW/TFHE 要求 LWE 的密文模数满足 Q ∣ 2 N Q \mid 2N Q2N,随着明文精度的增加( k k k 比特),多项式长度 N N N 指数级增加( 2 k 2^k 2k 倍)。对于通常的参数集 N = 1024 / 2048 N=1024/2048 N=1024/2048,只能支持至多 3 , 4 3,4 3,4 比特的明文精度。[LMP22] 为了计算高精度的 Sign 函数,通过不断移除 LSD(保持 MSB 不变),直到密文模数 Q Q Q 倍缩减到 q q q 规模,从而可以使用常规参数集执行 PBS。

这个过程中,一个关键步骤是同态 Floor 函数。假设 LWE 密文 ( c , d ) ∈ Z Q n + 1 (c,d) \in \mathbb Z_Q^{n+1} (c,d)ZQn+1 的相位是:
ψ = α ⋅ m + e ( m o d Q ) \psi = \alpha \cdot m + e \pmod Q ψ=αm+e(modQ)
其中 ∣ e ∣ ≤ β ≪ q |e| \le \beta \ll q eβq m ∈ Z Q / α m \in \mathbb Z_{Q/\alpha} mZQ/α,根据不同的场景 α \alpha α 选取不同的值。

注意到 Q > q > α Q>q>\alpha Q>q>α 都是二的幂次。如果我们将 LWE 密文模掉 q q q,获得的 ( a , b ) ∈ Z q n + 1 (a,b) \in \mathbb Z_q^{n+1} (a,b)Zqn+1
[ m ′ ] q = α ⋅ [ m ] q / α + e ( m o d q ) [m']_q = \alpha \cdot [m]_{q/\alpha} + e \pmod q [m]q=α[m]q/α+e(modq)
使用 PBS 将它提升回 ( a ′ , b ′ ) ∈ Z Q n + 1 (a',b') \in \mathbb Z_Q^{n+1} (a,b)ZQn+1,并从原始密文中把它减掉,就清除了 m m m 的最低 log ⁡ q / α \log{q/\alpha} logq/α 比特。密文 ( c ′ , d ′ ) (c',d') (c,d) 的相位是:
ψ ′ = α ⋅ ( ⌊ α q m ⌋ ⋅ q α ) + e ′ ( m o d Q ) \psi' = \alpha \cdot \left(\left\lfloor \frac{\alpha}{q} m \right\rfloor \cdot \frac{q}{\alpha} \right) + e' \pmod Q ψ=α(qαmαq)+e(modQ)
现在,我们可以把 α , Q \alpha,Q α,Q 同时缩小 q / α q/\alpha q/α 倍,得到的密文 ( c ′ ′ , d ′ ′ ) ∈ Z ( α / q ) ⋅ Q n + 1 (c'',d'') \in \mathbb Z_{(\alpha/q) \cdot Q}^{n+1} (c′′,d′′)Z(α/q)Qn+1 相位的 MSB 保持和 ( c , d ) ∈ Z Q n + 1 (c,d) \in \mathbb Z_Q^{n+1} (c,d)ZQn+1 的一样。

我们将这个长度 log ⁡ ( q / α ) \log(q/\alpha) log(q/α) 的小块明文称为 LSD,我们的目标是将它清零。然而,函数 f : m ∈ Z q / α ↦ m ∈ Z Q / α f:m \in \mathbb Z_{q/\alpha} \mapsto m \in \mathbb Z_{Q/\alpha} f:mZq/αmZQ/α 并非反循环的,导致了原始的 PBS 无法实现从 ( a , b ) (a,b) (a,b) ( a ′ , b ′ ) (a',b') (a,b) 的自举过程。[LMP22] 给出了两种实现,通过 2 , 3 2,3 2,3 次 PBS 来实现它。用到的三个函数为:

在这里插入图片描述

为了构造 LUT 的方便,下面的推导中总是使得 PBS 输入的密文噪声是正整数,范围是 [ 0 , 2 β ) [0,2\beta) [0,2β)。这可通过 ( c , d ) → ( c , d + β ) (c,d) \to (c,d+\beta) (c,d)(c,d+β) 来实现。只要满足 α ≥ 2 β \alpha \ge 2\beta α2β,就可以准确解密。FHEW/TFHE 中的 LWE 私钥 s ∈ { 0 , ± 1 } n s \in \{0,\pm1\}^n s{0,±1}n 服从三元分布

Using 2 PBS

[LMP22] 的第一个方法:使用两次 PBS,但是对于噪声的约束较强, α ≥ 4 β \alpha \ge 4\beta α4β

基本思路:分别提取 ( [ c ] q , [ d ] q ) ([c]_q,[d]_q) ([c]q,[d]q) 相位(加密了 LSD)的 MSB 和其他位置,

  1. 先提取 ( [ c ] q , [ d ] q ) ([c]_q,[d]_q) ([c]q,[d]q) 的 MSB,将它从 ( c , d ) ∈ Z Q n + 1 (c,d) \in \mathbb Z_Q^{n+1} (c,d)ZQn+1 中移除。现在 ( [ c ′ ] q , [ d ′ ] q ) ([c']_q,[d']_q) ([c]q,[d]q) 的相位只位于半个环面上。
  2. 再提取 ( [ c ′ ] q , [ d ′ ] q ) ([c']_q,[d']_q) ([c]q,[d]q) 的消息,将它从 ( c ′ , d ′ ) ∈ Z Q n + 1 (c',d') \in \mathbb Z_Q^{n+1} (c,d)ZQn+1 中移除。现在 ( [ c ′ ′ ] q , [ d ′ ′ ] q ) ([c'']_q,[d'']_q) ([c′′]q,[d′′]q) 的相位是零。
  3. ( c ′ ′ , d ′ ′ ) (c'',d'') (c′′,d′′) 缩放 q / α q/\alpha q/α,降低密文模数。

在这里插入图片描述

假定 PBS 输出的噪声界是 β \beta β,初始输入 ( c , d ) c,d) c,d) 的噪声上界也是 β \beta β

  • HomFloor:
    • 输入噪声范围 ( − β , β ) (-\beta,\beta) (β,β),执行 step 2 噪声范围 ( 0 , 2 β ) (0,2\beta) (0,2β)
    • 执行 step 4,5,噪声范围是 ( 0 , 4 β ) (0,4\beta) (0,4β)这里需要 α ≥ 4 β \alpha \ge 4 \beta α4β,使得这个噪声不会影响到我们刚刚消除掉的 MSB,从而此时的 ( c , d ) (c,d) (c,d) 相位是 m ~ q + x \tilde mq+x m~q+x,其中 x ∈ [ 0 , q / 2 ) x \in [0,q/2) x[0,q/2) 包含了 LSD 以及噪声
    • 执行 step 6 和 step 7,获得相位 x + e x+e x+e 的密文,从 ( c , d ) (c,d) (c,d) 中减掉后,返回的相位是 m ~ q + e \tilde mq+e m~q+e(注意函数 f 1 : x ∈ Z q / 2 ↦ x ∈ Z q / 2 f_1:x\in \mathbb Z_{q/2} \mapsto x \in \mathbb Z_{q/2} f1:xZq/2xZq/2,整个 x x x 都被清零,包括本来的噪声),满足 ∣ e ∣ < β |e| < \beta e<β
  • HomSign:
    • 输入噪声范围 ( − β , β ) (-\beta,\beta) (β,β),执行 HomFloor 输出的噪声范围也是 ( − β , β ) (-\beta,\beta) (β,β)
    • 执行 step 13 的模切换,噪声规模是 α / q ⋅ β + ( ∥ s ∥ 1 + 1 ) / 2 \alpha/q \cdot \beta + (\|s\|_1+1)/2 α/qβ+(s1+1)/2
    • 假如满足 ∥ s ∥ 1 = O ( n ) ≤ β \|s\|_1=O(n)\le \beta s1=O(n)β,并且假设 q ≥ 4 α q\ge4\alpha q4α 以及 β ≥ 2 \beta\ge 2 β2,那么就有 α / q ⋅ β + ( ∥ s ∥ 1 + 1 ) / 2 < β \alpha/q \cdot \beta + (\|s\|_1+1)/2 < \beta α/qβ+(s1+1)/2<β,因此可以正确地执行 HomFloor
    • 执行 step 17 虽然噪声规模可能超过 α \alpha α,但是并不会影响 MSB 的值,因此可以正确地执行 Boot,最终的噪声范围是 ( − β , β ) (-\beta,\beta) (β,β)

当然,上述的分析是最坏情况的。如果使用平均情况,那么 ∥ s ∥ 2 = O ( n ) \|s\|_2 = O(\sqrt{n}) s2=O(n ),独立密文的加和噪声界 2 β \sqrt{2}\beta 2 β,可以将 β \beta β α \alpha α 都降低一些。

Using 3 PBS

为了给出通用的算法(尤其是 CKKS 的噪声和明文混合在一起),[LMP22] 给出了第二个方法:使用三次 PBS,支持任意的噪声, α ≥ 2 β \alpha \ge 2\beta α2β

基本思路:

  1. 首先消除 ( [ c ] q , [ d ] q ) ([c]_q,[d]_q) ([c]q,[d]q) 相位的第二高比特。现在(正的)噪声向上传播时,遇到被清零的第二高比特后,不再继续向 MSB 传递影响。
  2. 利用上一小节的算法,清理掉 LSD,然后模切换。

在这里插入图片描述

假定 PBS 输出的噪声界是 β \beta β,初始输入 ( c , d ) c,d) c,d) 的噪声上界也是 β \beta β

  • HomFloorAlt:
    • 输入噪声范围 ( − β , β ) (-\beta,\beta) (β,β),相位是 m ~ q + b q / 4 + x \tilde mq+bq/4+x m~q+bq/4+x,其中 b ∈ { 0 , 1 , 2 , 3 } , x ∈ [ 0 , q / 4 ) b \in \{0,1,2,3\},x \in [0,q/4) b{0,1,2,3},x[0,q/4),这里的 x x x 包含了噪声项
    • 执行 step 3,4 将 LSD 的第二高比特置为零,相位形如 m ~ q + b ~ q / 2 + x + e \tilde mq+\tilde bq/2+x+e m~q+b~q/2+x+e,其中 b ~ ∈ { 0 , 1 } \tilde b \in \{0,1\} b~{0,1},噪声为 e ∈ [ 0 , 2 β ) e \in [0,2\beta) e[0,2β)
    • 假设满足 q ≥ 8 β q \ge 8\beta q8β,那么 x + e < q / 4 + 2 β ≤ q / 2 x+e<q/4+2\beta\le q/2 x+e<q/4+2βq/2,它们不会改变 b b b 的值,因此并不会继续向更高的 m ~ \tilde m m~ 传播影响
    • 执行 step 6,7 清理掉 b b b 的值,现在的相位是 m ~ q + x + e + e ′ \tilde mq+x+e+e' m~q+x+e+e,它的 LSD 是 x + e + e ′ x+e+e' x+e+e,其中 e ′ ∈ [ 0 , 2 β ) e' \in [0,2\beta) e[0,2β)
    • 进一步假设 q ≥ 16 β q \ge 16\beta q16β,那么满足 x + e + e ′ < q / 4 + 4 β ≤ q / 2 x+e+e' < q/4+4\beta \le q/2 x+e+e<q/4+4βq/2,它落在了半环内
    • 执行 step 9 清理掉它们,新的噪声是 e ′ ′ ∈ ( − β , β ) e'' \in (-\beta,\beta) e′′(β,β)
  • HomSign:
    • 简单使用 HomFloorAlt 作为子例程,分析是一样的

PBS of Arbitrary Function

利用上述 HomFloor 的计算思路,为了利用 PBS 计算任意函数,我们可以将 m ∈ Z q / α m\in \mathbb Z_{q/\alpha} mZq/α 扩展到 b ∥ m ∈ { m , m + q / α } ⊆ Z 2 q / α b\|m\in\{m,m+q/\alpha\} \subseteq \mathbb Z_{2q/\alpha} bm{m,m+q/α}Z2q/α(随机的 b ∈ { 0 , 1 } b\in \{0,1\} b{0,1}),然后提取 sign 消除为 ( 0 ∥ m ) 2 = m (0\|m)_2=m (0∥m)2=m,接着使用半环上的函数执行 PBS 即可。

现在我们假定输入的 LWE 密文模数是 q q q,满足 2 q ∣ 2 N 2q \mid 2N 2q2N 可以被原始 PBS 支持。这导致相较于 HomFloor 中的 PBS,这里的 q q q 更小,明文精度丢失了 1 1 1 比特。

在这里插入图片描述

Homomorphic Digit Decomposition

为了执行 [GBA21] 的 Tree-based PBS(包括高精度 LWE 密文的自举),我们需要同态数字分解算法。因为 HomFloor 事实上就是在计算各个 Digit,并将它们从高精度 LWE 密文中减去的过程,因此仅需追踪此过程中产生的 ( [ c ] q , [ d ] q ) ([c]_q,[d]_q) ([c]q,[d]q) 即可。

在这里插入图片描述

输入 LWE 密文的相位 α ⋅ m + e \alpha \cdot m+e αm+e,输出 k = log ⁡ ( Q / α ) / log ⁡ ( q / α ) k=\log(Q/\alpha)/\log(q/\alpha) k=log(Q/α)/log(q/α) 个密文,它们的相位是 α ⋅ m i + e i \alpha \cdot m_i+e_i αmi+ei,满足 m = ∑ i = 0 k − 1 m i ⋅ ( q / α ) i m=\sum_{i=0}^{k-1} m_i \cdot (q/\alpha)^i m=i=0k1mi(q/α)i

Parameter Selection

略。。。

相关文章:

Large-Precision Sign using PBS

参考文献&#xff1a; [CLOT21] Chillotti I, Ligier D, Orfila J B, et al. Improved programmable bootstrapping with larger precision and efficient arithmetic circuits for TFHE[C]//Advances in Cryptology–ASIACRYPT 2021: 27th International Conference on the T…...

【电商项目实战】MD5登录加密及JSR303自定义注解

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是Java方文山&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的专栏《电商项目实战》。&#x1f3af;&#x1f3af; &am…...

2014,TEVC,A competitive swarm optimizer for large scale optimization(CSO)

PSO 分析&#xff08;从而引入 CSO&#xff09; CSO (competitive swarm optimizer) 算法是在PSO (particle swarm optimization) 算法的基础上改进而来的。PSO算法是一种功能强大、应用广泛的群体智能算法&#xff0c;主要用来解决优化问题。PSO算法包含一个粒子群&#xff0…...

【机器学习】【线性回归】梯度下降

文章目录 [toc]数据集实际值估计值估计误差代价函数学习率参数更新Python实现导包数据预处理迭代过程数据可视化完整代码 线性拟合结果代价结果 个人主页&#xff1a;丷从心 系列专栏&#xff1a;机器学习 数据集 ( x ( i ) , y ( i ) ) , i 1 , 2 , ⋯ , m \left(x^{(i)} , …...

JMeter逻辑控制器之While控制器

JMeter逻辑控制器之While控制器 1. 背景2.目的3. 介绍4.While示例4.1 添加While控制器4.2 While控制器面板4.3 While控制器添加请求4.3 While控制器应用场景 1. 背景 存在一些使用场景&#xff0c;比如&#xff1a;某个请求必须等待上一个请求正确响应后才能开始执行。或者&…...

记录 Docker 外部访问的基本操作

目录 1. 启动 docker 时挂载本地目录2. 外部访问 docker 容器 (-p/-P)3. 无法连接 docker 内 SSH 解决方案 1. 启动 docker 时挂载本地目录 # 将本地 D:/SDK 目录 挂载到 容器里的 /mnt/host 目录中 # 注意&#xff1a;-v /d/SDK:/mnt/host/ 必须放到 IMAGE_ID 前面才行 # …...

【Android 13】使用Android Studio调试系统应用之Settings移植(六):BannerMessagePreference

文章目录 一、篇头二、系列文章2.1 Android 13 系列文章2.2 Android 9 系列文章2.3 Android 11 系列文章三、BannerMessagePreference的移植3.1 新的问题:找不到 R.dimen.settingslib_preferred_minimum_touch_target3.2 问题分析(一)3.2.1 资源定义的位置3.2.2 检查依赖3.2…...

Python 变量

打印输出内容 print(‘rumenle’) print(‘haode’) 缩进需要tab 注释将需要注释的部分开头用# 多行注释 1、用你也可以左键选中我们需要注释的代码&#xff0c;松开&#xff0c;按&#xff1a;Ctrl/&#xff0c;就完成相同效果注释 2、把要注释的内容放到三个引号对里面 …...

ComfyUI如何中文汉化

comfyui中文地址如下&#xff1a; https://github.com/AIGODLIKE/AIGODLIKE-ComfyUI-Translationhttps://github.com/AIGODLIKE/AIGODLIKE-ComfyUI-Translation如何安装&#xff1f; 1. git安装 进入项目目录下的custom_nodes目录下&#xff0c;然后进入控制台&#xff0c;运…...

Glary Utilities Pro - 电脑系统优化全面指南:详尽使用教程

软件简介&#xff1a; Glary Utilities Pro 是一款全面的电脑优化工具&#xff0c;它旨在帮助用户提升计算机的性能和稳定性。这款软件提供了多种功能&#xff0c;包括系统清理、优化、修复以及保护。通过一键扫描&#xff0c;它可以识别并清除无用文件、临时数据、注册表错误等…...

1.4分页和排序

排序&#xff1a; -- 分页(limit)和排序(order by) -- 排序&#xff1a;升序ASC,降序DESC -- ORDER BY 通过字段排序&#xff0c;怎么排 -- 查询的结果根据成绩降序&#xff0c;升序 SELECT s.studentno,studentname,sub.subjectname,studentresult FROM student s RIGHT JO…...

Modbus转Profinet,不会编程也能用!轻松快上手!

Modbus转Profinet是一种用于工业自动化领域的通信协议转换器&#xff0c;可以将Modbus协议转换为Profinet协议&#xff0c;实现设备之间的数据交换与通信。这个工具的使用非常简单&#xff0c;即使没有编程经验的人也可以轻松上手。即使不会编程的人也可以轻松快速上手使用Modb…...

鸿蒙原生应用/元服务开发-Stage模型能力接口(十)下

ohos.app.form.FormExtensionAbility (FormExtensionAbility) 系统能力&#xff1a;SystemCapability.Ability.Form 示例 import FormExtensionAbility from ohos.app.form.FormExtensionAbility; import formBindingData from ohos.app.form.formBindingData; import formP…...

QT QPluginloader 加载失败,出现Unknown error 0x000000c1的问题

最近在学习Qt的插件开发&#xff0c;在加载插件时&#xff0c;一直失败&#xff0c;用如下代码加载并打印错误信息。 QDir dir("./testplugin.dll"); QPluginLoader pluginLoader(dir.absolutePath());//需要绝对路径 pluginLoader.load(); qDebug()<< "…...

众和策略:今年首次!A股罕见一幕

岁末&#xff0c;A股走出了不常见的行情。 这儿指的不单单是指数上涨。今天上午&#xff0c;A股逾3900只个股上涨&#xff0c;昨日逾4400只个股上涨&#xff0c;前天逾3700只个股上涨。据通达信数据显现&#xff0c;这种连续的普涨行情在本年还是头一次。 本年10月底&#xf…...

EasyExcel实现动态表头(注解实现)

要实现上述动态头&#xff0c;按每日统计&#xff0c;每月统计&#xff0c;每年统计。而时间是一直变化&#xff0c;所以我们需要表头也一直动态生成。 首先&#xff0c;我们需要定义所需要实体类 public class CountDayData {ExcelProperty(value "业务员姓名")p…...

什么是工厂方法模式,工厂方法模式解决了什么问题?

工厂方法模式是一种创建型设计模式&#xff0c;它定义了一个用于创建对象的接口&#xff0c;但将实际的实例化过程延迟到子类中。这样&#xff0c;客户端代码在不同的子类中实例化具体对象&#xff0c;而不是直接实例化具体类。工厂方法模式允许一个类的实例化延迟到其子类&…...

Flink 输出至 Elasticsearch

【1】引入pom.xml依赖 <dependency><groupId>org.apache.flink</groupId><artifactId>flink-connector-elasticsearch6_2.12</artifactId><version>1.10.0</version> </dependency>【2】ES6 Scala代码&#xff0c;自动导入的…...

web三层架构

目录 1.什么是三层架构 2.运用三层架构的目的 2.1规范代码 2.2解耦 2.3代码的复用和劳动成本的减少 3.各个层次的任务 3.1web层&#xff08;表现层) 3.2service 层(业务逻辑层) 3.3dao 持久层(数据访问层) 4.结合mybatis简单实例演示 1.什么是三层架构 三层架构就是把…...

智能优化算法应用:基于厨师算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于厨师算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于厨师算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.厨师算法4.实验参数设定5.算法结果6.参考文献7.MA…...

写在2023年末,软件测试面试题总结

大家好&#xff0c;最近有不少小伙伴在后台留言&#xff0c;得准备年后面试了&#xff0c;又不知道从何下手&#xff01;为了帮大家节约时间&#xff0c;特意准备了一份面试相关的资料&#xff0c;内容非常的全面&#xff0c;真的可以好好补一补&#xff0c;希望大家在都能拿到…...

51系列--数码管显示的4X4矩阵键盘设计

本文介绍基于51单片机的4X4矩阵键盘数码管显示设计&#xff08;完整Proteus仿真源文件及C代码见文末链接&#xff09; 一、系统及功能介绍 本设计主控芯片选用51单片机&#xff0c;主要实现矩阵键盘对应按键键值在数码管上显示出来&#xff0c;矩阵键盘是4X4共计16位按键&…...

医院绩效考核系统源码,java源码,商业级医院绩效核算系统源码

医院绩效定义&#xff1a; “医院工作量绩效方案”是一套以工作量&#xff08;RBRVS&#xff0c;相对价值比率&#xff09;为核算基础&#xff0c;以工作岗位、技术含量、风险程度、服务数量等业绩为主要依据&#xff0c;以工作效率和效益、工作质量、患者满意度等指标为综合考…...

JavaScript基础练习题(五)

生成一个范围内的随机整数&#xff1a;编写一个函数&#xff0c;接收两个参数&#xff0c;表示范围的最小值和最大值&#xff0c;然后生成一个在这个范围内的随机整数。 生成指定长度的随机字符串&#xff1a;编写一个函数&#xff0c;接收一个参数表示字符串的长度&#xff0…...

flutter项目从创建到运行,以及一些常用的命令

# 创建项目 命令行 flutter create flutter_app &#xff08;这种vsCode软件可用&#xff09; 按下ctrlshiftp&#xff0c; 输入 Flutter: New Project 选择 Application 选择项目存放位置 输入项目名字 点击 enter 完成创建 # 运行项目 1、命令行中运行&#xff1a; cd flutte…...

【Amazon 实验②】Amazon WAF功能增强之使用Cloudfront、Lambda@Edge阻挡攻击

文章目录 一、方案介绍二、架构图三、部署方案1. 进入Cloud9 编辑器&#xff0c;新打开一个teminal2. 克隆代码3. 解绑上一个实验中Cloudfront 分配绑定的防火墙4. 使用CDK部署方案5. CDK部署完成6. 关联LambdaEdge函数 四、方案效果 一、方案介绍 采用 LambdaEdge DynamoDB 架…...

There are 4 missing blocks. The following files may be corrupted

There are 4 missing blocks. The following files may be corrupted Please check the logs or run fsck in order to identify the missing blocks. See the Hadoop FAQ for common causes and potential solutions. 步骤1&#xff0c;检查文件缺失情况 hadoop fsck /tmp/l…...

一起玩儿物联网人工智能小车(ESP32)——13. 用ESP32的GPIO控制智能小车运动起来(一)

摘要&#xff1a;本文更深入的讲述了GPIO的相关知识&#xff0c;并完成了导线连接工作&#xff0c;为下一步的软件开发做好了准备。 通用输入输出端口&#xff08;GPIO&#xff1a;General Purpose Input/Output Port&#xff09;&#xff0c;在前面已经有了初步的介绍&#xf…...

D9741 PWM控制器电路,定时闩锁、短路保护电路,输出基准电压(2.5V) 采用SOP16封装

D9741是一块脉宽调制方三用于也收路像机和笔记本电的等设备上的直流转换器。在便携式的仪器设备上。 主要特点&#xff1a;● 高精度基准电路 ● 定时闩锁、短路保护电路 ● 低电压输入时误操作保护电路 ● 输出基准电…...

【UE5.1】程序化生成Nanite植被

目录 效果 步骤 一、下载Gaea软件和树林资产 二、使用Gaea生成贴图 三、 生成地形 四、生成草地 五、生成树林 六、生成湖泊 七、其它功能介绍 7.1 调整树林生成的面积 7.2 让植物随风飘动 7.3 玩家和植物互动 7.4 雪中树林 7.5 环境音效 效果 步骤 一、下载Ga…...

在网站建设中什么用于搭建页面结构/免费网络空间搜索引擎

企业如何申请国家专利&#xff1f;具体流程是什么&#xff0c;专利申请所需材料是什么&#xff1f;这个问题大家知道答案吗&#xff1f;目前&#xff0c;需要申请国家专利的申请人按类别不同可分为单位和个人两大类。其中企业、高校和科研机构是单位的重要组成部分。企业作为发…...

专做畜牧招聘网站的/热狗seo优化外包

http://bbs.hsw.cn/thread-794950-1-1.html转载于:https://www.cnblogs.com/chinhr/archive/2009/04/30/1446662.html...

wordpress前端编辑器/网站制作推广

运行-〉regedit 打开下面两个位置&#xff0c;根据名称找出要删除的程序右键菜单。 1.[HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers]...所有文件的右键&#xff1b;2.[HKEY_CLASSES_ROOT\Directory\shellex\ContextMenuHandlers]...文件夹的右键&#xff1b; 要是不放心可…...

做网站去除视频广告/网络推广公司主要做什么

格式1&#xff1a; 数据类型[][] 变量名new 数据类型[m][n]; m表示这个二维数组有多少个一维数组 n表示每个一维数组有多少个元素 int[][] anew int[3][4];System.out.println(a);//地址值 [[I4926097bSystem.out.println(a[0]);//地址值 [I762efe5dSystem.out.println(a[1])…...

网站建设费怎么写分录/网络运营是什么意思

目录 网络安全之防火墙 server nat 基本配置实验 实验图 1.进入视图模式 2.配置端口IP地址即区域 防火墙 ​编辑 untrust区域 DMZ区域 trust区域 配置trust-untrust区域的ftp 在untrust区域中的server1开启ftp服务 配置trust-untrust区域的ftp的安全策略 登陆ftp 查找se…...

买了一个域名怎么做网站/佛山做seo推广公司

简介 相信很多人都接触spring框架很长时间了&#xff0c;每次搭建spring框架的时候都需要配置好多的jar、xml&#xff0c;做很多繁琐重复的配置&#xff0c;稍微不留神就会出现各种各样的问题&#xff0c;每次调试真的是香菇、蓝瘦啊。 spring boot的出现帮助我们彻底解决了这…...