首页 > 其他分享 >52 Things: Number 34: Describe the Baby-Step/Giant-Step method for breaking DLPs

52 Things: Number 34: Describe the Baby-Step/Giant-Step method for breaking DLPs

时间:2024-04-12 21:46:09浏览次数:18  
标签:Giant breaking 52 Step DLP Baby gi

52 Things: Number 34: Describe the Baby-Step/Giant-Step method for breaking DLPs

52件事:第34件:描述打破DLP的小步/大步方法

  This is the latest in a series of blog posts to address the list of '52 Things Every PhD Student Should Know' to do Cryptography: a set of questions compiled to give PhD candidates a sense of what they should know by the end of their first year. In this blog, we discuss the Baby-Step/Giant-Step attack against DLPs. 
这是一系列博客文章中的最新一篇,旨在解决“每个博士生都应该知道的52件事”做密码学:这是一组问题,旨在让博士生在第一年结束时了解他们应该知道什么。在这个博客中,我们讨论了针对DLP的小步/大步攻击。


Baby-Step/Giant-Step is an algorithm developed by Daniel Shanks that solves Discrete Logarithm Problem (DLP), of which its hardness founded many of our mordern security protocols.
小步/大步是Daniel Shanks开发的一种解决离散对数问题(DLP)的算法,其硬度建立了许多现代安全协议。

First, let's just briefly recall DLP.
首先,让我们简单回顾一下DLP。

Given a cyclic group G of order n, a generator g and an element of the group h, the DLP is to find x, such that 
给定顺序为 n 的循环组 G 、生成器#2和组#3的元素,DLP将找到#4,使得
h=gx

Now let's come back to Baby-Step/Giant-Step.
现在让我们回到小步/大步。

Since n is the group order, so we have 0≤x≤n. Therefore we can write x as
由于 n 是组顺序,所以我们有 0≤x≤n 。因此,我们可以将#2写为
x=i⌈n−−√⌉+j
where 0≤i,j≤n−−√. 其中 0≤i,j≤n−−√ 。

So the DLP equation can be rewritten as
因此DLP方程可以重写为
h=gi⌈n√⌉+jh(g−j)=gi⌈n√⌉
The problem is transformed into finding a pair of (i,j) that satisfies the new equation.
该问题被转化为找到一对满足新方程的 (i,j) 。

One way to do this is to precompute a table of {gi⌈n√⌉} over 0≤i≤n−−√ and g−1. For any given h, we iterate j for h(g−1)j until we find a match in our precomputed table, which essentially means
一种方法是预计算 0≤i≤n−−√ 和 g−1 上的 {gi⌈n√⌉} 表。对于任何给定的#3,我们对 h(g−1)j 迭代#4,直到在预计算的表中找到匹配项,这本质上意味着
gi⌈n√⌉=h(g−1)j=h(g−j)

Once a match is found, we can simply reconstruct x using
一旦找到匹配,我们可以简单地使用
x=i⌈n−−√⌉+j

The algorithem has both time and space complexity of O(n−−√). Fortunate for us, this is just not good enough to tear our cryptographic life apart.
该算法同时具有 O(n−−√) 的时间复杂度和空间复杂度。幸运的是,这还不足以撕裂我们的加密生活。

标签:Giant,breaking,52,Step,DLP,Baby,gi
From: https://www.cnblogs.com/3cH0-Nu1L/p/18107500

相关文章

  • P3654 First Step (ファーストステップ)
    题目链接:本题数据范围仅为\(100\),因此可以暴力枚举\(O(n^3)\),唯一需要注意的一点就是当\(k=1\)时,横着站和竖着站是一样的,答案被计算了两次,因此最终的\(\rmans\)需要再除以\(2\)。#include<bits/stdc++.h>constintN=110;charw[N][N];intR,C,K,ans;boolfl......
  • 【AI Many-Shot-Jailbreaking】上下文窗口越大越危险
    在人工智能的发展过程中,安全性问题逐渐引起了人们的关注。Anthropic公司发了一篇关于“许多次破解监狱”的技术研究。这种技术可以用来规避大型语言模型(LLM)开发者设定的安全防护措施。我们将深入探讨这种技术的工作原理、可能产生的影响,以及如何采取有效的缓解措施。希望通......
  • Stepwise Self-Consistent Mathematical Reasoning with Large Language Models
    本文是LLM系列文章,针对《StepwiseSelf-ConsistentMathematicalReasoningwithLargeLanguageModels》的翻译。基于大型语言模型的逐步自洽数学推理摘要1引言2相关工作3TriMaster100数据集4循序渐进的自洽思维链5实验6结论摘要使用大型语言模型进......
  • Step by Step Data Replication Using Oracle GoldenGate
    1、Quickstarts2、ConfigureDeployments3、ManageDeploymentsfromtheServiceManager 4、ConfigureDataReplicationProcessesfromtheAdministrationService 5、ConfigurePathstoTransportTraiData 6、MonitorPathsandTrailsfromtheReceiver......
  • CF1139D Steps to One
    期望就是\(\sum序列长度\times这个长度的概率\)我们先想长为\(x\)的序列出现的概率为多大长度为\(i\)的序列,对于每个约数,约数集合为\(\sigma\),出现概率为\(\sum_{p\in\sigma}(\frac{\lfloor\frac{m}{p}\rfloor}{m})^{i-1}\times\frac{m-\lfloor\frac......
  • Step-by-Step之-openGauss1-0-1单机安装指南v1-2
    StepbyStep之:openGauss1.0.1单机安装指南v1.2在CentOS7.6上安装openGauss单机版配置操作系统满足安装要求硬件环境:虚拟机的内存8GB,4核心CPU,900G磁盘(非必须)软件环境:CentOS7.6关闭防火墙#停止firewallsystemctlstopfirewalld.service#禁止firewall开机启......
  • step-by-step系列之-openGauss1-0-1-Docker版本单机安装指南
    stepbystep系列之:openGauss1.0.1Docker版本单机安装指南1.软硬件环境硬件环境:项目最低配置推荐配置测试配置硬盘用于安装openGauss的硬盘需最少满足如下要求:至少1GB用于安装openGauss的应用程序包。每个主机需大约300MB用于元数据存储。预留70%以上的磁盘剩......
  • step-by-step之-install-docker版本opengauss1-0-1主备机群
    stepbystep之:installdocker版本opengauss1.0.1主备机群实验环境说明:OS:2颗8核心8GB内存。1.流程:先安装docker软件,下载Docker镜像,在创建启动主备容器数据库,进入数据库,进行主备切换试验。2.安装docker软件[root@node1~]#yum-yinstalldocker#检查docke......
  • Jailbreaking Large Language Models in Few Queries via Disguise and Reconstructio
    本文是LLM系列文章,针对《MakingThemAskandAnswer:JailbreakingLargeLanguageModelsinFewQueriesviaDisguiseandReconstruction》的翻译。让他们问答:通过伪装和重建在少数查询中打破大型语言模型的牢笼摘要1引言2背景和问题陈述3LLM微调中的安全偏......
  • pytorch使用pytorch_wavelets包错误:ValueError: step must be greater than zero 错误
    错误描述在使用pytorch_wavelets包的DWT1DInverse时,发现报错信息如下:Traceback(mostrecentcalllast):File"/work/GDN/test/test_DWT.py",line24,inx_=idwt((YL,YH))File"/opt/conda/lib/python3.6/site-packages/torch/nn/modules/module.py",line550......