def run_Batch(verifyArgsDict, groupObjParam, verifyFuncArgs): global group group = groupObjParam N = len(verifyArgsDict) z = 0 r, s = verifyArgsDict[z]['sig'][bodyKey]['r'], verifyArgsDict[z]['sig'][ bodyKey]['i'] n = ceilog(s) delta = {} for z in range(0, N): delta[z] = prng_bits(80) incorrectIndices = [] __init__(group) for z in range(0, N): for arg in verifyFuncArgs: if (group.ismember(verifyArgsDict[z][arg][bodyKey]) == False): sys.exit("ALERT: Group membership check failed!!!!\n") pass z = 0 startSigNum = 0 endSigNum = N dotA = {} dotB = {} dotC = {} dotD = {} dotE = {} r, s = verifyArgsDict[z]['sig'][bodyKey]['r'], verifyArgsDict[z]['sig'][ bodyKey]['i'] S = group.init(ZR, s) n = ceilog(s) for z in range(0, N): M = group.hash(verifyArgsDict[z]['msg'][bodyKey], ZR) sigma1, sigma2 = verifyArgsDict[z]['sig'][bodyKey][1], verifyArgsDict[ z]['sig'][bodyKey][2] r, s = verifyArgsDict[z]['sig'][bodyKey]['r'], verifyArgsDict[z][ 'sig'][bodyKey]['i'] U, V, D = verifyArgsDict[z]['pk'][bodyKey]['U'], verifyArgsDict[z][ 'pk'][bodyKey]['V'], verifyArgsDict[z]['pk'][bodyKey]['D'] dotA[z] = sigma1**delta[z] dotB[z] = U**(M * delta[z]) dotC[z] = V**(r * delta[z]) dotD[z] = D**delta[z] dotE[z] = sigma2**(n * delta[z]) verifySigsRecursive(verifyArgsDict, group, incorrectIndices, 0, N, n, S, delta, dotA, dotB, dotC, dotD, dotE) return incorrectIndices
def run_Batch(verifyArgsDict, groupObjParam, verifyFuncArgs): global group global lam_func, debug group = groupObjParam N = len(verifyArgsDict) z = 0 n, y, pi, pizero = verifyArgsDict[z]['pk'][bodyKey]['n'], verifyArgsDict[ z]['st'][bodyKey]['y'], verifyArgsDict[z]['st'][bodyKey][ 'pi'], verifyArgsDict[z]['st'][bodyKey]['pi0'] delta1 = {} delta2 = {} delta3 = {} for z in range(0, N): delta1[z] = prng_bits(80) delta2[z] = prng_bits(80) delta3[z] = prng_bits(80) incorrectIndices = [] lam_func = lambda i, a, b: a[i]**b[i] __init__(group) for z in range(0, N): for arg in verifyFuncArgs: if (group.ismember(verifyArgsDict[z][arg][bodyKey]) == False): sys.exit("ALERT: Group membership check failed!!!!\n") pass z = 0 startSigNum = 0 endSigNum = N dotA = {} dotB = {} dotC = {} dotD = {} dotE = {} for z in range(0, N): n, y, pi, pizero = verifyArgsDict[z]['pk'][bodyKey][ 'n'], verifyArgsDict[z]['st'][bodyKey]['y'], verifyArgsDict[z][ 'st'][bodyKey]['pi'], verifyArgsDict[z]['st'][bodyKey]['pi0'] dotA[z] = (verifyArgsDict[z]['pk'][bodyKey]['g1']**( (1 - verifyArgsDict[z]['x'][bodyKey][0]) * delta1[z]) * verifyArgsDict[z]['pk'][bodyKey]['U1'][0] **(verifyArgsDict[z]['x'][bodyKey][0] * delta1[z])) dotB[z] = pi[0]**-delta1[z] dotC[z] = pi[n - 1]**delta1[z] dotD[z] = pizero**-delta1[z] dotE[z] = y**-delta1[z] verifySigsRecursive(verifyArgsDict, group, incorrectIndices, 0, N, delta1, dotA, dotB, dotC, dotD, dotE) return incorrectIndices
def run_Batch(verifyArgsDict, groupObjParam, verifyFuncArgs): global group group = groupObjParam N = len(verifyArgsDict) z = 0 r , s= verifyArgsDict[z]['sig'][bodyKey][ 'r' ] , verifyArgsDict[z]['sig'][bodyKey][ 'i' ] n= ceilog( s ) delta = {} for z in range(0, N): delta[z] = prng_bits(80) incorrectIndices = [] __init__(group) for z in range(0, N): for arg in verifyFuncArgs: if (group.ismember(verifyArgsDict[z][arg][bodyKey]) == False): sys.exit("ALERT: Group membership check failed!!!!\n") pass z = 0 startSigNum = 0 endSigNum = N dotA = {} dotB = {} dotC = {} dotD = {} dotE = {} dotF = {} dotG = {} r , s= verifyArgsDict[z]['sig'][bodyKey][ 'r' ] , verifyArgsDict[z]['sig'][bodyKey][ 'i' ] S= group.init( ZR , s ) n= ceilog( s ) for z in range(0, N): M= group.hash( verifyArgsDict[z]['msg'][bodyKey] , ZR ) sigma1 , sigma2= verifyArgsDict[z]['sig'][bodyKey][ 1 ] , verifyArgsDict[z]['sig'][bodyKey][ 2 ] r , s= verifyArgsDict[z]['sig'][bodyKey][ 'r' ] , verifyArgsDict[z]['sig'][bodyKey][ 'i' ] U , V , D= verifyArgsDict[z]['pk'][bodyKey][ 'U' ] , verifyArgsDict[z]['pk'][bodyKey][ 'V' ] , verifyArgsDict[z]['pk'][bodyKey][ 'D' ] dotA[z] = sigma1 ** delta [ z ] dotB[z] = U **( M * delta [ z ] ) dotC[z] = V **( r * delta [ z ] ) dotD[z] = D ** delta [ z ] dotE[z] = sigma2 **( delta [ z ] * n ) dotF[z] = sigma2 **( delta [ z ] * S ) dotG[z] = sigma2 ** delta [ z ] verifySigsRecursive(verifyArgsDict, group, incorrectIndices, 0, N, n, S, delta, dotA, dotB, dotC, dotD, dotE, dotF, dotG) return incorrectIndices
def run_Batch(verifyArgsDict, groupObjParam, verifyFuncArgs): global group global lam_func, debug group = groupObjParam N = len(verifyArgsDict) z = 0 n , y , pi , pizero= verifyArgsDict[z]['pk'][bodyKey][ 'n' ] , verifyArgsDict[z]['st'][bodyKey][ 'y' ] , verifyArgsDict[z]['st'][bodyKey][ 'pi' ] , verifyArgsDict[z]['st'][bodyKey][ 'pi0' ] delta = {} for z in range(0, N): delta[z] = prng_bits(80) incorrectIndices = [] lam_func = lambda i,a,b: a[i] ** b[i] __init__(group) for z in range(0, N): for arg in verifyFuncArgs: if (group.ismember(verifyArgsDict[z][arg][bodyKey]) == False): sys.exit("ALERT: Group membership check failed!!!!\n") pass z = 0 startSigNum = 0 endSigNum = N dotA = {} dotB = {} dotC = {} dotD = {} dotE = {} dotF = {} dotG = {} for z in range(0, N): n , y , pi , pizero= verifyArgsDict[z]['pk'][bodyKey][ 'n' ] , verifyArgsDict[z]['st'][bodyKey][ 'y' ] , verifyArgsDict[z]['st'][bodyKey][ 'pi' ] , verifyArgsDict[z]['st'][bodyKey][ 'pi0' ] dotA[z] = ( verifyArgsDict[z]['pk'][bodyKey] [ 'g1' ] **(( 1 + -verifyArgsDict[z]['x'][bodyKey] [ 0 ] ) * delta [ z ] ) * verifyArgsDict[z]['pk'][bodyKey] [ 'U1' ] [ 0 ] **( verifyArgsDict[z]['x'][bodyKey] [ 0 ] * delta [ z ] ) ) dotB[z] = pi [ 0 ] ** -delta [ z ] dotC[z] = pi [ n -1 ] ** delta [ z ] dotD[z] = pizero ** -delta [ z ] dotE[z] = y ** -delta [ z ] dotF[z] = {} dotG[z] = {} for t in range(1, n): dotF[z][t] = ( pi [ t ] ** delta [ z ] * pi [ t -1 ] **(( 1 + -verifyArgsDict[z]['x'][bodyKey] [ t ] ) * -delta [ z ] ) ) dotG[z][t] = pi [ t -1 ] **( verifyArgsDict[z]['x'][bodyKey] [ t ] * delta [ z ] ) verifySigsRecursive(verifyArgsDict, group, incorrectIndices, 0, N, delta, dotA, dotB, dotC, dotD, dotE, dotF, dotG) return incorrectIndices
def run_Batch_Sorted(verifyArgsDict, groupObjParam, verifyFuncArgs): global group global H2, debug group = groupObjParam N = len(verifyArgsDict) z = 0 delta = {} for z in range(0, N): delta[z] = prng_bits(80) incorrectIndices = [] H2 = lambda x, y: group.hash((x, y), ZR) __init__(group) for z in range(0, N): for arg in verifyFuncArgs: if (group.ismember(verifyArgsDict[z][arg][bodyKey]) == False): sys.exit("ALERT: Group membership check failed!!!!\n") pass z = 0 startSigNum = 0 endSigNum = N dotA = {} dotB = {} dotC = {} for z in range(0, N): sig1, sig2 = verifyArgsDict[z]['sig'][bodyKey][ 'sig_hess'], verifyArgsDict[z]['sig'][bodyKey]['sig_chch'] S1h, S2h = sig1['S1'], sig1['S2'] S1c, S2c = sig2['S1'], sig2['S2'] ah = H2(verifyArgsDict[z]['M'][bodyKey], S1h) ac = H2(verifyArgsDict[z]['M'][bodyKey], S1c) dotA[z] = (verifyArgsDict[z]['pk'][bodyKey]**(ah * delta[z]) * (S1c**-delta[z] * verifyArgsDict[z]['pk'][bodyKey]**(ac * -delta[z]))) dotB[z] = S1h**delta[z] dotC[z] = (S2h**-delta[z] * S2c**delta[z]) verifySigsRecursive(verifyArgsDict, group, incorrectIndices, 0, N, delta, dotA, dotB, dotC) return incorrectIndices
def run_Batch_Sorted(verifyArgsDict, groupObjParam, verifyFuncArgs): global group global H2, debug group = groupObjParam N = len(verifyArgsDict) z = 0 delta = {} for z in range(0, N): delta[z] = prng_bits(80) incorrectIndices = [] H2 = lambda x,y: group.hash((x,y), ZR) __init__(group) for z in range(0, N): for arg in verifyFuncArgs: if (group.ismember(verifyArgsDict[z][arg][bodyKey]) == False): sys.exit("ALERT: Group membership check failed!!!!\n") pass z = 0 startSigNum = 0 endSigNum = N dotA = {} dotB = {} dotC = {} for z in range(0, N): sig1 , sig2= verifyArgsDict[z]['sig'][bodyKey][ 'sig_hess' ] , verifyArgsDict[z]['sig'][bodyKey][ 'sig_chch' ] S1h , S2h= sig1 [ 'S1' ] , sig1 [ 'S2' ] S1c , S2c= sig2 [ 'S1' ] , sig2 [ 'S2' ] ah= H2( verifyArgsDict[z]['M'][bodyKey] , S1h ) ac= H2( verifyArgsDict[z]['M'][bodyKey] , S1c ) dotA[z] = ( verifyArgsDict[z]['pk'][bodyKey] **( ah * delta [ z ] ) *( S1c ** -delta [ z ] * verifyArgsDict[z]['pk'][bodyKey] **( ac * -delta [ z ] ) ) ) dotB[z] = S1h ** delta [ z ] dotC[z] = ( S2h ** -delta [ z ] * S2c ** delta [ z ] ) verifySigsRecursive(verifyArgsDict, group, incorrectIndices, 0, N, delta, dotA, dotB, dotC) return incorrectIndices
def run_Batch_Sorted(verifyArgsDict, groupObjParam, verifyFuncArgs): global group global debug, hashObj, lam_func group = groupObjParam N = len(verifyArgsDict) z = 0 delta = {} for z in range(0, N): delta[z] = prng_bits(80) incorrectIndices = [] lam_func = lambda i,a,b: a[i] ** b[i] __init__(group) for z in range(0, N): #for arg in verifyFuncArgs: #if (group.ismember(verifyArgsDict[z][arg][bodyKey]) == False): #sys.exit("ALERT: Group membership check failed!!!!\n") pass z = 0 startSigNum = 0 endSigNum = N dotA = {} dotB = {} for z in range(0, N): M= strToId( verifyArgsDict[z]['mpk'][bodyKey] , verifyArgsDict[z]['message'][bodyKey] ) h= verifyArgsDict[z]['mpk'][bodyKey][ 'u0' ] * dotprod( 1 , -1 , verifyArgsDict[z]['mpk'][bodyKey][ 'z' ] , lam_func , verifyArgsDict[z]['mpk'][bodyKey][ 'u' ] , M ) sig= verifyArgsDict[z]['sigDict'][bodyKey][ 'sig1' ] t= verifyArgsDict[z]['sigDict'][bodyKey][ 'sig2' ] dotA[z] = h **( t * delta [ z ] ) dotB[z] = sig **( delta [ z ] * t ) verifySigsRecursive(verifyArgsDict, group, incorrectIndices, 0, N, delta, dotA, dotB) return incorrectIndices
def run_Batch(verifyArgsDict, groupObjParam, verifyFuncArgs): global group global debug group = groupObjParam N = len(verifyArgsDict) z = 0 delta = {} for z in range(0, N): delta[z] = prng_bits(80) incorrectIndices = [] __init__(group) for z in range(0, N): #for arg in verifyFuncArgs: #if (group.ismember(verifyArgsDict[z][arg][bodyKey]) == False): #sys.exit("ALERT: Group membership check failed!!!!\n") pass z = 0 startSigNum = 0 endSigNum = N dotA = {} dotB = {} dotC = {} for z in range(0, N): (a, b, c) = verifyArgsDict[z]['sig'][bodyKey]['a'], verifyArgsDict[z][ 'sig'][bodyKey]['a_y'], verifyArgsDict[z]['sig'][bodyKey]['a_xy'] m = group.hash(verifyArgsDict[z]['M'][bodyKey], ZR) dotA[z] = a**delta[z] dotB[z] = (b**-delta[z] * c**-delta[z]) dotC[z] = (a**delta[z] * b**(m * delta[z])) verifySigsRecursive(verifyArgsDict, group, incorrectIndices, 0, N, delta, dotA, dotB, dotC) return incorrectIndices
def run_Batch_Sorted(verifyArgsDict, groupObjParam, verifyFuncArgs): global group global debug group = groupObjParam N = len(verifyArgsDict) z = 0 delta = {} for z in range(0, N): delta[z] = prng_bits(80) incorrectIndices = [] __init__(group) for z in range(0, N): #for arg in verifyFuncArgs: #if (group.ismember(verifyArgsDict[z][arg][bodyKey]) == False): #sys.exit("ALERT: Group membership check failed!!!!\n") pass z = 0 startSigNum = 0 endSigNum = N dotA = {} dotB = {} for z in range(0, N): M = verifyArgsDict[z]['message'][bodyKey] h = group.hash(M, G1) sig = verifyArgsDict[z]['sigDict'][bodyKey]['sig1'] t = verifyArgsDict[z]['sigDict'][bodyKey]['sig2'] dotA[z] = h**(t * delta[z]) dotB[z] = sig**(delta[z] * t) verifySigsRecursive(verifyArgsDict, group, incorrectIndices, 0, N, delta, dotA, dotB) return incorrectIndices
def run_Batch(verifyArgsDict, groupObjParam, verifyFuncArgs): global group global debug group = groupObjParam N = len(verifyArgsDict) z = 0 delta = {} for z in range(0, N): delta[z] = prng_bits(80) incorrectIndices = [] __init__(group) for z in range(0, N): #for arg in verifyFuncArgs: #if (group.ismember(verifyArgsDict[z][arg][bodyKey]) == False): #sys.exit("ALERT: Group membership check failed!!!!\n") pass z = 0 startSigNum = 0 endSigNum = N dotA = {} dotB = {} dotC = {} for z in range(0, N): ( a , b , c )= verifyArgsDict[z]['sig'][bodyKey][ 'a' ] , verifyArgsDict[z]['sig'][bodyKey][ 'a_y' ] , verifyArgsDict[z]['sig'][bodyKey][ 'a_xy' ] m= group.hash( verifyArgsDict[z]['M'][bodyKey] , ZR ) dotA[z] = a ** delta [ z ] dotB[z] = ( b ** -delta [ z ] * c ** -delta [ z ] ) dotC[z] = ( a ** delta [ z ] * b **( m * delta [ z ] ) ) verifySigsRecursive(verifyArgsDict, group, incorrectIndices, 0, N, delta, dotA, dotB, dotC) return incorrectIndices
def run_Batch_Sorted(verifyArgsDict, groupObjParam, verifyFuncArgs): global group global debug group = groupObjParam N = len(verifyArgsDict) z = 0 delta = {} for z in range(0, N): delta[z] = prng_bits(80) incorrectIndices = [] __init__(group) for z in range(0, N): # for arg in verifyFuncArgs: # if (group.ismember(verifyArgsDict[z][arg][bodyKey]) == False): # sys.exit("ALERT: Group membership check failed!!!!\n") pass z = 0 startSigNum = 0 endSigNum = N dotA = {} dotB = {} for z in range(0, N): M = verifyArgsDict[z]["message"][bodyKey] h = group.hash(M, G1) sig = verifyArgsDict[z]["sigDict"][bodyKey]["sig1"] t = verifyArgsDict[z]["sigDict"][bodyKey]["sig2"] dotA[z] = h ** (t * delta[z]) dotB[z] = sig ** (delta[z] * t) verifySigsRecursive(verifyArgsDict, group, incorrectIndices, 0, N, delta, dotA, dotB) return incorrectIndices
def run_Batch(verifyArgsDict, groupObjParam, verifyFuncArgs): global group global util group = groupObjParam N = len(verifyArgsDict) z = 0 delta = {} for z in range(0, N): delta[z] = prng_bits(80) incorrectIndices = [] __init__(group) for z in range(0, N): for arg in verifyFuncArgs: if (group.ismember(verifyArgsDict[z][arg][bodyKey]) == False): sys.exit("ALERT: Group membership check failed!!!!\n") pass z = 0 startSigNum = 0 endSigNum = N dotA = {} dotB = {} dotC = {} dotD = {} dotE = {} dotF = {} dotG = {} dotH = {} dotI = {} dotJ = {} dotK = {} dotL = {} dotM = {} sumN = {} A= verifyArgsDict[z]['mpk'][bodyKey][ 'egg_alpha' ] for z in range(0, N): s1 , s2 , t , tagc= group.random( ZR , 4 ) s= s1 + s2 M= group.hash( verifyArgsDict[z]['m'][bodyKey] ) sig1 , sig2 , sig3 , sig4 , sig5 , sig6 , sig7 , sigK , tagk= verifyArgsDict[z]['sigma'][bodyKey][ 'sig' ] [ 1 ] , verifyArgsDict[z]['sigma'][bodyKey][ 'sig' ] [ 2 ] , verifyArgsDict[z]['sigma'][bodyKey][ 'sig' ] [ 3 ] , verifyArgsDict[z]['sigma'][bodyKey][ 'sig' ] [ 4 ] , verifyArgsDict[z]['sigma'][bodyKey][ 'sig' ] [ 5 ] , verifyArgsDict[z]['sigma'][bodyKey][ 'sig' ] [ 6 ] , verifyArgsDict[z]['sigma'][bodyKey][ 'sig' ] [ 7 ] , verifyArgsDict[z]['sigma'][bodyKey][ 'K' ] , verifyArgsDict[z]['sigma'][bodyKey][ 'tagk' ] theta= ~( tagc -tagk ) dotA[z] = sig1 **( s * delta [ z ] ) dotB[z] = sig2 **( s1 * delta [ z ] ) dotC[z] = sig3 **( s1 * delta [ z ] ) dotD[z] = sig4 **( s2 * delta [ z ] ) dotE[z] = sig5 **( s2 * delta [ z ] ) dotF[z] = sig6 **( delta [ z ] * s1 ) dotG[z] = sig6 **( delta [ z ] * s2 ) dotH[z] = sig7 **( delta [ z ] * s1 ) dotI[z] = sig7 **( delta [ z ] * s2 ) dotJ[z] = ( sig7 **( delta [ z ] * -t ) * sig7 **(( theta * delta [ z ] ) *( tagc * t ) ) ) dotK[z] = sig7 **(( theta * delta [ z ] ) *( M * t ) ) dotL[z] = sig7 **(( theta * delta [ z ] ) * t ) #dotM[z] = sigK **( t *( -theta * -delta [ z ] ) ) dotM[z] = sigK **( -t *( theta * delta [ z ] ) ) sumN[z] = ( s2 * delta [ z ] ) verifySigsRecursive(verifyArgsDict, group, incorrectIndices, 0, N, A, delta, dotA, dotB, dotC, dotD, dotE, dotF, dotG, dotH, dotI, dotJ, dotK, dotL, dotM, sumN) return incorrectIndices
def run_Batch(verifyArgsDict, groupObjParam, verifyFuncArgs): global group global util group = groupObjParam N = len(verifyArgsDict) z = 0 delta = {} for z in range(0, N): delta[z] = prng_bits(80) incorrectIndices = [] __init__(group) for z in range(0, N): for arg in verifyFuncArgs: if (group.ismember(verifyArgsDict[z][arg][bodyKey]) == False): sys.exit("ALERT: Group membership check failed!!!!\n") pass z = 0 startSigNum = 0 endSigNum = N dotA = {} dotB = {} dotC = {} dotD = {} dotE = {} dotF = {} dotG = {} dotH = {} dotI = {} dotJ = {} dotK = {} dotL = {} dotM = {} sumN = {} A = verifyArgsDict[z]['mpk'][bodyKey]['egg_alpha'] for z in range(0, N): s1, s2, t, tagc = group.random(ZR, 4) s = s1 + s2 M = group.hash(verifyArgsDict[z]['m'][bodyKey]) sig1, sig2, sig3, sig4, sig5, sig6, sig7, sigK, tagk = verifyArgsDict[ z]['sigma'][bodyKey]['sig'][1], verifyArgsDict[z]['sigma'][ bodyKey]['sig'][2], verifyArgsDict[z]['sigma'][bodyKey]['sig'][ 3], verifyArgsDict[z]['sigma'][bodyKey]['sig'][ 4], verifyArgsDict[z]['sigma'][bodyKey]['sig'][ 5], verifyArgsDict[z]['sigma'][bodyKey]['sig'][ 6], verifyArgsDict[z]['sigma'][bodyKey]['sig'][ 7], verifyArgsDict[z]['sigma'][bodyKey][ 'K'], verifyArgsDict[z]['sigma'][ bodyKey]['tagk'] theta = ~(tagc - tagk) dotA[z] = sig1**(s * delta[z]) dotB[z] = sig2**(s1 * delta[z]) dotC[z] = sig3**(s1 * delta[z]) dotD[z] = sig4**(s2 * delta[z]) dotE[z] = sig5**(s2 * delta[z]) dotF[z] = sig6**(delta[z] * s1) dotG[z] = sig6**(delta[z] * s2) dotH[z] = sig7**(delta[z] * s1) dotI[z] = sig7**(delta[z] * s2) dotJ[z] = (sig7**((delta[z] * -t) + ((theta * delta[z]) * (tagc * t)))) dotK[z] = sig7**((theta * delta[z]) * (M * t)) dotL[z] = sig7**((theta * delta[z]) * t) dotM[z] = sigK**(-t * (theta * delta[z])) sumN[z] = (s2 * delta[z]) verifySigsRecursive(verifyArgsDict, group, incorrectIndices, 0, N, A, delta, dotA, dotB, dotC, dotD, dotE, dotF, dotG, dotH, dotI, dotJ, dotK, dotL, dotM, sumN) return incorrectIndices