生日攻击实现离散对数问题的求解(C++)

!!!生日攻击是个概率性问题以下代码可能只能实现部分离散对数求解问题,通过修改随机数种子可能会解决不同的问题…

// BirthdayAttack.cpp : 定义控制台应用程序的入口点。
//生日攻击

#include "stdafx.h"
#include 
#include 
#include 
using namespace std;
#define random(x) (rand()%x)

long long x, y, q;
long long func(long long a, long long  b){
	if (b == 0){
		x = 1; y = 0; q = a;
	}
	else{
		func(b, a%b);
		double t = x;
		x = y; y = t - a / b*y;
	}
	return y;//y是 b mod a的逆元 不保证y在一定范围内
}

long long  k_mod(long long a, long long k, long long p){
	long long aa = a;
	a = a%p;
	for (int i = 0; i > p;
	cin >> a;
	cin >> b;
	attack(a, b, p);
	return 0;
}

你可能感兴趣的:(密码学)