Viewing File: /usr/lib64/python2.7/site-packages/Crypto/Random/random.pyo
ó
Bd\Rc @ sñ d Z d Z d d d d d d d g Z d d
l m Z d d l Z e j d d
k rv e j d d k rv d d l Tn d e f d „ ƒ YZ e ƒ Z
e
j Z e
j Z e
j
Z
e
j Z e
j Z e
j Z d d l m Z m Z m Z m Z d S( sH A cryptographically strong version of Python's standard "random" module.s $Id$t StrongRandomt getrandbitst randranget randintt choicet shufflet sampleiÿÿÿÿ( t RandomNi i i ( t *c B sM e Z d d d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z RS( c C s | d k r$ | d k r$ d | _ nW | d k rH | d k rH | | _ n3 | d k ro | d k ro | j | _ n t d ƒ ‚ d S( Ns( Cannot specify both 'rng' and 'randfunc'( t Nonet _randfunct readt
ValueError( t selft rngt randfunc( ( s: /usr/lib64/python2.7/site-packages/Crypto/Random/random.pyt __init__$ s c C sR | j d k r$ t j ƒ j | _ n d | >d } | t | j t | d ƒ ƒ ƒ @S( s0 Return a python long integer with k random bits.l i i N( R
R R t newR t
bytes_to_longt ceil_div( R
t kt mask( ( s: /usr/lib64/python2.7/site-packages/Crypto/Random/random.pyR . s c G s„ t | ƒ d k r$ | \ } } } nj t | ƒ d k rK | \ } } d } nC t | ƒ d k ru | \ } d } d } n t d t | ƒ f ƒ ‚ t | t t f ƒ sÐ t | t t f ƒ sÐ t | t t f ƒ rß t d ƒ ‚ n | d k rú t d ƒ ‚ n t | | | ƒ } | d k r"d } n | d k rJt d | | | f ƒ ‚ n | } x% | | k rw| j t | ƒ ƒ } qSW| | | S( sk randrange([start,] stop[, step]):
Return a randomly-selected element from range(start, stop, step).i i i i s. randrange expected at most 3 arguments, got %ds$ randrange requires integer argumentss( randrange step argument must not be zeros% empty range for randrange(%r, %r, %r)( t lent TypeErrort
isinstancet intt longR R R t size( R
t argst startt stopt stept num_choicest r( ( s: /usr/lib64/python2.7/site-packages/Crypto/Random/random.pyR 5 s2 c C sU t | t t f ƒ s, t | t t f ƒ r; t d ƒ ‚ n | j | | d ƒ } | S( s0 Return a random integer N such that a <= N <= b.s"