第四十四个知识点:在ECC密码学方案中,描述一些基本的防御方法
第四十四个知识点:在ECC密码学方案中,描述一些基本的防御方法
原文地址:http://bristolcrypto.blogspot.com/2015/08/52-things-number-44-describe-some-basic.html
在上篇文章中我们提到了在ECC中对抗侧信道攻击的一些基本防御。这篇文章似乎是为了完整性,同时对AES问询的同样的问题。
在我们讨论这个问题之前,我想要澄清我们要讨论什么样的策略。从这点看出,我们将会仅仅讨论实现层面的对策,而不是考虑硬件的对策例如双轨道安全或者位置安全。然而标题说可能无效,但是我还是尽可能说写可能有效的方法。
椭圆曲线密码作为一种规则,在抵抗边信道攻击方面是相当好的,但仍有一些值得考虑的地方。
标量乘法
和其它密码学中的算法一样,标量乘法也是最容易泄露的算法,就像RSA中的。这在椭圆曲线密码学中没有什么不同,因为加法运算符和倍乘运算符的行为不同。各种可以应用在RSA算法中的技术也能在这里使用,例如指数盲猜方法对于每一个标量乘法你选择一个值\(r\)使得\([a]P = [a+r]P\),其中\(a\)是一个保持秘密的值,\(P\)是椭圆曲线的生成器。由于标量乘法只泄漏关于标量的信息,因此只有当您想要保持标量机密时才需要应用这种技术。近年来,人们对椭圆曲线的创建进行了大量的研究,发现椭圆曲线具有相同的二重运算和加法运算,从而解决了这一问题。
点在曲线上吗
有时候,\(x\)的值被选择学习,曲线使用雅各比符号,在多项式\(x^3+a \cdot x + b\)的结果是平方数。如果\((x,y)\)是椭圆曲线上的点。从链接的算法中可以看出,计算雅可比矩阵符号的过程是变长的,因此可能会泄漏关于秘密值的信息\(x^3 + a \cdot x + b\)。防御方法是使用\(r^2(x^3+a \cdot x + b\)使用这种技术,我们可以检查x是否是曲线上的一个有效点,但由于它被随机的r盲化了,所以它不会泄漏任何关于基础点的信息。
理论安全
对于已知的边信道攻击,椭圆曲线在没有太多帮助的情况下是合理安全的,但可以通过秘密共享某些方案来提高安全性。假设每个共享泄漏都是独立的,那么就有可能创建可证明对任意泄漏函数(包括那些只能在理论上发生而不能在实践中发生的函数)具有安全性的方案。这一领域的密码学已成为众所周知的泄漏弹性密码学。http://users-cs.au.dk/stm/local-cache/KilPie10.pdf
第四十四个知识点:在ECC密码学方案中,描述一些基本的防御方法的更多相关文章
- 第四十二个知识点:看看你的C代码为蒙哥马利乘法,你能确定它可能在哪里泄漏侧信道路吗?
第四十二个知识点:看看你的C代码为蒙哥马利乘法,你能确定它可能在哪里泄漏侧信道路吗? 几个月前(回到3月份),您可能还记得我在这个系列的52件东西中发布了第23件(可以在这里找到).这篇文章的标题是& ...
- 第四十九个知识点:描述在IPsec和TLS后的基本想法
第四十九个知识点:描述在IPsec和TLS后的基本想法 网络安全协议(Internet Protocol Security,IPsec)和安全传输层协议(Transport Layer Securit ...
- 第四十八个知识点:TPM的目的和使用方法
第四十八个知识点:TPM的目的和使用方法 在检查TPM目的之前,值得去尝试理解TPM设计出来的目的是为了克服什么样的问题.真正的问题是信任.信任什么?首先内存和软件运行在电脑上.这些东西能直接的通过操 ...
- 第四十六个知识点 在Sigma协议中,正确性,公正性和零知识性意味着什么
第四十六个知识点 在Sigma协议中,正确性,公正性和零知识性意味着什么 Sigma协议 Sigma协议是Alice想要向Bob证明一些东西的协议(Alice知道一些秘密).他们有下面的一般范式:Al ...
- 第四十五个知识点:描述一些对抗RSA侧信道攻击的基础防御方法
第四十五个知识点:描述一些对抗RSA侧信道攻击的基础防御方法 原文地址:http://bristolcrypto.blogspot.com/2015/08/52-things-number-45-de ...
- NeHe OpenGL教程 第四十四课:3D光晕
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- 网站开发进阶(四十四)input type="submit" 和"button"的区别
网站开发进阶(四十四)input type="submit" 和"button"的区别 在一个页面上画一个按钮,有四种办法: 这就是一个按钮.如果你不写ja ...
- Gradle 1.12用户指南翻译——第四十四章. 分发插件
本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...
- SQL注入之Sqli-labs系列第四十一关(基于堆叠注入的盲注)和四十二关四十三关四十四关四十五关
0x1普通测试方式 (1)输入and1=1和and1=2测试,返回错误,证明存在注入 (2)union select联合查询 (3)查询表名 (4)其他 payload: ,( ,( 0x2 堆叠注入 ...
随机推荐
- day10 负载均衡
day10 负载均衡 负载均衡反向代理 正向代理:即是客户端代理, 代理客户端, 服务端不知道实际发起请求的客户端. # (内部上网) 客户端 <-> 代理 -> 服务端 反向代理即 ...
- Flume对接Kafka
目录 一.简单实现 1)flume的配置文件 二.自定义interceptor(使用kafka sink) 1)自定义 flume 拦截器 2)编写 flume 的配置文件 3)创建topic 4)启 ...
- tomcat 8 内存优化
在Linux环境下设置Tomcat JVM,在/opt/tomcat/bin/catalina.sh文件中找到"# ----- Execute The Requested Command&q ...
- Vue API 3模板语法 ,指令
条件# v-if# v-if 指令用于条件性地渲染一块内容.这块内容只会在指令的表达式返回 truthy 值的时候被渲染. v-show# v-show 指令也是用于根据条件展示一块内容.v-show ...
- jmeter设置参数化
设置参数化方法有3种 第一种: 1.打开 jmeter,导入badboy录制的脚本 导入后记得选择"step"右键选择change controller ->逻辑控制器-&g ...
- 解决 nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"
使用/usr/local/nginx/sbin/nginx -s reload 重新读取配置文件出错 [root@localhost nginx]/usr/local/nginx/sbin/nginx ...
- typora使用快捷键
1. Ctrl+/ 切换源码模式2. ```css 选择语言 回车.4. `code` ctrl+shit+` 5. # 1号标题 ctrl+1 ### 3号标题 ctrl+3 ######6号标题 ...
- Windows下mysql5.6升级到5.7的方法(亲测有效哦!)
Mysql的升级方式分为两种:原地升级和逻辑升级.这两种升级方式,本质没有什么区别的. 只是在对数据文件的处理上有些区别而已.原地升级是直接将数据文件进行拷贝,而逻辑升级对数据文件的处理方式是通过逻辑 ...
- Redis哨兵日常维护
目录 一.日常操作 指定一个从做新主 添加一个从节点 添加一个Setinel节点 一.日常操作 指定一个从做新主 有时候需要将当前主节点机器下线,并指定一个高一些性能的从节点接替 将其它从节点的sla ...
- Mysql资料 xtrabackup
目录 一.简介 原理 优缺点 二.安装 三.日常使用 备份所有库 增量备份 远程备份 四.参数 一.简介 原理 其实XtraBackup也是基于INNODB的 crash-recovery功能来实现的 ...