ComSecHW4_Diffie-Hellman

题目

在这里插入图片描述

T10.1

a. if Alice has a private key XA = 15,find her public key YA

Y A = α X A m o d   q = 5 15 m o d   157 = 79 Y_A = α^{X_A} mod ~q = 5^{15} mod ~157 = 79 YA=αXAmod q=515mod 157=79

int tool(int g,int x, int p){
	if(x==0)
		return 1; 
	else{
		int result=g;
		for(int i=1;i<x;i++){
			result = result*g;
			result = result%p;
		}
		while(result<0)
			result+=p;
		return result;
	}
} 
int main(){
	//T10.1
	cout<<tool(5,15,157)<<endl;		//result = 79
	cout<<tool(5,27,157)<<endl;		//result = 65
	cout<<tool(65,15,157)<<endl;	//result = 78
	cout<<tool(79,27,157)<<endl;	//result = 78
	//T10.2
	cout<<tool(8,3,23)<<endl;		//result = 6
	for(int i=0;i<22;i++)
		cout<<tool(5,i,23)<<endl;	//from 1 to 22
	return 0;
}

b. if Bob has a private key XB = 27,find his public key YB

Y B = α X B m o d   q = 5 27 m o d   157 = 65 Y_B= α^{X_B} mod ~q = 5^{27} mod ~157 = 65 YB=αXBmod q=527mod 157=65

c. What is the shared secret key between Alice and Bob?

7 9 27 m o d   157 = 6 5 15 m o d   157 = 78 79^{27}mod~157 = 65^{15}mod~157=78 7927mod 157=6515mod 157=78

T10.2

a. if Bob has a public key YB= 10, what is Bob’s private key

Y B = α X B m o d   q = 10 = 5 X B m o d   23 Y_B = α^{X_B} mod~q= 10 = 5^{X_B}mod~23 YB=αXBmod q=10=5XBmod 23
得出XB = 3

b. if Alice has a public key YA = 8, what is the shared key K with Bob?

K A B = Y A X B m o d   q = 8 3 m o d   23 = 6 K_{AB}=Y_A^{X_B} mod~q = 8^3 mod~23 = 6 KAB=YAXBmod q=83mod 23=6

c.Show that 5 is the primitive root of 23.

在这里插入图片描述

所以,5是23的原根!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值