我们从Python开源项目中,提取了以下15个代码示例,用于说明如何使用Crypto.Util.number.getRandomRange()。
def _decrypt(self, c): #(ciphertext,) = c (ciphertext,) = c[:1] # HACK - We should use the previous line # instead, but this is more compatible and we're # going to replace the Crypto.PublicKey API soon # anyway. # Blinded RSA decryption (to prevent timing attacks): # Step 1: Generate random secret blinding factor r, such that 0 < r < n-1 r = getRandomRange(1, self.key.n-1, randfunc=self._randfunc) # Step 2: Compute c' = c * r**e mod n cp = self.key._blind(ciphertext, r) # Step 3: Compute m' = c'**d mod n (ordinary RSA decryption) mp = self.key._decrypt(cp) # Step 4: Compute m = m**(r-1) mod n return self.key._unblind(mp, r)
def randQR(N): return pow(getRandomRange(1, N), 2, N)
def sign_message(modulus, base, order, key, message): while 1: w = number.getRandomRange(3, order) r = pow(base, w, modulus) % order w = number.inverse(w, order) s = w * (message + r*key) if s != 0: break return {'r': r, 's': s, 'm': message}