第四十四个知识点:在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 堆叠注入 ...
随机推荐
- Scala和Java的List集合互相转换
import java.util import scala.collection.mutable /** * 集合互相转换 */ object ScalaToJava { def main(args: ...
- 浏览器相关,关于强缓存、协商缓存、CDN缓存。
强缓存和协商缓存 在介绍缓存的时候,我们习惯将缓存分为强缓存和协商缓存两种.两者的主要区别是使用本地缓存的时候,是否需要向服务器验证本地缓存是否依旧有效. 顾名思义,协商缓存,就是需要和服务器进行协商 ...
- 在Eclipse中运行OSGI工程出错的解决方案
今天学习OSGI的过程中按照书上所述搭建好第一个helloworld插件工程,运行的过程中出现下面所示的错误: !SESSION 2014-06-09 21:04:49.038 ----------- ...
- 3.0 go mod之远程仓库搭建-代码示例
注意事项 所谓的远程仓库指的是github,个人首次使用go mod在其他云仓库上尝试,并未成功,这浪费了我近2小时的时间: 如果你是初次尝试,那么除了github的地址换一下之外,其他的都按照示例操 ...
- 🏆【Alibaba中间件技术系列】「RocketMQ技术专题」Broker配置介绍及发送流程、异常(XX Busy)问题分析
参考资料 Rocketmq官网:http://rocketmq.apache.org/ Rocketmq的其它项目:https://github.com/apache/rocketmq-externa ...
- &和nohup
目录 一.简介 二.& 三.nohup 一.简介 当我们在终端或控制台工作时,可能不希望由于运行一个作业而占住了屏幕,因为可能还有更重要的事情要做,比如阅读电子邮件.对于密集访问磁盘的进程,我 ...
- 微信浏览器打开H5页面右上角隐藏转发功能
js设置转发开关 document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() { WeixinJSBridge. ...
- react原理分析--this.state修改引起的重新渲染
整理向,非原创,目的是整理出浅显易懂的方向性说明. 比如现有 this.state={name:"小明",age:18} 我们说修改组件的状态要用this.setState()来实 ...
- 如何实现 range 函数的参数?
关于 range 函数 Python内置的range函数可以接收三个参数: class range(stop): ... class range(start, stop[, step]): ... 标 ...
- 粒子群算法-PSO
粒子群优化算法 1. 背景知识 1995年美国社会心理学家Kennedy和电气工程师Eberhart共同提出粒子群优化算法(Particle Swarm Optimization, PSO).PSO算 ...