Security RSA算法实例

Security RSA算法实例,security,encryption,cryptography,rsa,public-key-encryption,Security,Encryption,Cryptography,Rsa,Public Key Encryption,在这个简单的示例中,假设一个机构使用一个公共RSA密钥(e=11,n=85)进行签名 文件。你希望他们在你的信息(42号)上签名,但你不想 让他们知道他们签的是什么,所以你使用11的盲因子“r”。 在计算中,您可能希望使用以下结果: 11 ∗ 35 = 1 mod 64 11 ∗ 31 = 1 mod 85 展示简短的工作 1) 你应该授权签署什么号码 2) 当局会给你多少电话 3) 从这个数字中提取42的签名 4) 使用私钥验证此答案 我已经看过了,如果有人能和我一起指导这个例子,我将不胜感

在这个简单的示例中,假设一个机构使用一个公共RSA密钥(e=11,n=85)进行签名 文件。你希望他们在你的信息(42号)上签名,但你不想 让他们知道他们签的是什么,所以你使用11的盲因子“r”。 在计算中,您可能希望使用以下结果:

11 ∗ 35 = 1 mod 64
11 ∗ 31 = 1 mod 85
展示简短的工作

1) 你应该授权签署什么号码

2) 当局会给你多少电话

3) 从这个数字中提取42的签名

4) 使用私钥验证此答案


我已经看过了,如果有人能和我一起指导这个例子,我将不胜感激。

消息
m
是42,盲因子
r
是11,因此提供给当局的值是
m'
,计算如下:

m' = m * re mod N m' = 42 * 1111 mod 85 m' = 62 s' = m'd mod N s' = 6235 mod 85 s' = 73 其中
d
是专用指数

因此,我们必须计算私有指数,我们知道私有指数是满足以下关系的值:

e * d = 1 mod ɸ(N) 因此,利用提供的结果,我们可以确定:

e * d = 1 mod ɸ(N) 11 * d = 1 mod 64 d = 35 要计算签名,我们需要使用以下公式计算
s

s' = m'd mod N s = s' * r-1 mod N 再次使用给定的结果,我们可以确定
r-1
,如下所示:

r * r-1 = 1 mod N 11 * r-1 = 1 mod 85 r-1 = 31 您的问题是要使用私钥验证,但是签名是使用公钥验证的,所以我在这里要做的就是:

为了确认这是正确的签名,我们验证:

m = se mod N m = 5311 mod 85 m = 42 m=东南模N m=5311 mod 85 m=42
因此,我们已经证明签名是有效的,因为
m=42
-我们的原始消息。

消息
m
是42,盲因子
r
是11,因此提供给管理局的值
m'
计算如下:

m' = m * re mod N m' = 42 * 1111 mod 85 m' = 62 s' = m'd mod N s' = 6235 mod 85 s' = 73 其中
d
是专用指数

因此,我们必须计算私有指数,我们知道私有指数是满足以下关系的值:

e * d = 1 mod ɸ(N) 因此,利用提供的结果,我们可以确定:

e * d = 1 mod ɸ(N) 11 * d = 1 mod 64 d = 35 要计算签名,我们需要使用以下公式计算
s

s' = m'd mod N s = s' * r-1 mod N 再次使用给定的结果,我们可以确定
r-1
,如下所示:

r * r-1 = 1 mod N 11 * r-1 = 1 mod 85 r-1 = 31 您的问题是要使用私钥验证,但是签名是使用公钥验证的,所以我在这里要做的就是:

为了确认这是正确的签名,我们验证:

m = se mod N m = 5311 mod 85 m = 42 m=东南模N m=5311 mod 85 m=42
因此,我们已经证明签名是有效的,因为
m=42
-我们的原始消息。

这肯定是有意义的,我想知道你是如何计算m'=42*11^11 mod 85=62的?你用过计算器吗?还是有什么诀窍?你是如何计算出结果的?谢谢你的帮助。一个有足够数字的计算器可以直接计算,但是你也可以用普通的计算器或者纸笔来轻松地计算,把计算分解,当数字开始变得太大时应用模。例如:42*11^11=42*11*(11^5)^2=42*11*161051^2=42*11*61^2=42*11*3721=42*11*66=30492=62现在我明白了,谢谢。还有,你是如何计算11*d=1 mod 64的;d=35?“我正在看它,但我不确定到底该怎么做才能做到这一点。”注意:有一种叫做的算法可以使用。对于如此小的数字,您可以尝试所有的可能性。@注意,您的问题中给出了值(这是两个计算中的第一个,您说“在您的计算中,您可能希望使用以下结果”)。这肯定是有意义的,我想知道您是如何计算m'=42*11^11 mod 85=62的?你用过计算器吗?还是有什么诀窍?你是如何计算出结果的?谢谢你的帮助。一个有足够数字的计算器可以直接计算,但是你也可以用普通的计算器或者纸笔来轻松地计算,把计算分解,当数字开始变得太大时应用模。例如:42*11^11=42*11*(11^5)^2=42*11*161051^2=42*11*61^2=42*11*3721=42*11*66=30492=62现在我明白了,谢谢。还有,你是如何计算11*d=1 mod 64的;d=35?“我正在看它,但我不确定到底该怎么做才能做到这一点。”注意:有一种叫做的算法可以使用。对于这样小的数字,您可以尝试所有的可能性。@注意,数值在您的问题中给出(这是两个计算中的第一个,您说“在您的计算中,您可能希望使用以下结果”)。