Questions tagged «cryptography»

有关安全计算和通信(包括身份验证,完整性和隐私性方面)的协议和算法的构建和分析的问题。


12
在夏娃不知情的情况下,如何与鲍勃验证号码?
您需要检查您的朋友鲍勃(Bob)是否输入了正确的电话号码,但是您不能直接问他。您必须将问题写在卡片上,然后交给伊夫,夏娃将把卡片带给鲍勃,并将答案返回给您。除问题外,您还必须在卡上写些什么,以确保Bob可以对消息进行编码,以使Eve无法读取您的电话号码? 注意:该问题在“ Google面试问题”列表中。结果,网络上有成千上万个此问题的版本,其中许多没有清晰甚至正确的答案。 注2:这个问题的狡猾答案是鲍勃应该写“给我打电话”。是的,这非常聪明,“开箱即用”,无所不包,但是没有使用CS领域中我们称之为英雄“鲍勃”和窃听对手“夏娃”的任何技巧。 更新: 您和Bob都可以手工合理完成的算法的加分。 更新2: 请注意,鲍勃不必向您发送任何消息,而仅需确认自己具有正确的电话号码,而夏娃无法对其进行解码,因此可能会或可能不会导致更简单的解决方案。

4
我可以在酒吧中提出一个极其基本的非对称密码?
我正在尝试向父母解释比特币的基本知识。 比特币的核心组成部分之一是对交易进行签名以确保您的身份不会被假冒,因此需要解释简化的非对称密码。 我可以使用一个非常简单的非对称密码作为示例吗? 如何将这种简化的密码用于签名?

5
含义:“'如果很难分解大整数,那么很难破解RSA',未经证实”
我正在阅读CLRS,并说: 如果分解大整数很容易,那么破坏RSA密码系统就很容易。 这对我来说很有意义,因为有了ppp和的知识,就很容易创建公开密钥知识的秘密密钥。不过,它解释了相反的陈述,我不太了解:qqq 相反的说法,即如果很难分解大整数,那么很难破解RSA。 以上声明的正式含义是什么?如果我们假设分解很困难(以某种正式方式),那为什么不意味着破坏RSA加密系统很难呢? 现在考虑一下,如果我们假设分解是困难的……并且我们发现它意味着RSA密码系统很难破解。这正式意味着什么?



5
为什么用相同的一次性密码加密效果不好?
要使用一次性密钥加密消息,请执行 。 ķ Ë Ñ Ç (米1,ķ )= 米1 ⊕ ķm1米1个m_1kķkEnc(m1,k)=m1⊕kËñC(米1个,ķ)=米1个⊕ķEnc(m_1,k) = m_1 \oplus k 如果使用相同的加密不同的消息则会得到 ,如果对两个密文执行Xor,则将得到 米2 ë Ñ Ç (米2,ķ )= 米2 ⊕ ķ (米1 ⊕ ķ )⊕ (米2 ⊕ ķ )= 米1 ⊕ 米2kķkm2米2m_2Enc(m2,k)=m2⊕kËñC(米2,ķ)=米2⊕ķEnc(m_2,k) = m_2 \oplus k(m1⊕k)⊕(m2⊕k)=m1⊕m2(m1⊕k)⊕(m2⊕k)=m1⊕m2( m_1 \oplus k) \oplus ( m_2 \oplus k) = …

2
操作系统如何为随机种子创建熵?
在Linux上,文件/dev/random和/dev/urandom文件分别是伪随机字节的阻塞和非阻塞源。 它们可以作为普通文件读取: $ hexdump /dev/random 0000000 28eb d9e7 44bb 1ac9 d06f b943 f904 8ffa 0000010 5652 1f08 ccb8 9ee2 d85c 7c6b ddb2 bcbe 0000020 f841 bd90 9e7c 5be2 eecc e395 5971 ab7f 0000030 864f d402 74dd 1aa8 925d 8a80 de75 a0e3 0000040 cb64 4422 02f7 0c50 6174 f725 0653 2444 …


4
为什么RSA加密在密钥交换中变得很流行?
这是一个软问题。我对密码学或其历史不太了解,但RSA的一种常见用法是通过加密对称密钥以发送更长的消息来进行密钥交换(例如,此处的iMessage描述)。难道这不是Diffie-Hellman密钥交换的功能吗?它更旧(对我而言似乎更简单)是为了?在Wikipedia上,它们也都获得了专利,因此对选择不承担任何责任。 明确地说,我并不是在问公钥加密技术在理论上是否重要。我在问为什么它实际上成为进行密钥交换的标准方法。(对于非密码学家来说,DH看起来更易于实现,并且也与所使用组的细节无关。)

1
渐近下界与密码学有关吗?
一般认为,诸如指数硬度之类的渐近下界表示问题“固有地困难”。“本来就很难”破解的加密被认为是安全的。 但是,渐近下界并不排除存在大量但有限类别的问题实例(例如,所有大小小于实例)容易的可能性。10100010100010^{1000} 有没有理由认为基于渐近下界的密码会赋予任何特定级别的安全性?安全专家会考虑这种可能性,还是只是将其忽略? 一个例子是使用基于大量分解为其主要因素的活板门功能。曾经有人认为这是固有的困难(我认为指数是猜想),但现在许多人认为可能存在多项式算法(如素数测试一样)。似乎没有人非常在乎缺少指数下限。 我相信,已经提出了其他陷井门功能,这些功能被认为是NP困难的(请参阅相关问题),有些甚至可能具有较低的界限。我的问题更基本:渐近下界是什么?如果不是,那么任何密码的实际安全性是否与渐近复杂性完全相关?

2
如何实际构造规则的扩展图?
我需要为n个顶点的一些小的固定d(例如3或4)构造d-正则展开图。 在实践中最简单的方法是什么?构造一个随机的d-正则图,证明它是扩展器? 我还阅读了有关作为扩展器的Margulis构造和Ramanujan图以及使用Z字形乘积的构造。Wikipedia给出了一个很好但很简短的概述:http : //en.wikipedia.org/wiki/Expander_graph#cite_note-10 但是我在实践中选择哪种方法? 对我来说,这些方法的实现似乎非常复杂,尤其是要理解甚至很具体。难道没有更简单的方法(可能基于排列左右)来实际生成一系列d-正则展开图吗? 构造d-正则二分式展开图可能更容易吗? 我还有一个问题:不良的d-regular扩展器家族如何?这样的想法有意义吗?在扩展器的意义上,能否构造出一系列尽可能不好的d-正则图(当然是相连的)? 提前致谢。

4
是否可以使用加密创建“时间胶囊”?
我想创建一个数字时间胶囊,它将在一段时间内保持不可读状态,然后变得可读。我不想依靠任何外部服务,例如,将密钥保密,然后在需要的时间将其公开。这可能吗?如果不是,是否有某种可能的证明? 一种策略将基于对未来计算能力的预测,但这是不可靠的,并且会假设将多少资源应用于任务。


1
为线性反馈移位寄存器选择抽头
我对如何为线性反馈移位寄存器选择抽头感到困惑。 我有一个图,它示出了具有连接多项式的LFSR 。五个阶段​​标记为:R 4 ,R 3 ,R 2 ,R 1和R 0,抽头从R 0和R 3出来。C(X)= X5+ X2+ 1C(X)=X5+X2+1C(X) = X^5 + X^2 + 1R 4 ,R 3 ,R 2 ,R 1R4,R3,R2,R1R4, R3, R2, R1[R 0R0R0[R 0R0R0R 3R3R3 如何确定这些水龙头?当我得到一个连接多项式但没有图时,我如何知道应该对哪些值进行异或?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.