第四十四个知识点:在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 堆叠注入 ...
随机推荐
- C语言中的字节对齐
下面这个篇博客讲解很好 http://blog.csdn.net/meegomeego/article/details/9393783 总的来看分三类: 1. 不加 #pragma pack(n)伪指 ...
- 学习java的第十一天
一.今日收获 1.学习java完全学习手册2.9.3循环结构的内容并验证例题 2.观看哔哩哔哩上的教学视频 二.今日问题 1.基本没有 三.明日目标 1.继续完成2.9.3循环结构的例题 2.哔哩哔哩 ...
- Yarn 生产环境核心参数配置案例
目录 Yarn 生产环境核心参数配置案例 需求 修改yarn-site.xml配置 分发 重启集群 执行WordCount程序 Yarn 生产环境核心参数配置案例 调整下列参数之前要拍摄Linux快照 ...
- day25 组合和内置函数
day25 组合和内置函数 一.组合 # 解决类与类之间代码冗余问题: 1. 继承 2. 组合 组合:一个对象拥有一个属性, 属性的值必须是另外一个对象 继承满足的是:什么是什么的关系 # is-a ...
- Spark的shuffle和MapReduce的shuffle对比
目录 MapperReduce的shuffle Spark的shuffle 总结 MapperReduce的shuffle shuffle阶段划分 Map阶段和Reduce阶段 任务 MapTask和 ...
- 零基础学习java------day9------多态,抽象类,接口
1. 多态 1.1 概述: 某一个事务,在不同环境下表现出来的不同状态 如:中国人可以是人的类型,中国人 p = new 中国人():同时中国人也是人类的一份,也可以把中国人称为人类,人类 d ...
- SpringCloud微服务实战——搭建企业级开发框架(三十二):代码生成器使用配置说明
一.新建数据源配置 因考虑到多数据源问题,代码生成器作为一个通用的模块,后续可能会为其他工程生成代码,所以,这里不直接读取系统工程配置的数据源,而是让用户自己维护. 参数说明 数据源名称:用于查找区分 ...
- 【leetcode】633. Sum of Square Numbers(two-sum 变形)
Given a non-negative integer c, decide whether there're two integers a and b such that a2 + b2 = c. ...
- Dubbo服务调用超时
服务降级的发生,其实是由于消费者调用服务超时引起的,即从发出调用请求到获取到提供者的响应结果这个时间超出了设定的时限.默认服务调用超时时限为1秒.可以在消费者端与提供者端设置超时时限. 一.创建提供者 ...
- Centos 常用指令
1.*.tar 用 tar xvf 解压 2.*.gz 用 gzip d或者gunzip 解压 3.*.tar.gz和*.tgz 用 tar xzf 解压 4.*.bz2 用 bzip2 d或者用 ...