linear sieve

Upload: arifcse

Post on 30-May-2018

231 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 Linear Sieve

    1/5

    m a y b e u s e d t o e s ta b l is h a n a u t h e n t i c a t e d c o n n e c t i o n t ob e u s e d c o n v e n t i o n a l l y . T h e i n t r i n s i c s e c u r i t y r e q u i r e -m e n t s o f a p u b l i c - k e y a u t h e n t i c a t i o n s e r v e r a r e e a s ie r t om e e t t h a n t h o s e o f a c o n v e n t i o n a l o n e , b u t a c o m p l e t ee v a l u a t i o n o f th e s y s t e m p r o b l e m s i n i m p l e m e n t i n g s u c ha s e r v e r in a r e a l s y s te m , a n d t h e n e e d t o r e t a i n a s e c u r er e c o r d o f o l d p u b l i c k e y s to g u a r a n t e e f u t u r e c o r r e c ta r b i t r a ti o n o f o ld s i g n a t u r e s m a y m i n i m i z e t h i s a d v a n -t a g e. W e c o n c l u d e t h a t t h e c h o i c e o f t e c h n i q u e s h o u l db e b a s e d o n t h e e c o n o m y a n d c r y p t o g r a p h i c s t re n g t h o ft h e e n c r y p t i o n t e c h n i q u e s t h e m s e l v e s , r a t h e r t h a n f o rt h e i r e f f e c ts o n p r o t o c o l c o m p l e x i t y .

    F i n a l l y , p r o t o c o l s s u c h a s t h o s e d e v e l o p e d h e r e a r ep r o n e t o e x t r e m e l y s u b tl e e r r o r s t h a t a r e u n l i k e l y t o b ed e t e c t e d i n n o r m a l o p e r a t i o n . T h e n e e d f o r t e c h n i q u e st o v e r i f y t h e c o r r e c t n e s s o f s u c h p r o t o c o l s i s g r e a t, a n dw e e n c o u r a g e t h o s e i n t e r e s t e d i n s u c h p r o b l e m s t o c o n -s i de r t h i s a r ea .

    Acknowledgments. W e a r e i n d e b t e d t o a n u m b e r o fp e o p l e w h o h a v e r e a d d r a f t s o f th i s p a p e r a n d m a d ec a r e f u l a n d h e l p f u l c o m m e n t s , n o t a b l y : P e t e r D e n n i n g ,S t o c k to n G a i n e s , J i m G r a y , S t e v e K e n t , G e r r y P o p e k ,R o n R i v e s t, J e r r y S a lt z e r, a n d R o b i n W a l k e r .R ece iv ed S ep tem b er 1 9 77 ; r ev i s ed Ap r i l 1 9 78 ; f in a l r ev i s io n May 1 9 78R e f e r e n c e s! . B r an s tad , D . S ecu r i ty a s p ec t s o f co m p u te r n e tw o r k s , P r o c . AI A AC o m p t r . N e tw o r k S y st . C o n f . , Ap r i l 1 9 7 3 , p ap e r 7 3 -4 2 7.2 . B r an s tad , D . E n c r y p t io n p r o tec t io n in co m p u te r d a tac o m m u n i c a t i o n s . P r o c. F o u r t h D a t a C o m m u n i c a t i o n s S y m p . , O c t .1 9 75 , p p . 8 . 1 - 8 .7 ( av a i l ab le f r o m A C M , N ew Yo r k ) .3 . D i M e , W . , a n d H e l l m a n , M . M u l t i u se r C r y p t o g r a p h i cTech n iq u e s , P r o c AF I P S 1 9 7 6 NC C , A F I P S P res s, M o n tv a le , N . J .,pp. 109-112.4 . F e i s t e l, H . C r y p to g r ap h ic co d in g f o r d a ta b an k p r iv acy . R es .R ep . R C 2 8 2 7 , I B M T . J . Wats o n R es . C t r . , Yo r k to w n He ig h t s , N . Y . ,Mar ch 1 9 7 0 .5 . K en t , S . E n c r y p t io n - b as e d p r o tec t io n p r o to co l s f o r in t e r ac t iv eu s e r - co mp u te r co mmu n ica t io n , M. S . Th . , E E C S D ep t . , M . I .T . , 1 9 7 6 ;a l s o av a i l ab le a s Tech . R ep . 1 6 2 , L ab . f o r C o mp t r . S c i. , M . I .T . ,C am b r id g e , Mas s . , 1 9 7 6.6 . K en t , S . E n c r y p t io n - b as ed p r o tec t io n f o r in t e r ac t iv e u s e r /c o m p u t e r c o m m u n i c a t i o n . P r oc . F i f t h D a t a C o m m u n i c a t i o n S y m p . ,S ep t . 1 9 7 7 , p p . 5 - 7 - 5 - 1 3 ( av a i l ab le f ro m AC M, N ew Yo r k ) .7 . N a t i o n a l B u r e a u o f S t a n d a r d s. D a t a E n c r y p t i o n S t a n d a rd . F e d .I n f o r m. P r o ces s in g S tan d a r d s P u b . 4 6 , NB S , Was h in g to n , D . C . , J an .1977.8 . P o h l ig , S . A lg eb r a ic an d co m b in a to r i c a s p ec ts o f c r y p to g r ap h y .Tech . R ep . No . 6 6 0 2 -1 , S tan f o r d E lec t r o n . L ab s . , S t an f o r d , C a l i f. ,Oct . 1977 .9 . R iv es t , R . L . , e t a l. A me th o d f o r o b ta in in g d ig i t a l s ig n a tu r e s an dp u b l i c - k ey c r y p to s y s tems . C o m m . A C M 2 1, 2 (Feb. 1978), 120-126.

    9 9 9

    P r o g r a m m i n g S . L . G r a h a mT e c h n i q u e s E d i t o rA Linear S ieveAlg o r i t h m f o r F in d in gP r im e N u m b e r sD a v i d G r ie sC o r n e l l U n i v e r s i tyJayadev MisraU n i v e r s i t y o f T e x a s a t A u s t i n

    A n ew a lgor i th m i s p re sen ted for f in d in g aH p r im esb e t w e e n 2 a n d n . T h e a l g o r i t h m e x e c u t e s i n t i m ep r o p o r t i o n a l t o n ( a s s u m i n g t h a t m u l t i p l i c a t io n o fin tegers n ot l arger th an n c an b e p er form ed in u n i tt i m e ) . T h e m e t h o d h a s t h e s a m e arithmetic complexitya s t h e a l g o r i t h m p r e s e n t e d b y M a i r s o n [ 6 ]; h o w e v e r ,ou r vers ion i s p erh ap s s im p ler an d m ore e l egan t . I t i sa l s o e a s i l y e x t e n d e d t o f in d t h e p r i m e f a c t o r i z a t io n o fa / / i n te g e r s b e t w e e n 2 a n d n i n t im e p r o p o r t i o n a l t o n .

    K e y W o r d s a n d P h r a s e s : p r i m e s , a l g o r i t h m s , d a t as t ru c tu res

    C R C a t e g o r i e s : 5 . 2 5 , 5 . 2 4 , 5 . 2 9

    I . I n t r o d u c t i o nA n a l g o r i t h m i s p r e s e n t e d f o r f m d i n g a l l p r i m e s

    b e t w e e n 2 a n d n , f o r n _ 4 , t h a t e x e c u t e s i n t i m ep r o p o r t i o n a l t o n . L i k e t h e s i ev e o f E r a t o s t h e n e s , i t w o r k sb y r e m o v i n g n o n p r i m e s f r o m t h e se t {2 . . . . n } . U n l i k et h e s i e ve o f E r a t o s th e n e s , n o a t t e m p t i s e v e r m a d e t or e m o v e a n o n p r i m e t h a t w a s r e m o v e d e a r l ie r ; t h is a l lo w su s t o d e v e l o p a l i n e a r a l g o r it h m .

    T h e a l g o r i t h m d e a l s w i t h s e t s S s a t i s f y i n g S C{ 2 . . . . n } . T w o o p e r a t i o n s w i ll b e r e q u i r e d o n s u c h s e ts :P er mis s io n to co p y w i th o u t f ee a l l o r p a r t o f th i s ma te r i a l i sg r an ted p r o v id ed th a t t h e co p ie s a r e n o t mad e o r d i s t r ib u ted f o r d i r ec tc o m m e r c i a l a d v a n t a g e , t h e A C M c o p y r i g h t n ot i c e a n d t h e t i t le o f t h ep u b l i ca t io n an d i t s d a te ap p ea r , an d n o t i ce i s g iv en th a t co p y in g i s b yp e r mis s io n o f th e As s o c ia t io n f o r C o mp u t in g Mach in e r y . To co p yo th e r w is e , o r to r ep u b l i s h , r eq u i r e s a f ee an d /o r s p ec i f i c p e r mis s io n .T h i s r e s e a r c h w a s p a r t i a l l y s u p p o r t e d b y t h e N a t i o n a l S c i e n c eF o u n d a t i o n u n d e r G r a n t s D C R 7 5 - 0 9 8 42 a n d M C S 7 6 - 22 3 6 0.Au th o r s ' ad d r es s es : D . G r ie s , C o mp u te r S c ien ce D ep a r tmen t ,C o r n e l l U n iv e r s i ty , I th aca , NY 1 4 8 5 3 ; J . Mis r a , C o mp u te r S c ien ceD ep ar tmen t , U n iv e r s i ty o f Tex as a t Au s t in , Au s t in , TX 7 8 7 1 2 . 1 9 7 8 AC M 0 0 0 1 - 0 7 8 2 /7 8 /1 2 ( 1 0 - 0 9 9 9 $ 0 0 .7 5

    C o m m u n i c a t i o n s D e c e m b e r 1 97 8o f V o l u m e 2 1t h e A C M N u m b e r 1 2

  • 8/14/2019 Linear Sieve

    2/5

    T a b l e I . E x e c u t i o n o f t h e A l g o r i t h m f o r n = 2 7 .p q S

    3579

    I1133575

    2 3 (~) 5 6 7 9 10 11 122 3 5 ~) 7 9 10 11 (~2 3 5 7 9 O l l2 3 5 7 9 112 3 5 7 9 112 3 5 7 9 112 3 5 7 9 112 3 5 7 (~) 112 3 5 7 112 3 5 7 112 3 5 7 11

    13 14 15 (~ 17 18 19 20 21 22 23 24 25 26 2713 14 15 17 18 19 20 21 22 23 ~ 25 26 2713 14 15 17 18 19 ~ ) 21 22 23 25 26 2713 (~ 15 17 18 19 21 22 23 25 26 2713 15 17 O 19 21 22 23 25 26 2713 15 17 19 21 ~ 23 25 26 2713 15 17 19 21 23 25 ~ 2713 15 17 19 21 23 25 O13 O 17 19 21 23 2513 17 19 O 23 2513 17 19 23 O

    r e mo ve ( S , 0n e x t ( S , 0

    i s d e f i n e d f o r i ~ S a n d i m p l e m e n t s S : = S - { i} .i s a f u n c t i o n d e f i n e d o n l y f o r i E S s u c h t h a t t h e r e i s a ni n t e g e r l a r g e r t h a n i i n S ; i t y i e l d s t h e n e x t l a r g e r i n t e g e ri n S .

    I n o r d e r t o a c h i e v e l i n e a r i t y , t h e t o t a l t i m e s p e n te x e c u t i n g t h e s e o p e r a t i o n s m u s t b e n o w o r s e t h a n p r o -p o r t i o n a l t o n . T h u s t h i s a l g o r i t h m p r o v i d e s a n i n t e r e s t -i n g c o n t e x t f o r a d i s c u s s i o n o f s e l e c t i o n o f d a t a s t r u c t u r e s .

    2 . T h e A l g o r i t h mF o r i ~ 2 , d e n o t e b y Ip (0 t h e l o w e s t p r i m e t h a t d i v i d e s

    i e v e n l y . T h e a l g o r i t h m i s b a s e d o n t h e f o l l o w i n g t h e o -r e m .

    THEOREM 2 . I . A n o n p r i m e x ca n b e w r i t t en u n i q u e l ya sx = p k . qw h e r e ( 1 ) p i s p r i m e , p = l p ( x ) ; ( 2 ) 1 _ k ; ( 3 ) p = q o r p< l p ( q ) .

    P R O OF . B y th e u n i q u e f a c t o r i z a t i o n t h e o r e m ( s ee , f o re x a m p l e , L e V e q u e [ 5 ] ) , x c a n b e w r i t t e n u n i q u e l y a sX ~ r t l / I r ap l . . . . . p mw he re m _> 1, the p i a re pr im es , p i < p i+l fo r 1 ___ i < m,a n d m = 1 i m p l i e s n l > 1. H e n c e t h e f o l l o w i n g y i e l d s t h eo n l y c h o i c e f o r / 7 , q , a n d k o f t h e t h e o r e m :I f m = 1 , l e t p = p , , q = p l , a n d k = n l - 1 . I f m > 1 , l e t p = p ~ , q =

    p ~ . . . .. p ~ a n d k = n l . [ ]S u b s e q u e n t l y , w e w r i t e x - - - X ( P , q , k ) t o d e n o t e t h a tx i s n o n p r i m e a n d x = p , . q w h e r e p , q, a n d k h a v e t h e

    p r o p e r t i e s d e s cr i b e d i n T h e o r e m 2 .1 .A p r i m e c a n n o t b e w r i t te n a s d e s c r i b ed i n t h e t h e o -r e m , s o t h e a l g o r i t h m t o d e l e t e n o n p r i m e s f r o m S n e e do n l y p r o d u c e a l l c o m b i n a t i o n s o f ( p , q , k ) a n d d e l e t e t h ec o r r e s p o n d i n g n o n p r i m e s x = X ( P , q , k ) . T h e t r i c k i s t op r o d u c e e a c h c o m b i n a t i o n e x a c t l y o n c e , a n d i n s u c h a no r d e r t h a t t h e n e x t c o m b i n a t i o n c a n b e e f f i c i e n t l y c a l -c u l a t e d f r o m t h e c u r r e n t o n e . F o r t h i s p u r p o s e , w e u s et h e t o ta l o rd e r i n g a o n n o n p r i m e s x = X ( P , q , k ) i n d u c e db y t h e l e x i c o g r a p h i c o r d e r i n g o f th e c o r r e s p o n d i n g t r ip l e s( p , q , k ) .1 0 0 0

    DEFINITION 1. L e t x = X ( P , q , k ) a n d 5c =X(P , ~ /, k) . Th enx a & ~ p < / 5 o r

    (p = ,b a n d q < ~) o r(p = ,b a n d q = ~ / a n d k < k ) .

    T a b l e I i l l u s t r a t e s t h i s o r d e r i n g a n d a t t h e s a m e t i m ed e p i c ts h o w t h e a l g o r i t h m w o r k s . T h e r o w s g i v e s u c ce s -s i v e v a l u e s f o r p a i r s ( p , q ) , t o g e t h e r w i t h t h e c o n t e n t s o ft h e s e t S b e f o r e n o n p r i m e s w i t h t h is p a n d q a r e d e l e t ed .I n e a c h r o w , t h e n o n p r i m e s x = X ( P , q , k ) t o b e d e l e t e df o r k = 1 , 2 , 3 h a v e b e e n c i r c l e d .

    T h e a l g o r i t h m u s e s a v a r i a b l e S , w h i c h i n i t i a l l y c o n -t a in s t h e se t {2 . . . . n } a n d f r o m w h i c h n o n p r i m e s a r e t ob e d e l e t e d , a n d i n t e g e r v a r i a b l e s p , q , k , a n d x u s e d t og e n e r a t e n o n p r i r n e s i n t h e o r d e r d e f i n e d b y a . T h ei n v a r i a n t r e l a t i o n P u s e d i n t h e l o o p o f t h e a l g o r i t h m i sg i v e n i n D e f i n i t i o n 2 . I t is n o t d i f f i c u lt t o f o l l o w ; c o n d i -t i o n s ( 1 ) - ( 3 ) d e s c r i b e p r o p e r t i e s o f p , q , a n d k , c o n d i t i o n( 4 ) d e s c r i b e s t h e p r o p e r t i e s o f t h e v a l u e x u n d e r c o n s i d -e r a t i o n f o r d e l e t i o n , a n d c o n d i t i o n ( 5 ) d e s c r i b e s t h ec u r r e n t c o n t e n t s o f se t S .D E F I N I T I O N 2 .P ~ (1 )p p r im e, 4 _

  • 8/14/2019 Linear Sieve

    3/5

    d e l e t e b y e x e c u t i n g q : = n e x t ( S , q); k , x := 1 , p . q .S i m i l a r l y , L e m m a s 3 a n d 4 s t a t e t h e c o n d i t i o n s u n d e rw h i c h y = n e x t ( S , p ) 2 . W e s h a l l p r o v e t h e s e l e m m a s i nS e c t i o n 3 .

    LEMMA 1. l n v a r i a n t P i m p l i e s t h a t n e x t ( S , q ) i s d e -f i n e d , n e x t ( S , q ) < n , a n d p < l p ( n e x t ( S , q ) ) . W r i t in g y= X ( P , n e x t ( S , q ) , 1) , w e h a v e x a y .LEMMA 2 . S u p p o s e ( P a n d x > n ) . W r i t e y =X ( P , n e x t ( S , q ) , 1) . T h e n n o n o n p r i m e z i n S s a t i s f i e s x ,z O l y .LV.MMA 3. l n v a r i a n t P i m p l i e s t h a t n e x t ( S , p ) i s d e -f i n e d , n e x t ( S , p ) < n , a n d n e x t ( S , p ) i s p r i m e . W r i t i n g y= x ( n e x t ( S , p ) , n e x t ( S , p ) , 1) , w e h a v e x a y .

    LEMMA 4 . S u p p o s e ( P and x > n a n d p . n e x t ( S , q ) >n ) . W r i t e y = n ex t ( S , p ) 2 . T h e n n o n o n p r i m e z i n S sa t i s f i e sx a z a y .

    W e w r i te A l g o r i t h m 1 u s i n g g u a r d e d c o m m a n d s [1 ].T h e a r g u m e n t s n e c e s s a r y t o a s c e r t a i n c o r r e c t n e s s w i l l b ed i s c u s s e d i n S e c t i o n 3 . N o t e t h a t v a r i a b l e k i s u s e d o n l yi n a s s i g n m e n t s t o i t s el f, s o t h a t a l l r e f e r e n c e s t o i t m a y b ed e l e t e d . I t h a s b e e n i n c l u d e d o n l y t o c l a r i fy t h e r e l a t i o n -s h i p b e t w e e n p , q , a n d x .

    A L G O R I T H M 1 .{n --> 4}p , q , k , x , S : = 2 , 2 , 1 , 4 , { 2 . . . . n } ;d o x n a n d p . n e x t ( S , q ) < n ~ q := n e x t ( S , q) ;

    k , x : = l , p . ql1 x > n a nd p . n e x t ( S , q ) > n a n d ne x t (S , p ) 2

  • 8/14/2019 Linear Sieve

    4/5

    ( 1 ) P i s t r u e b e f o r e e x e c u t i o n o f t h e l o o p ;(2 ) P a n d n o t ( B I o r B 2 o r B3 ) i m p l i e s t h e d es i r ed r e s u l t ;( 3 ) { P a n d B i } S L i {P) for i = I , 2 , 3 ;( 4 ) E x e c u t i o n o f t h e l o o p t e r m i n a t e s :

    ( a ) ( P a n d ( B I o r B 2 o r B3) ) ~ t _> 0( b ) E x e c u t i o n o f S L i r ed u c es t ( f o r 1 _< i < 3 ) . U s i n g an ex t r avariable T, this means that

    { P a n d B i } T : ~ t ; S L i { t 2 , i ES , i 's p r e d e c e s s o r i s g i v e n b y m i n ( i - 1 , s ( i - 1 ) ) . T h u st h e a r r a y s a b o v e i s u s e d t o d e s c r i b e S a s f o l l o w s :2 ~ S ;f o r i E S , s( O = n e x t ( S U {n + 1}, 0;f o r i E S , i # 2 , t h e p r ed eces s o r i i s m i n ( i - 1 , s( i - 1)).A t a n y t i m e S i s th e s e t o f v a l u e s 2 , s( 2 ) , s ( s ( 2) ) . . . . . u pt o b u t n o t i n c l u d i n g t h e v a l u e n + 1 .

    T h e t h r e e o p e r a t i o n s S : = ( 2 , . . . , n ) , r e m o v e ( S , O ,a n d n e x t ( S , 0 a r e t h e nS : = ( 2 . . . . n ) : : i : = 1 ;d o i < n -- -* i : = i + l ; s( i ) : = i + 1 o d ;r e m o ve ( S , 0 :: p r e d : = m i n ( i - 1 , s( i - l ) ) ; [ p r e d i s local ]

    s ( p r e d ) := s ( i ) ;s(s( i ) - l ) : = pred ' ,

    n e x t ( S , i ) :: s( i )A p p r o a c h 3 . I n A p p r o a c h 2 , t h e v a l u e s ( 0 a l w a y s

    c o n t a i n s a n i n t e g e r r e p r e s e n t i n g a s u c c e s s o r o r p r e d e c e s -s o r j o f v a l u e i i n t h e s e t . I n s t e a d , o n e c o u l d s t o r e t h ei n c r e m e n t n e e d e d t o g e t f r o m i t o j ; t h a t i s, t h e v a l u ei - j . S i n c e t h e i n c r e m e n t w i l l i n g e n e r al b e m u c h s m a l l e r

    3 T h r o u g h o u t , I n r e f e r s t o h e b a s e 2 l o g a r i t h m .4 I n o u r I n i t i a l f o r m u l a t i o n o f A p p r o a c h 2 , w e u s e d a n e x t r a b i tv e c t o r in , w h e r e in(O d e n o t e d w h e t h e r o r n o t i E S . R e m o ve ( S , 0 s i m p l yse t in(O t o f a l se . H o w e v e r , n e x t ( S , 0 w a s a c o m p l i c a t e d o p e r a t i o n t h a ti n o r d e r t o a c h i e v e a l i n e a r a l g o r i t h m , h a d t h e " b e n e v o l e n t s id e e f f e c t "o f c h a n g i n g t h e r e p r e s e n t a t i o n o f S w i t h o u t c h a n g i n g t h e v a l u e s o fn e x t ( S , 0 f o r a n y i . D u r i n g a p r e s e n t a t i o n o f t h e a l g o r i t h m a t H a r v a r d ,N o r m a n C o h e n p r o p o s e d a t e c h n i q u e t h a t w a s f u rt h e r r e f in e d b y t h ea u t h o r s t o y i el d t h e p r e s e n t A p p r o a c h 2 . T h e d e v e l o p m e n t o f n e x t ( S ,0 i n t h e cas e t h a t r e m o ve ( S , 0 s i m p l y s e t s in( 0 t o f a l s e m i g h t b e a ni n t e r e s t in g e x e r c i s e f o r t h e r e a d e r .1002 C o m m u n i c a t i o n s D e c e m b e r 1 97 8o f V o l u m e 2 1t h e A C M N u m b e r 12

  • 8/14/2019 Linear Sieve

    5/5

    t h a n n , w e m a y b e a b l e t o r e d u c e t h e n u m b e r o f bi tsn e e d e d f o r e a c h s ( 0 . A s y m p t o t i c a l l y sp e a k i n g , t h e r e a r en / l n n o r m o r e p r i m e s i n { 2, . . . , n ) , a n d i f t h e y w e r ee v e n l y d i s t r i b u t e d t h e i n c r e m e n t t o g e t f r o m o n e t oa n o t h e r w o u l d n o t b e g r e a t e r t h a n I n n . H e n c e w e w o u l dn e e d o n l y cei l ( In In n) b i t s f o r e a c h s ( 0 i n s t e a d o fceil(In n) .

    U n f o r t u n a t e l y , t h e p r i m e s a r e n o t e v e n l y d is t ri b u t e d ,s o w e c a n n o t a s s u m e s ( 0 w i l l b e s o s m a l l . K n u t h [ 4 , p .4 0 2 ] g i ve s a t a b le o f " r e c o r d b r e a k i n g " g a p s b e t w e e np r i m e n u m b e r s . F o r p r i m e s l e s s t h a n o r e q u a l t o2 0 8 3 1 5 3 3 w e s e e t h a t t h e l a r g e s t g a p i s 2 1 0 , s o t h a t e i g h tb i t s w i l l su f f i ce f o r n _< 2 0 8 3 1 5 3 3 .

    r i t h m a n d t h e c o m p l e x i t y o f it s m a t h e m a t i c a l u n d e r p i n -n i n g s , t w o q u i t e d i f f e r e n t t h i n g s . F i n a l l y , t h e a l g o r i t h mp r o v i d e s a g o o d b a s i s f o r a d i s c u s s io n o f c o n t r o l s t ru c -t u r e s a n d p r o g r a m m i n g s t y l e - - w e s h o w e d t w o w a y s o fw r i t in g t h e a l g o r i t h m - - a n d f o r a d is c u s s io n o f t h e s e le c -t i o n o f d a t a s t r u c t u r e s .

    A c k n o w l e d g m e n t s . W e n o t e t h a t G a l e a n d P r a t t [ 2 ]h a v e d i s c o v e r e d a d i f f e r e n t l in e a r s i e v e a l g o ri t h m . T h ea u t h o r s w o u ld l ik e to t h a n k J i m D o n a h u e , D o n K n u t h ,a n d G a r y L e v i n f o r c a r e f u ll y re a d i n g e a r l i e r d r a ft s o ft h is p a p e r a n d f o r p r o v i d i n g m a n y c o n s t r u c t iv e c r it i-c is m s; a n d N o r m a n C o h e n a n d D e x t e r K o z e n f o r t h e irsugges t i ons .

    5 . D i s c u s s i o n Received June 1977; revised Apri l 1978M a i r s o n ' s [ 6 ] p a p e r , w h i c h t i e d f o r s e c o n d p l a c e i n

    t h e a n n u a l G e o r g e E . F o r s y t h e S t u d e n t P a p e r C o m p e -t i t i o n , a l s o p r e s e n t s a l i n e a r s i e v e a l g o r i t h m . T o d e l e t ef r o m S a l l c o m p o s i t e i n te g e r s w h o s e l o w e s t p r im e f a c t o ri s p , M a i r s o n ' s a l g o r i t h m f i rs t u s e s t h e s e t S t o c o m p i l ea l is t o f t h e s e in t e g e r s , t h e n s e q u e n c e s t h r o u g h t h i s l is t t od e l e t e t h e m f r o m S . T h e u s e o f a n a u x i l i a r y li st isu n n e c e s s a r y i n o u r a l g o r i t h m b e c a u s e o f T h e o r e m 2 . 1 .M a i r s o n d o e s a n e x c e l l e n t j o b i n a n a l y z i n g t h e e f f i c i e n c yo f h is a l g o r i t h m , a n d m o s t o f h is a n a l y s e s w i ll c a r r y o v e rt o o u r a l g o r it h m .

    A l g o r i t h m 1 a l s o w o r k s f o r n -- 2 a n d n = 3 ; t h ec o n d i t i o n n _ > 4 i s u s e d o n l y t o s i m p l i f y t h e p r o o f .

    D e x t e r K o z e n h a s d i s c o v e re d a n e a s y w a y t o e x t e n dt h e a l g o r i t h m t o f i n d t h e c o m p l e t e f a c t o r i z a ti o n o f a ni n t e g e r n i n n o w o r s e t h a n l i n e a r t i m e . T h i s e x t e n s i o n i sn o t s u r p r i s i n g , s i n c e S h a n k ' s [ 8 ] a l g o r i t h m f i n d s f a c t o r so f n i n t i m e O(n (1/4+0) f o r c > 0 . H o w e v e r , K o z e n ' st e c h n i q u e a c t u a l l y c a n b e u s e d t o b u i l d a t a b l e i n t im e nt h a t y i e l d s t h e c o m p l e t e f a c t o r i z a t i o n o f a ll i n t e g e r sb e t w e e n 2 a n d n ! I t i s q u i t e s i m p l e . A s s u m e a s i n g l yl i n k e d l is t is u s e d t o i m p l e m e n t s e t S , s a y u s in g A p p r o a c h2 , a n d u s e t h r e e n e w a r r a y s xp , xk , xq ( 2 . . . . . n ) . I n i t i a l l y ,le t xp ( x ) = x , f o r a l l x . W h e n a n o n p r i m e x = p k . q i sa b o u t t o b e d e l e t e d i n A l g o r i t h m 1 t h e v a l u e s p , k , a n dq a r e a v a i l a b l e , s o j u s t r e c o r d t h e m i n xp ( x ) , xk ( x ) , a n dxq ( x ) . U p o n t e r m i n a t i o n , f o r e a c h i, 2 < i < n , i fxp(O < i t h e n i i s n o t p r i m e , i ' s l o w e s t p r i m e f a c t o r is i nxp(O a n d i ts m u l t i p l i c i t y i n xk( i) , w h i l e t h e o t h e r f a c t o r sc a n b e d e t e r m i n e d f r o m xq(O i n a s i m i l a r f a s h i o n .

    T h e d e v e l o p m e n t o f t h is a l g o r i t h m e m p h a s i z e s s ev -e r a l p o i n t s . F i r s t , i t c o u l d n o t h a v e b e e n d e v e l o p e dw i t h o u t r e c o g n it io n o f a n i m p o r t a n t p r o p e r t y o f n o n -p r i m e s - - t h e i r u n i q u e d e c o m p o s i t i o n g i v e n i n T h e o r e m2 . 1 . E f f i c i e n t a l g o r i t h m s c o m e l e s s f r o m c l e v e r t r i c k st h a n f r o m a g o o d u n d e r s t a n d i n g o f p r o p e r t ie s o f t h ev a l u e s b e i n g m a n i p u l a t e d . S e c o n d l y , th e c o r r e c t n e s s o ft h e a l g o r i t h m r e s t s o n s o m e n o n t r i v i a l m a t h e m a t i c a lt h e o r e m s ( L e m m a s 1 - 4 ) . O n c e t h e s e t h e o r e m s a r e u n -d e r s t o o d , t h e a l g o r i t h m i t s e l f s e e m s q u i t e s i m p l e . W e s e eh e r e a d i s t in c t i o n b e t w e e n t h e c o m p l e x i t y o f a n a l g o -

    Ref eren ces1 . D i j k s tra , E .W . G u ard ed co m m an d s , n o n d e t e rm i n acy an d fo rm a lderivat ion of programs. C o m m . A C M 1 8 , 8 (Aug. 1975), 453-457.2 . G a l e , R . , an d V. P rat t. C G O L- -a n a l g eb ra i c n o t a t i o n fo rM A C LI S P u sers. W o rk i n g p ap e r , M .LT. AI Lab . , C am b r i d g e , M ass .,Jan u a ry 1 9 7 7 .3 . Gries, D. The mul t ip le assignment s ta tement . I E E E T r a n s .So f tware Eng . SE-2 (Ma rch 1978), 89-93 .4 . Knuth , D. The Art o f Compu ter Programming , 1Iol . 3: Sor t ing andSearching . Addison-W esley, Readin g, Mass., 1973 .5 . LeVeq u e , W .J . Topics in Number Theory , Volume 1. Ad d i so n -Wesley, Reading, Mass., 1956.6 . M a i rso n , H.G . S o m e n ew u p p e r b o u n d s o n t h e g en e ra t i o n o fp r i m e n u m b ers . C o m m. A C M 2 0, 9 (Sept. 1977), 664-669.7 . Mil ler , G.L. Riem ann 's hypothesis and tests for primal i ty . Proc.S ev en t h An n u a l AC M S y ru p . Th eo ry o f C o m p u t i n g , 1 9 7 5 , 2 3 4 -2 3 9 .8 . Shank, D. Class numb er, a theory of factorizat ion and Gener a .Proc. Symp. in Pure Mathe mat ics 20 , 1969 , Am er. Math . Soc.,Providence, R.I . , 1971 , 415--440 .

    1003 C o m m u n i ca t i o n s D ecem b er 1 9 7 8o f V o l u m e 2 1t h e A C M N u m b e r 1 2