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

[终端安全]-2 移动终端之硬件安全(SE)

本文主要介绍针对安全芯片的攻击和防护方案。

1 芯片攻击

1)故障注入攻击

故障注入攻击(Fault Injection Attack, FIA)是一种通过人为引入故障,诱发系统或芯片在异常情况下产生错误结果,从而泄露机密信息或破坏系统安全的攻击方法。

1.1)电压毛刺攻击 (Voltage Glitching):快速改变电源电压,导致芯片在电压异常时出现错误行为。

1.2)时钟毛刺攻击 (Clock Glitching):通过改变时钟信号频率,诱发芯片在异常时钟频率下出错。

1.3)激光注入攻击:使用激光照射芯片的特定区域,扰乱其正常工作。

1.4)电磁注入攻击:通过电磁辐射干扰芯片的正常运行,诱发错误。

防护措施

- 电压和时钟监测:使用电压和时钟检测传感器,监测并响应异常电压和时钟变化。

- 冗余计算:引入冗余计算,比较计算结果,发现并纠正故障。

- 错误检测和纠正:使用错误检测和纠正码,检测并修复数据错误。

- 随机延迟:在计算过程中引入随机延迟,增加故障注入的难度。

2)侧信道攻击

侧信道攻击(Side-Channel Attack, SCA)是一种通过分析硬件设备的非功能输出(如电磁辐射、电源消耗、时序信息等)来推断机密信息的攻击方法。

1.1)功耗分析攻击:通过测量设备在执行加密操作时的功耗变化,推断加密密钥。

   - 简单功耗分析 (SPA):直接分析功耗波形,寻找密钥信息。

   - 差分功耗分析 (DPA):通过统计分析多个功耗波形,提取相关信息。

2.2)电磁分析攻击:通过测量设备在执行操作时的电磁辐射,推断内部操作和数据。

2.3)时序分析攻击:通过测量设备在不同输入下执行操作的时间,推断密钥或其他敏感信息。

防护措施

- 功耗均衡:在执行加密操作时,尽量使功耗曲线平滑均匀,避免泄露信息。

- 随机化:在执行加密操作时引入随机因素,如随机延迟、随机掩码等,增加分析难度。

- 电磁屏蔽:使用屏蔽材料减少电磁辐射,防止电磁分析。

- 时序平衡:确保加密操作在不同输入下执行时间相同,防止时序分析。

2 芯片防护

1)密码算法防护

1.1)防故障注入攻击

- 冗余计算:对密码算法流程操作进行多次冗余计算,比较计算结果,如果不一致,则进行错误处理。例如:

def aes_encrypt_with_redundancy(key, plaintext):

    ciphertext1 = aes_encrypt(key, plaintext)

    ciphertext2 = aes_encrypt(key, plaintext)

    

    if ciphertext1 != ciphertext2:

        raise Exception("Fault injection detected")

    return ciphertext1

- 错误检测:在计算过程中插入校验码或冗余数据(如奇偶校验、校验和等),在每个计算步骤后,验证校验码,以检测和纠正由故障注入引起的错误。例如:

def add_parity_bit(data):

    parity = sum(data) % 2

    return data + [parity]

def check_parity_bit(data):

    parity = sum(data[:-1]) % 2

    return parity == data[-1]

def aes_encrypt_with_parity_check(key, plaintext):

    plaintext_with_parity = add_parity_bit(plaintext)

    if not check_parity_bit(plaintext_with_parity):

        raise Exception("Input data parity check failed")

    ciphertext = aes_encrypt(key, plaintext_with_parity[:-1])

    return ciphertext

- 随机延迟:在密码算法操作中引入随机延迟,增加故障注入的难度。

1.2)防侧信道攻击

- 功耗均衡:在硬件实现中,通过硬件电路设计均衡功耗,使功耗变化不随数据变化。

- 掩码技术:在密码算法操作中使用随机掩码,将数据与随机数结合(如异或运算),隐藏真实数据;在计算结果上撤销掩码,恢复真实数据防止侧信道攻击。例如:

import random

def apply_mask(data, mask):

    return [d ^ m for d, m in zip(data, mask)]

def aes_encrypt_with_masking(key, plaintext):

    mask = [random.randint(0, 255) for _ in range(len(plaintext))]

    masked_plaintext = apply_mask(plaintext, mask)    

    masked_ciphertext = aes_encrypt(key, masked_plaintext)    

    unmasked_ciphertext = apply_mask(masked_ciphertext, mask)

    return unmasked_ciphertext

- 随机化:在密码算法操作中引入随机延迟和操作顺序,增加分析难度。

- 伪操作:对密码算法计算流程操作插入无意义的计算操作(如随机数生成、无关的数学运算等),确保伪操作均匀分布在整个计算过程中,使攻击者难以区分真实操作和伪操作,从而增加攻击者分析计算过程的难度。例如:

def aes_encrypt_with_dummy_operations(key, plaintext):

    # 插入伪操作

    for _ in range(random.randint(1, 5)):

        dummy_value = random.randint(0, 255) ^ random.randint(0, 255)    

    ciphertext = aes_encrypt(key, plaintext)

    

    # 插入伪操作

    for _ in range(random.randint(1, 5)):

        dummy_value = random.randint(0, 255) ^ random.randint(0, 255)    

    return ciphertext

- 电磁屏蔽:在硬件设计中,使用屏蔽材料减少电磁辐射,防止电磁分析。

- 时序平衡:确保密码算法操作在不同输入下执行时间一致,防止时序分析。

2)安全处理器

2.1)寄存器校验

对CPU内部重要寄存器(如PC寄存器等)进行校验,校验出错时触发异常。

2.2)统一指令执行时间

对关键计算指令(例如乘除法指令)和不带延迟的分支指令实现统一指令执行时间,增强安全性和防护性。

- 乘除法指令:调整操作流程,确保相同数据的乘除法操作会执行两次。

- 分支指令:不论是否跳转,都使用统一的执行时间,内部实现功耗扰动,防止分析和识别跳转指令。

2.3)随机指令插入

通过外部信号控制,随机插入自跳转指令,扰乱程序执行时间。例如随机插入的自跳转指令内部实现功耗扰动,防止攻击者分析和识别自跳转指令。

2.4)指令操作随机化

在CPU正常执行指令时,随机翻转空闲的功能寄存器,或者改变指令的执行顺序或增加随机化延迟,防止攻击者通过时序分析来推测指令的执行流程。

2.5)极性翻转

在CPU内部的数据路径和地址路径上引入随机极性翻转,增强抵抗功耗分析的能力。

2.6)Cache数据安全

- CCM(Cacheable Contiguous Memory,可缓存连续内存)输出的数据增加一位,用于表示当前读出的数据是否有校验错误,可以帮助CPU在读取CCM数据时,快速检测出可能存在的数据错误,从而增强系统对数据完整性的保护。

- 支持多周期访问,CCM在响应CPU的读取或写入请求时,可以进行多个时钟周期的操作,从而提高对CCM的访问效率和灵活性,特别是在处理大量数据或需要多步操作的情况下。

- 提供对CCM操作来源信息的支持,用于增强对CCM访问权限的控制。例如区分指令取指(I-DMI)、数据加载/存储(LD/ST)、CCM调试接口(D-DMI)、以及由调试器进行的访问等不同的操作来源。

扩展:智驾SoC双核锁步

双核锁步通过在系统设计层面引入冗余执行和结果比较机制,在智驾SoC芯片上集成了两个独立的CPU核心,通常是对称多处理器(SMP)架构或者多核心对称处理器(CMP)架构,这两个核心相互独立但又可以协同工作,会并行运行同一段代码或任务保持步调完全一致,其运行的结果会进行比较,如果出现差异则会进行错误检测和纠正,可有效抵御故障注入攻击,保障系统的容错性和可靠性。

工作原理:

1)双核部署: 智驾CPU集成了两个完全相同的核心,称为核心A和核心B。

2)指令同步: 在双核锁步模式下,核心A和核心B同时接收到相同的指令流,它们分别独立执行相同的操作。

3)结果比较: 在每个时钟周期结束时,核心A和核心B的执行结果会进行比较。如果它们的结果一致,则认为当前阶段的操作是正确的;如果结果不一致,则可能意味着至少一个核心出现了错误。

4)错误处理: 当检测到核心A和核心B的结果不一致时,系统可以采取多种策略进行错误处理,例如:

- 错误检测和纠正: 可以使用硬件或软件机制进行错误检测和修复。

- 故障切换: 可以切换到备用核心或执行备用算法来确保系统继续稳定运行。

5)提高系统可靠性: 双核锁步技术通过对比两个核心的执行结果,能够有效地检测和纠正由于硬件故障或软件错误导致的异常行为,从而提高了系统的整体可靠性和容错能力。

3)存储器加密和数据校验

3.1)存储器加密是指对存储在安全芯片内存中的数据进行加密,以防止未经授权的访问和数据泄露。实现步骤如下:

密钥生成:由安全芯片生成和管理加密密钥。

数据加密:写入存储器时,使用硬件加密引擎(如AES)对数据进行加密。

数据解密:读取存储器时,使用硬件加密引擎(如AES)对数据进行解密。

密钥保护:加密密钥存储在安全区域(如 TEE)中或者固化隐藏,防止密钥泄露。

3.2)存储器数据校验是通过在数据中添加校验码来检测和纠正存储器中的错误,以确保数据的完整性和正确性。

- 数据校验技术

奇偶校验:在数据中添加一个位作为奇偶校验码,用于检测单比特错误。

校验和:将数据的所有字节相加得到校验和,用于检测多比特错误。

循环冗余校验 (CRC):使用多项式生成校验码,能够检测并纠正多比特错误。

- 实现步骤

生成校验码:在数据写入存储器时生成并附加校验码。

校验数据:在数据读取时重新计算校验码,并与存储的校验码进行比较。

错误处理:如果校验码不匹配,则检测到数据错误,进行相应的错误处理。

4)环境检测网络

物理环境监测网络用于检测和响应物理层面的攻击和异常,包括各种传感器和防护机制。

- 主动屏蔽层:通常由芯片顶层金属或多层导电和非导电材料组成包覆敏感芯片区域,形成一个检测屏蔽网格,防止物理探测和干扰。

- 电压检测传感器:监测芯片的工作电压,检测异常电压变化,防止通过改变电压来诱发故障或绕过安全检查。

- 电流检测传感器:监测芯片的工作电流,识别异常电流变化,防止通过电流变化进行攻击,如电源分析攻击。

- 时钟频率检测传感器:监测芯片的工作频率,检测频率异常变化,防止通过改变时钟频率进行攻击,如时钟故障攻击。

- 电压毛刺检测传感器:检测电压供应中的毛刺和快速变化,防止通过电压毛刺诱发芯片故障或错误行为。

- 光检测传感器:检测环境光变化,识别光注入攻击,防止攻击者通过光照来读取或干扰芯片数据。

5)安全测试模式

安全测试模式是确保芯片在开发和生产过程中能够进行充分的测试和验证,同时在实际使用中不会泄露敏感信息或暴露安全漏洞保证安全性的关键步骤。测试模式应仅能在特定条件下启用,例如通过硬件开关或经过认证的命令,且与正常操作模式隔离,防止测试期间的操作影响正常使用。实现方法如下:

5.1)测试模式激活与认证

硬件触发:通过物理硬件开关或跳线来启用测试模式,这些开关或跳线在芯片封装后无法更改。例如硬件FUSE是一种一次性可编程的硬件组件,存储安全配置和状态信息,是否允许进入测试模式;在芯片制造过程中,通过激光烧蚀或电流脉冲对FUSE进行编程,一旦FUSE被设置为禁用测试模式状态,则无法恢复,确保出厂后芯片的安全性。

软件触发:使用特殊命令或密钥组合来启用测试模式,需要经过认证过程,如使用加密的测试密钥。

5.2)测试功能隔离

模式切换控制:在芯片设计中实现明确的模式切换控制逻辑,确保测试模式与正常模式严格分离。

测试接口限制:仅在受信任的制造或测试环境中,使用特定的硬件或软件密钥组合进入测试模式;在测试过程中,仅开放必要的测试接口,并限制对关键安全模块和数据的访问,防止测试过程中泄露敏感信息。

5.3)安全性验证

加密与认证:对进入测试模式的命令和数据进行加密和认证,防止未经授权的访问。

审计与日志:记录所有测试模式下的操作和访问,便于事后审查和分析。

相关文章:

[终端安全]-2 移动终端之硬件安全(SE)

本文主要介绍针对安全芯片的攻击和防护方案。 1 芯片攻击 1)故障注入攻击 故障注入攻击(Fault Injection Attack, FIA)是一种通过人为引入故障,诱发系统或芯片在异常情况下产生错误结果,从而泄露机密信息或破坏系统…...

数据库与SQL

数据库基本概念 数据库(DataBase):数据库就是存储数据的仓库数据库管理系统(DBMS):可以独立运行的软件,维护磁盘上的数据,用统一的方式维护不同种类的数据,做到通用且高效。常见的DBMS: mysqloracledb2sqlserver 数据…...

AIGC | 在机器学习工作站安装NVIDIA CUDA® 并行计算平台和编程模型

[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ] 0x02.初识与安装 CUDA 并行计算平台和编程模型 什么是 CUDA? CUDA(Compute Unified Device Architecture)是英伟达(NVIDIA)推出的并行计算平台和编…...

【电商纯干货分享】干货速看!电商数据集数据API接口数据分析大全!

数据分析——深入探索中小企业数字化转型,专注提供各行业数据分析干货、分析技巧、工具推荐以及各类超实用分析模板,为钻研于数据分析的朋友们加油充电。 公共参数 名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中&#xff09…...

随手记录: Ubuntu NVIDIA显卡驱动安装后 屏幕亮度无法调节 无法连接外显示器等问题

背景 一句话:简单记录帮身边人装系统发现 GPU和外接显示器的无法连接,同时亮度无法调节等新问题 设备型号: 联想笔记本:ThinkBook 16p Gen2CPU:AMD Ryzen 7 5800HGPU:RTX 3060 问题描述及流程&#xff…...

Java:数组

文章目录 一、概念二、声明数组2.1 格式2.2 实例 三、初始化数组3.1 格式3.2 实例 四、处理数组4.1 for循环4.2 增强for循环 五、多维数组5.1 格式5.2 实例 一、概念 数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。…...

【代码随想录——图论——岛屿问题】

1.岛屿数量 https://kamacoder.com/problempage.php?pid1171 1.1 深度优先搜索 package mainimport "fmt"var direction [][]int{{0, 1}, {0, -1}, {1, 0}, {-1, 0}}func main() {var M, N intfmt.Scanln(&N, &M)sea : make([][]int, N)visited : make…...

异步调用 - 初识

目录 1、引入 2、同步调用 2.1、例子:支付功能 2.2、同步调用的好处 2.3、同步调用的缺点 3、异步调用 3.1、异步调用的方式 3.2、异步调用的优势 3.3、异步调用的缺点 3.4、什么场景下使用异步调用 3.5、MQ技术选型 1、引入 为什么想要异步通信呢&…...

Java 家庭物联网

家庭物联网系统的代码和说明,包括用户认证、设备控制、数据监控、通知和警报、日志记录以及WebSocket实时更新功能。 ### 项目结构 plaintext home-iot-system ├── backend │ └── src │ └── main │ └── java │ └…...

机器学习——随机森林

随机森林 1、集成学习方法 通过构造多个模型组合来解决单一的问题。它的原理是生成多个分类器/模型,各自独立的学习和做出预测。这些预测最后会结合成组合预测,因此优于任何一个单分类得到的预测。 2、什么是随机森林? 随机森林是一个包含…...

Java - JDK17语法新增特性(如果想知道Java - JDK17语法新增常见的特性的知识点,那么只看这一篇就足够了!)

前言:Java在2021年发布了最新的长期支持版本:JDK 17。这个版本引入了许多新的语法特性,提升了开发效率和代码可读性。本文将简要介绍一些常见的新特性,帮助开发者快速掌握并应用于实际开发中。 ✨✨✨这里是秋刀鱼不做梦的BLOG ✨…...

Linux-DNS

DNS域名解析服务 1.DNS介绍 DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。…...

使用gitlab的CI/CD实现logseq笔记自动发布为单页应用

使用gitlab的CI/CD实现logseq笔记自动发布为单页应用 使用gitlab的CI/CD实现logseq笔记自动发布为单页应用如何实现将logseq的笔记发布成网站使用 logseq-publish-docker 实现手动发布使用gitlab的CI/CD实现自动发布过程中的问题及解决参考资料 使用gitlab的CI/CD实现logseq笔记…...

云联壹云 FinOps:赋能某车企公有云成本管理与精细化运营

背景 某车企,世界 500 强企业,使用了大量的公有云资源,分布于多家公有云,月消费在千万级别。 业务线多且分散,相关的云消耗由一个核心团队进行管理,本次案例的内容将围绕这些云成本的管理展开的。 需求 …...

C#静态类与非静态类

1、静态类 静态类有几个重要的特点: 1)无法实例化:由于静态类不能被实例化,因此它不会占用对象内存。 2)静态成员:静态类只能包含静态成员(静态方法、静态属性、静态事件等)。 3&am…...

亚信安全:《2024云安全技术发展白皮书》

标签 云计算 安全威胁 云安全技术 网络攻击 数据保护 一句话总结 《云安全技术发展白皮书》全面分析了云计算安全威胁的演进,探讨了云安全技术的发展历程、当前应用和未来趋势,强调了构建全面云安全防护体系的重要性。 摘要 云安全威胁演进&#xff…...

GuLi商城-商品服务-API-品牌管理-云存储开通与使用

这里学习下阿里云对象存储 地址:对象存储 OSS_云存储服务_企业数据管理_存储-阿里云 登录支付宝账号,找到了我以前开通的阿里云对象存储 熟悉下API 文档中心 简介_对象存储(OSS)-阿里云帮助中心 我们将用这种方式上传阿里云OSS...

git 命令行初始化并上传项目

XXXX 为项目名称 1. 初始化 cd D:\XXXX git init git remote add origin http://账号192.168.1.231:8088/r/XXXX.git 2. 拉取项目,做本地合并 git pull origin master git fetch origin git merge origin/master 3. 添加注释,上传 git add . git c…...

Spring框架Mvc(2)

1.传递数组 代码示例 结果 2.集合参数存储并进行存储类似集合类 代码示例 postman进行测试 ,测试结果 3.用Json来对其进行数据的传递 (1)Json是一个经常使用的用来表示对象的字符串 (2)Json字符串在字符串和对象…...

Python学习笔记29:进阶篇(十八)常见标准库使用之质量控制中的数据清洗

前言 本文是根据python官方教程中标准库模块的介绍,自己查询资料并整理,编写代码示例做出的学习笔记。 根据模块知识,一次讲解单个或者多个模块的内容。 教程链接:https://docs.python.org/zh-cn/3/tutorial/index.html 质量控制…...

【LLM】一、利用ollama本地部署大模型

目录 前言 一、Ollama 简介 1、什么是Ollama 2、特点: 二、Windows部署 1.下载 2.安装 3.测试安装 4.模型部署: 5.注意 三、 Docker部署 1.docker安装 2.ollama镜像拉取 3.ollama运行容器 4.模型部署: 5.注意: 总结 前言…...

Java毕业设计 基于SSM vue新生报到系统小程序 微信小程序

Java毕业设计 基于SSM vue新生报到系统小程序 微信小程序 SSM 新生报到系统小程序 功能介绍 学生 登录 注册 忘记密码 首页 学校公告 录取信息 录取详情 师资力量 教师详情 收藏 评论 用户信息修改 宿舍安排 签到信息 在线缴费 教室分配 我的收藏管理 我要发贴 我的发贴 管理…...

玩转云服务:Oracle Cloud甲骨文永久免费云服务器注册及配置指南

上一篇,带大家分享了:如何薅一台腾讯云服务器。 不过,只有一个月免费额度,到期后需要付费使用。 相对而言,海外云厂商更加慷慨一些,比如微软Azure、甲骨文、亚马逊AWS等。 甲骨文2019年9月就推出了永久免…...

Zabbix——宏

目录 宏的类型 常用宏 定义和使用宏 宏的优先级 使用宏的示例 在 Zabbix 中,宏(Macros)是一个非常强大的功能,允许你在监控配置中使用动态变量。宏可以在各种配置项中使用,例如触发器、动作、通知、图形和模板等。…...

Unity 简单载具路线 Waypoint 导航

前言 在游戏开发和导航系统中,"waypoint" 是指路径中的一个特定位置或点。它通常用于定义一个物体或角色在场景中移动的目标位置或路径的一部分。通过一系列的 waypoints,可以指定复杂的移动路径和行为。以下是一些 waypoint 的具体用途&…...

科普文:微服务之服务网格Service Mesh

一、ServiceMesh概念 背景 随着业务的发展,传统单体应用的问题越来越严重: 单体应用代码库庞大,不易于理解和修改持续部署困难,由于单体应用各组件间依赖性强,只要其中任何一个组件发生更改,将重新部署整…...

第四十九章 解决 IRIS 中的 SOAP 问题 - 发送消息时出现问题

文章目录 第四十九章 解决 IRIS 中的 SOAP 问题 - 发送消息时出现问题 第四十九章 解决 IRIS 中的 SOAP 问题 - 发送消息时出现问题 如果在向 IRIS Web 服务或客户端发送或接收 SOAP 消息时遇到问题,请考虑以下常见场景列表: SOAP 消息可能包含极长的字…...

STM32-HAL-FATFS(文件系统)(没做完,stm32f103zet6(有大佬的可以在评论区说一下次板子为什么挂载失败了))

1STM32Cube配置 1-1配置时钟 1-2配置调试端口 1-3配置uart 1-4配置SDIO(注意参数)(其中他的初始化的异常函数给注释,SD卡文件写了) 配置了还要打开中断和DMA可在我的其他文章中看一样的 1-5配置FatFs (只改了图选中…...

线性代数基础概念:矩阵

目录 线性代数基础概念:矩阵 1. 矩阵的定义 2. 矩阵的运算 3. 矩阵的特殊类型 4. 矩阵的秩 5. 矩阵的初等变换 6. 矩阵的特征值与特征向量 7. 矩阵的应用 8. 矩阵总结 总结 线性代数基础概念:矩阵 矩阵是线性代数中的另一个重要概念&#xff0…...

【优化论】约束优化算法

约束优化算法是一类专门处理目标函数在存在约束条件下求解最优解的方法。为了更好地理解约束优化算法,我们需要了解一些核心概念和基本方法。 约束优化的核心概念 可行域(Feasible Region): 比喻:想象你在一个园艺场…...

7寸微型FPV无人机技术详解

对于7寸微型FPV(First Person View,第一人称视角)无人机技术的详解,可以从以下几个方面进行介绍: 一、定义与基本概念 FPV无人机,全称为“第一人称视角无人机”,它利用安装在无人机上的摄像头…...

大数据面试题之Presto[Trino](2)

目录 描述Presto中的Connector是什么? Presto如何实现数据源的插件化? 如何在单机上安装Presto? 描述在集群环境中部署Presto的步骤。 如何为Presto配置JVM参数? 如何优化Presto的配置以提高性能? Presto的日…...

STM32和DHT11使用显示温湿度度(代码理解)+单总线协议

基于STM32CT,利用DHT11采集温湿度数据,在OLED上显示。一定要阅读DHT11数据手册。 1、 DHT11温湿度传感器 引脚说明 1、VDD 供电3.3~5.5V DC 2、DATA 串行数据,单总线 3、NC 空脚 4、GND 接地,电源负极 硬件电路 微…...

EVM-MLIR:以MLIR编写的EVM

1. 引言 EVM_MLIR: 以MLIR编写的EVM。 开源代码实现见: https://github.com/lambdaclass/evm_mlir(Rust) 为使用MLIR和LLVM,将EVM-bytecode,转换为,machine-bytecode。LambdaClass团队在2周…...

深入Django(八)

掌握Django的管理后台 引言 在前七天的教程中,我们介绍了Django的基础架构、模型、视图、模板、URL路由、表单系统以及数据库迁移。今天,我们将深入了解Django的管理后台,这是一个功能强大的内置管理界面,用于创建、更新、查看和…...

华为开发者大会2024纪要:鸿蒙OS的全新篇章与AI大模型的革命

华为开发者大会2024纪要:鸿蒙OS的全新篇章与AI大模型的革命 在科技的浪潮中,华为再次引领潮流,2024年的开发者大会带来了一系列令人瞩目的创新成果。从鸿蒙操作系统的全新Beta版到盘古大模型的震撼发布,华为正以前所未有的速度重塑智能生态。以下是本次大会的亮点,让我们…...

吴恩达深度学习笔记:机器学习策略(2)(ML Strategy (2)) 2.7-2.8

目录 第三门课 结构化机器学习项目(Structuring Machine Learning Projects)第二周:机器学习策略(2)(ML Strategy (2))2.7 迁移学习(Transfer learning) 第三门课 结构化机器学习项目&#xff0…...

云计算渲染时代:选择Blender或KeyShot进行高效渲染

在云渲染技术日益成熟的背景下,挑选一款贴合项目需求的3D渲染软件显得尤为关键。当前,Blender与KeyShot作为业界领先的全能渲染解决方案,广受推崇。它们虽皆能创造出令人信服的逼真视觉效果,但在特色功能上各有所长。本篇文章旨在…...

html5中的iframe

HTML5中的iframe 浏览上下文是浏览器展示文档的环境,通常是一个tab标签页,一个窗体或者是浏览器页面的一部分。每个浏览上下文都有一个活动文档的源和一个记录所有展示文档的有序历史。浏览上下文的通讯被严格限制,只有两个同源的浏览器上下…...

海睿思问数(TableGPT):开创企业新一代指标应用模式

1 指标建设对企业经营管理数字化的价值分析 指标是将海量数据中关键信息提炼和挖掘出来,以数据为载体展示企业经营管理和分析中的统计量。它通过分析数据,形成一个具有度量值的汇总结果,使得业务状态可以被描述、量化和分解。指标通常由度量…...

LM-Cocktail:一种创新的模型合并方法打破预训练语言模型微调后的性能局限,实现语言模型在一般任务与特定领域的均衡高性能

LM-Cocktail:一种创新的模型合并方法打破预训练语言模型微调后的性能局限,实现语言模型在一般任务与特定领域的均衡高性能 使语言模型的微调类似于调制一杯精致的鸡尾酒。模型合并可用于提高单个模型的性能。我们发现此方法对于大型语言模型和密集嵌入模型也很有用,并设计了…...

默认导出(default)和命名导出

1.默认导出 优点: 简洁的导入语法: 导入时不需要使用花括号,可以直接重命名。单一职责: 模块导出一个主要功能或对象时,默认导出更符合逻辑。 适用场景: 模块只有一个导出: 如一个组件、一个…...

开发个人Go-ChatGPT--1 项目介绍

开发个人Go-ChatGPT--1 项目介绍 开发个人Go-ChatGPT--1 项目介绍知识点大纲文章目录项目地址 开发个人Go-ChatGPT–1 项目介绍 本文将以一个使用Ollama部署的ChatGPT为背景,主要还是介绍和学习使用 go-zero 框架,开发个人Go-ChatGPT的服务器后端&#…...

皮卡超级壁纸 | 幸运壁纸幸运壁纸app是一款涵盖了热门影视剧、动漫、风景等等资源的装饰工具,

软件下载链接:壁纸下载方式在链接中文章底部 皮卡超级壁纸 皮卡超级壁纸是一款专为手机用户设计的壁纸应用,它提供了丰富多样的高清壁纸资源,让用户的手机界面焕然一新。这款应用以其海量的壁纸库和用户友好的操作界面,在市场上…...

普通集群与镜像集群配置

目录 一. 环境准备 二. 开始配置集群 三. RabbitMQ镜像集群配置 四. 安装并配置负载均衡器HA 一. 环境准备 关闭防火墙和selinux,进行时间同步 主机名系统IP服务rabbitmq-1 Rocky_linux9.4 192.168.226.22RabbitMQ,MySQLrabbitmq-2Rocky_linux9.41…...

2024科技文化节程序设计竞赛

补题链接 https://www.luogu.com.cn/contest/178895#problems A. 签到题 忽略掉大小为1的环&#xff0c;答案是剩下环的大小和减环的数量 #include<bits/stdc.h> #include<iostream> #include<cstdio> #include<vector> #include<map> #incl…...

玩转Easysearch语法

Elasticsearch 是一个基于Apache Lucene的开源分布式搜索和分析引擎&#xff0c;广泛应用于全文搜索、结构化搜索、分析等多种场景。 Easysearch 作为Elasticsearch 的国产化替代方案&#xff0c;不仅保持了与原生Elasticsearch 的高度兼容性&#xff0c;还在功能、性能、稳定性…...

【密码学】RSA公钥加密算法

文章目录 RSA定义RSA加密与解密加密解密 生成密钥对一个例子密钥对生成加密解密 对RSA的攻击通过密文来求得明文通过暴力破解来找出D通过E和N求出D对N进行质因数分解通过推测p和q进行攻击 中间人攻击 一些思考公钥密码比对称密码的机密性更高&#xff1f;对称密码会消失&#x…...

【ARMv8/v9 GIC 系列 5.1 -- GIC GICD_CTRL Enable 1 of N Wakeup Function】

请阅读【ARM GICv3/v4 实战学习 】 文章目录 GIC Enable 1 of N Wakeup Function基本原理工作机制配置方式应用场景小结GIC Enable 1 of N Wakeup Function 在ARM GICv3(Generic Interrupt Controller第三代)规范中,引入了一个名为"Enable 1 of N Wakeup"的功能。…...

C++怎么解决不支持字符串枚举?

首先&#xff0c;有两种方法&#xff1a;使用命名空间和字符串常量与使用 enum class 和辅助函数。 表格直观展示 特性使用命名空间和字符串常量使用 enum class 和辅助函数类型安全性低 - 编译器无法检查字符串有效性&#xff0c;运行时发现错误高 - 编译期类型检查&#xf…...