写点什么

铁线蕨算法(Adiantum)为低端智能手机提供磁盘加密服务

  • 2019-02-14
  • 本文字数:812 字

    阅读完需:约 3 分钟

铁线蕨算法(Adiantum)为低端智能手机提供磁盘加密服务

铁线蕨算法(Adiantum)是一种针对低端智能手机、智能手表和其他Android Pie设备的新加密算法,这些设备速度太慢,无法使用先进的加密标准(AES)进行存储加密。


根据谷歌的说法,在不影响用户体验的情况下,在旧的基于 ARMv7 的设备上使用 AES 不能提供加密存储所需的性能。由于这个原因,这些设备被完全排除在实现存储加密之外,而存储加密是所有 Android 设备的要求。Adiantum 的目标是通过提供一个密码来改变这种情况,这个密码是只使用所有 CPU 原生支持的操作(如加法、旋转和异或)。


Adiantum 是一种新的加密形式,我们专门为手机和智能设备开发,这些设备没有办法有效加密本地存储的数据,因为没有专门的硬件。[…]从智能手表到联网医疗设备的一切设备,Adiantum 允许这些设备对敏感数据进行加密,这将有助于保护我们的互联世界。


值得强调的是,为了克服 AES 的限制,谷歌一直在低端设备上使用ChaCha20流密码,这个密码是用在 HTTPS 上的。现在,ChaCha 比 AES 快得多,但不能直接用于磁盘加密。这是由于数据存储的特性,特别是保存数据长度的要求,因为我们希望在磁盘扇区中对每个磁盘扇区进行精确加密。因此,谷歌将 Adiantum 设计为支持长度保持模式的 ChaCha 密码的演化。特别是,Adiantum 依赖于 ChaCha 的 12 轮变体,轮轮加密,而不是更常用的 20 轮变体。有趣的是,ChaCha 的 7 轮变体 ChaCha7 在 2008 年被破解,但是到今天为止还没有对 ChaCha8 的攻击。正如谷歌所言,ChaCha12 和 AES-256 相比,轮数与被破坏的轮数之比更好,再加上形式证明AES-256具有良好的安全性,使得 Adiantum 的开发者对 ChaCha12 的安全性有了很高的信心。


说到性能,在不提供 AES 硬件支持的 CPU 上,Adiantum 比 AES-256-XTS 快 5 倍左右。但是,在支持 AES 的新 CPU 上运行时,AES 比 Adiantum 要快。所以,谷歌的经验法则是在 AES 性能<= 50MiB /sec 的设备上使用 Adiantum。


查看英文原文:Adiantum Brings Disk Encryption to Lew-end Smartphones


2019-02-14 08:003739
用户头像

发布了 124 篇内容, 共 46.3 次阅读, 收获喜欢 177 次。

关注

评论

发布
暂无评论
发现更多内容

为什么我不建议你用阿里巴巴Java规范,而使用 Google Guava 编程?

Java 程序员 后端

今年面试大厂屡屡失败,一波三折最终入职拼多多java岗,我经历啥

Java 程序员 后端

从 Java 到 Scala,再到 Kotlin,java面试知识点太多

Java 程序员 后端

为什么不想做Java了,6年经验去面试10分钟结束,现在Java面试怎么这么难

Java 程序员 后端

001|看!Swift 与 C++ 的交互性

棒棒彬👻

swift 编程语言 CocoaPods 编译优化

五位阿里大牛联手撰写的《深入浅出Java多线程》

Java 程序员 后端

京东4面(Java研发):事务隔离,java程序设计案例教程机械工业出版社

Java 程序员 后端

京东热-key-探测框架新版发布,单机-QPS-可达-35-万

Java 后端

今日头条一面:十道经典面试题解析(1),阿里巴巴java面试几轮

Java 程序员 后端

从0到1,阿里巴巴定制版的JVM高手实战清单!深度广度环环相扣

Java 程序员 后端

从国企到互联网,程序员六年四段经历,一份被很多 HR 刷掉的简历

Java 程序员 后端

五、redis配置信息以及常用命令,java语言程序设计基础篇第十一版pdf

Java 程序员 后端

000|发刊词:与技术世界保持链接

棒棒彬👻

技术 知识分享

从JVM锁到Redis分布式锁,对小白十分友好,java最新技术栈百度网盘

Java 程序员 后端

主动学习微服务架构深度解析:微服务的采用前提,微服务使用场景

Java 程序员 后端

什么?我往Redis写的数据怎么没了?,java自学教程百度文库

Java 程序员 后端

Vue进阶(幺伍玖):动态样式设置

No Silver Bullet

Vue 样式设置 11月日更

架构实战营模块二作业

孙志强

架构实战营

五分钟搞懂spring-cloud-square,linux服务器开发需要的技术

Java 程序员 后端

什么会导致Java应用程序的CPU使用率飙升?,spring快速入门教程

Java 程序员 后端

什么是接口的幂等性,如何实现接口幂等性?,mongodb实战第二版下载

Java 程序员 后端

什么是服务网格?,P8级别的顶级“并发编程”宝典

Java 程序员 后端

今日头条一面:十道经典面试题解析,我的腾讯Java面试经历分享

Java 程序员 后端

二、docker 镜像容器常用操作(让我们用docker 溜得飞起)

Java 程序员 后端

从一道 LRU 算法题说到缓存淘汰策略,Java常用面试集合

Java 程序员 后端

五分钟!搞懂 MySQL主从复制原理,还不会算我输

Java 程序员 后端

【Flutter 专题】22 图解 PopupMenu 那些事儿

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 11月日更

产品经理必懂的技术那点事儿(中),mybatis基本工作原理

Java 程序员 后端

从外卖员到程序员,自学3年终于转行成功,三面

Java 程序员 后端

从月薪 1000 到 2W+,文科生如何逆袭成为大厂程序员

Java 程序员 后端

云服务器下centos7,nginx面试题

Java 程序员 后端

铁线蕨算法(Adiantum)为低端智能手机提供磁盘加密服务_语言 & 开发_Sergio De Simone_InfoQ精选文章