简谈 Rust 与国密 TLS - 王江桐保证信息私密性和保密性 真实性(Authentication) 确保信息来自正确身份的对象 完整性(Integrity) 信息没有被篡改 接入控制(Access control) 避免资源滥用 可获性(Availability) 资源可以被使用 密码算法分类与应用 Categories and Applications of Cryptography Rust China Conf 2022 – 2023 2022 – 2023, Shanghai, China • SM1 是分组加密算法,实现对称加密,分组长度和密钥长度都为 128 位,对长消息进行加解密时, 若消息长度过长,需要进行分组,如果消息长度不足,则要进行填充。 • 保证数据机密性。 • 算法安全保密强度及相关软硬件实现性能与 AES 相当,该算法不公开,仅以 IP 核的形式存在于芯片 中,调用该算法时,需要通过加密芯片的接口进行调用。 为无线局域网标准,是分组加密算法,实现对称加密,用于替代 DES/AES 等国际算法, SM4 算法与 AES 算法具有相同的密钥长度和分组长度,均为 128 位。对长消息进行加解密 时,若消息长度过长,需要进行分组,要消息长度不足,则要进行填充。 • 加密算法与密钥扩展算法都采用 32 轮非线性迭代结构,解密算法与加密算法的结构相同,只 是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。 SM7 Introduction0 码力 | 44 页 | 3.70 MB | 1 年前3
Hello 算法 1.1.0 Rust版强的人能够顺利将地雷逐个排掉,而基础不足的人很可能被炸得满头是包,并在挫折中步步退缩。通读教材 也是一种常见做法,但对于面向求职的人来说,毕业论文、投递简历、准备笔试和面试已经消耗了大部分精 力,啃厚重的书往往变成了一项艰巨的挑战。 如果你也面临类似的困扰,那么很幸运这本书“找”到了你。本书是我对这个问题给出的答案,即使不是最 优解,也至少是一次积极的尝试。本书虽然不足以让你直接拿到 Offer,但会引导你探索数据结构与算法的 器上进行测试,统计平均效率,而这是不现实的。 另一方面,展开完整测试非常耗费资源。随着输入数据量的变化,算法会表现出不同的效率。例如,在输入 数据量较小时,算法 A 的运行时间比算法 B 短;而在输入数据量较大时,测试结果可能恰恰相反。因此,为 了得到有说服力的结论,我们需要测试各种规模的输入数据,而这需要耗费大量的计算资源。 2.1.2 理论估算 由于实际测试具有较大的局限性,因此我们可以考 为渐近复杂度分析(asymptotic complexity analysis),简称复杂度分析。 复杂度分析能够体现算法运行所需的时间和空间资源与输入数据大小之间的关系。它描述了随着输入数据大 小的增加,算法执行所需时间和空间的增长趋势。这个定义有些拗口,我们可以将其分为三个重点来理解。 ‧“时间和空间资源”分别对应时间复杂度(time complexity)和空间复杂度(space complexity)。 ‧“随0 码力 | 388 页 | 18.50 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Rust 版强的人能够顺利将地雷逐个排掉,而基础不足的人很可能被炸得满头是包,并在挫折中步步退缩。通读教材 也是一种常见做法,但对于面向求职的人来说,毕业论文、投递简历、准备笔试和面试已经消耗了大部分精 力,啃厚重的书往往变成了一项艰巨的挑战。 如果你也面临类似的困扰,那么很幸运这本书“找”到了你。本书是我对这个问题给出的答案,即使不是最 优解,也至少是一次积极的尝试。本书虽然不足以让你直接拿到 Offer,但会引导你探索数据结构与算法的 试,统计 平均效率,而这是不现实的。 另一方面,展开完整测试非常耗费资源。随着输入数据量的变化,算法会表现出不同的效率。例如,在输入 数据量较小时,算法 A 的运行时间比算法 B 短;而在输入数据量较大时,测试结果可能恰恰相反。因此,为 了得到有说服力的结论,我们需要测试各种规模的输入数据,而这需要耗费大量的计算资源。 2.1.2 理论估算 由于实际测试具有较大的局限性,因此我们可以考 为渐近复杂度分析(asymptotic complexity analysis),简称复杂度分析。 复杂度分析能够体现算法运行所需的时间和空间资源与输入数据大小之间的关系。它描述了随着输入数据大 小的增加,算法执行所需时间和空间的增长趋势。这个定义有些拗口,我们可以将其分为三个重点来理解。 ‧“时间和空间资源”分别对应时间复杂度(time complexity)和空间复杂度(space complexity)。 ‧“随0 码力 | 387 页 | 18.51 MB | 10 月前3
Hello 算法 1.0.0 Rust版强的人能够顺利将地雷逐个排掉,而基础不足的人很可能被炸得满头是包,并在挫折中步步退缩。通读教材 也是一种常见做法,但对于面向求职的人来说,毕业论文、投递简历、准备笔试和面试已经消耗了大部分精 力,啃厚重的书往往变成了一项艰巨的挑战。 如果你也面临类似的困扰,那么很幸运这本书“找”到了你。本书是我对这个问题给出的答案,即使不是最 优解,也至少是一次积极的尝试。本书虽然不足以让你直接拿到 Offer,但会引导你探索数据结构与算法的 器上进行测试,统计平均效率,而这是不现实的。 另一方面,展开完整测试非常耗费资源。随着输入数据量的变化,算法会表现出不同的效率。例如,在输入 数据量较小时,算法 A 的运行时间比算法 B 短;而在输入数据量较大时,测试结果可能恰恰相反。因此,为 了得到有说服力的结论,我们需要测试各种规模的输入数据,而这需要耗费大量的计算资源。 2.1.2 理论估算 由于实际测试具有较大的局限性,因此我们可以考 asymptotic complexity analysis」,简称「复杂度分析」。 复杂度分析能够体现算法运行所需的时间和空间资源与输入数据大小之间的关系。它描述了随着输入数据大 小的增加,算法执行所需时间和空间的增长趋势。这个定义有些拗口,我们可以将其分为三个重点来理解。 ‧“时间和空间资源”分别对应「时间复杂度 time complexity」和「空间复杂度 space complexity」。 ‧0 码力 | 383 页 | 17.61 MB | 1 年前3
新一代分布式高性能图数据库的构建 - 沈游人度高,研制难度大,创新性强,项目成果整体达到国际先进水平, 其中异质图建模与表示学习技术和超大规模图学习系统处于国际领 先水平。” 以终为始,以行为知,这一项目从图计算所面临的挑战出发,解决了大规模图数据所产生 的建模能力不足、结构知识难用、巨量数据难算等技术挑战,实现了大规模复杂异质图数 据的表示学习模型、语义推荐和风险管理关键技术,构建了完整的兼具理论指导与应用检 验的大规模图数据智能分析系统与平台,满足了大数据时代从复杂异质图数据中进行知识 新一代分布式图数据库需具备的特性 特性 信 雅 达 • 高可用 • 一致性(事 务) • 高性能 • 低资源消耗 • 易用 • 功能丰富 AtlasGraph 关键特性 云原生 Cloud-Native Graph Database 支持弹性伸缩,有 效利用硬件资源,高可用,高 可靠,故障自愈,低成本运维 HTAP Hybrid Transactional/Analytical0 码力 | 38 页 | 24.68 MB | 1 年前3
Rust 语言学习笔记绑定 首先必须强调下,准确地说 Rust 中并没有变量这一概念,而应该称为标识符, 目标资源(内存,存放 value)绑定到这个标识符。 { let x: i32; // 标识符 x, 没有绑定任何资源 let y: i32 = 100; // 标识符 y,绑定资源 100 } Rust 并不会像其他语言一样可以为变量默认初始化值,Rust 明确规定变量的初 中,和“绑定”概念相辅相成的另一个机制就是“转移 move 所有 权”,意思是,可以把资源的所有权(ownership)从一个绑定转移(move)成另 一个绑定,这个操作同样通过 let 关键字完成,和绑定不同的是,=两边的左值 和右值均为两个标识符: 语法: let 标识符 A = 标识符 B; // 把“B”绑定资源的所有权转移给“A” move 前后的内存示意如下: Before move: move 后,如果变量 A 和变量 B 离开作用域,所对应的内存会不会造成“Double Free”的问题?答案是否定的,Rust 规定,只有资源的所有者销毁后才释放内 存,而无论这个资源是否被多次 move,同一时刻只有一个 owner,所以该资源 的内存也只会被 free 一次。 3.1.4 Copy 特性 举例如下: let a: i32 = 100; let0 码力 | 117 页 | 2.24 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0为我们调用一个特殊的函数。这个函数叫做 drop,在这里 String 的作 者可以放置释放内存的代码。Rust 在结尾的 } 处自动调用 drop。 注意:在 C++ 中,这种 item 在生命周期结束时释放资源的模式有时被称作 资源获取 即初始化(Resource Acquisition Is Initialization (RAII))。如果你使用过 RAII 模式的 话应该对 Rust 的 drop 函数并不陌生。 {s1}, s2 = {s2}"); 这段代码能正常运行,并且明确产生图 4-3 中行为,这里堆上的数据确实被复制了。 当出现 clone 调用时,你知道一些特定的代码被执行而且这些代码可能相当消耗资源。你很容 易察觉到一些不寻常的事情正在发生。 只在栈上的数据:拷贝 这里还有一个没有提到的细节。这些代码使用了整型并且是有效的,它们是示例 4-2 中的一部 分: let x = 5; “可派生的 trait”。 那么哪些类型实现了 Copy trait 呢?你可以查看给定类型的文档来确认,不过作为一个通用的 规则,任何一组简单标量值的组合都可以实现 Copy,任何不需要分配内存或某种形式资源的 类型都可以实现 Copy 。如下是一些 Copy 的类型: • 所有整数类型,比如 u32。 • 布尔类型,bool,它的值是 true 和 false。 • 所有浮点数类型,比如 f64。0 码力 | 562 页 | 3.23 MB | 29 天前3
硬件创业公司的Rust应用和转型 - 陈昱衡采集+计算+自适应滤波 全自动脑立体定位仪(在研) 电机控制移动 传感器精度增到100nm 远程控制 自动运行 关注逻辑本身不用过分关心内存安全 嵌入式项目评估 Rust物联网不足 解决方案:屏幕上云 冷热板刺激仪 老项目评估 新项目评估 简单工期长,探索型项目优先选择Rust 糖水偏好仪 尾部打标机 已经立项 UI端Rust应用 UI 端 Rust 桌面端0 码力 | 23 页 | 4.95 MB | 1 年前3
Real world Rust
- Why and how we use Rust in TiKV极高的性能要求,尽可能低延迟,而且延迟需要稳定 ● 设计分布式系统的逻辑,极其复杂 ○ Raft ○ Multi-Raft ○ 分布式测试框架 ● 和 C 的模块大量交互 ● 开发人员和时间不足 ○ 5 人的团队,希望半年左右发布第一个可用版本 TiKV 的语言选型参考 ● Go ● C++11 ● Rust TiKV 整体架构 KV API Coprocessor Txn0 码力 | 29 页 | 506.53 KB | 1 年前3
Rust在物理引擎研发中的应用 崔汉青完全一致 性能超越目前开源的 Rust基础数学库 glam nalgebra ultraviolet Generic, procedure macro, or… Generic 表达力不足 不容易做精细性能优化 Procedure Macro 过于复杂 结果不可见 那么,用代码生成代码?Web 开发用的模板引擎, 也可以用于生成 Rust 代码 tera 模板生成分指令集优化的0 码力 | 22 页 | 1.18 MB | 1 年前3
共 27 条
- 1
- 2
- 3













