第四十四个知识点:在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密码学方案中,描述一些基本的防御方法的更多相关文章

  1. 第四十二个知识点:看看你的C代码为蒙哥马利乘法,你能确定它可能在哪里泄漏侧信道路吗?

    第四十二个知识点:看看你的C代码为蒙哥马利乘法,你能确定它可能在哪里泄漏侧信道路吗? 几个月前(回到3月份),您可能还记得我在这个系列的52件东西中发布了第23件(可以在这里找到).这篇文章的标题是& ...

  2. 第四十九个知识点:描述在IPsec和TLS后的基本想法

    第四十九个知识点:描述在IPsec和TLS后的基本想法 网络安全协议(Internet Protocol Security,IPsec)和安全传输层协议(Transport Layer Securit ...

  3. 第四十八个知识点:TPM的目的和使用方法

    第四十八个知识点:TPM的目的和使用方法 在检查TPM目的之前,值得去尝试理解TPM设计出来的目的是为了克服什么样的问题.真正的问题是信任.信任什么?首先内存和软件运行在电脑上.这些东西能直接的通过操 ...

  4. 第四十六个知识点 在Sigma协议中,正确性,公正性和零知识性意味着什么

    第四十六个知识点 在Sigma协议中,正确性,公正性和零知识性意味着什么 Sigma协议 Sigma协议是Alice想要向Bob证明一些东西的协议(Alice知道一些秘密).他们有下面的一般范式:Al ...

  5. 第四十五个知识点:描述一些对抗RSA侧信道攻击的基础防御方法

    第四十五个知识点:描述一些对抗RSA侧信道攻击的基础防御方法 原文地址:http://bristolcrypto.blogspot.com/2015/08/52-things-number-45-de ...

  6. NeHe OpenGL教程 第四十四课:3D光晕

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  7. 网站开发进阶(四十四)input type="submit" 和"button"的区别

    网站开发进阶(四十四)input type="submit" 和"button"的区别   在一个页面上画一个按钮,有四种办法: 这就是一个按钮.如果你不写ja ...

  8. Gradle 1.12用户指南翻译——第四十四章. 分发插件

    本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

  9. SQL注入之Sqli-labs系列第四十一关(基于堆叠注入的盲注)和四十二关四十三关四十四关四十五关

    0x1普通测试方式 (1)输入and1=1和and1=2测试,返回错误,证明存在注入 (2)union select联合查询 (3)查询表名 (4)其他 payload: ,( ,( 0x2 堆叠注入 ...

随机推荐

  1. day10 负载均衡

    day10 负载均衡 负载均衡反向代理 正向代理:即是客户端代理, 代理客户端, 服务端不知道实际发起请求的客户端. # (内部上网) 客户端 <-> 代理 -> 服务端 反向代理即 ...

  2. Flume对接Kafka

    目录 一.简单实现 1)flume的配置文件 二.自定义interceptor(使用kafka sink) 1)自定义 flume 拦截器 2)编写 flume 的配置文件 3)创建topic 4)启 ...

  3. tomcat 8 内存优化

    在Linux环境下设置Tomcat JVM,在/opt/tomcat/bin/catalina.sh文件中找到"# ----- Execute The Requested Command&q ...

  4. Vue API 3模板语法 ,指令

    条件# v-if# v-if 指令用于条件性地渲染一块内容.这块内容只会在指令的表达式返回 truthy 值的时候被渲染. v-show# v-show 指令也是用于根据条件展示一块内容.v-show ...

  5. jmeter设置参数化

    设置参数化方法有3种 第一种: 1.打开 jmeter,导入badboy录制的脚本 导入后记得选择"step"右键选择change controller ->逻辑控制器-&g ...

  6. 解决 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 ...

  7. typora使用快捷键

    1. Ctrl+/ 切换源码模式2. ```css 选择语言 回车.4. `code` ctrl+shit+` 5. # 1号标题 ctrl+1 ### 3号标题 ctrl+3 ######6号标题 ...

  8. Windows下mysql5.6升级到5.7的方法(亲测有效哦!)

    Mysql的升级方式分为两种:原地升级和逻辑升级.这两种升级方式,本质没有什么区别的. 只是在对数据文件的处理上有些区别而已.原地升级是直接将数据文件进行拷贝,而逻辑升级对数据文件的处理方式是通过逻辑 ...

  9. Redis哨兵日常维护

    目录 一.日常操作 指定一个从做新主 添加一个从节点 添加一个Setinel节点 一.日常操作 指定一个从做新主 有时候需要将当前主节点机器下线,并指定一个高一些性能的从节点接替 将其它从节点的sla ...

  10. Mysql资料 xtrabackup

    目录 一.简介 原理 优缺点 二.安装 三.日常使用 备份所有库 增量备份 远程备份 四.参数 一.简介 原理 其实XtraBackup也是基于INNODB的 crash-recovery功能来实现的 ...