Rivest-rc5 network security

Embed Size (px)

Citation preview

  • 7/30/2019 Rivest-rc5 network security

    1/11

    T h e R C 5 E n c r y p t i o n A l g o r i t h m

    ?

    R o n a l d L . R i v e s t

    M I T L a b o r a t o r y f o r C o m p u t e r S c i e n c e

    5 4 5 T e c h n o l o g y S q u a r e , C a m b r i d g e , M a s s . 0 2 1 3 9

    r i v e s t @ t h e o r y . l c s . m i t . e d u

    A b s t r a c t . T h i s d o c u m e n t d e s c r i b e s t h e R C 5 e n c r y p t i o n a l g o r i t h m , a

    f a s t s y m m e t r i c b l o c k c i p h e r s u i t a b l e f o r h a r d w a r e o r s o f t w a r e i m p l e -

    m e n t a t i o n s . A n o v e l f e a t u r e o f R C 5 i s t h e h e a v y u s e o f d a t a - d e p e n d e n t

    r o t a t i o n s . R C 5 h a s a v a r i a b l e w o r d s i z e , a v a r i a b l e n u m b e r o f r o u n d s , a n d

    a v a r i a b l e - l e n g t h s e c r e t k e y . T h e e n c r y p t i o n a n d d e c r y p t i o n a l g o r i t h m s

    a r e e x c e p t i o n a l l y s i m p l e .

    1 I n t r o d u c t i o n

    R C 5 w a s d e s i g n e d w i t h t h e f o l l o w i n g o b j e c t i v e s i n m i n d .

    { R C 5 s h o u l d b e a s y m m e t r i c b l o c k c i p h e r . T h e s a m e s e c r e t c r y p t o g r a p h i c k e y

    i s u s e d f o r e n c r y p t i o n a n d f o r d e c r y p t i o n . T h e p l a i n t e x t a n d c i p h e r t e x t a r e

    x e d - l e n g t h b i t s e q u e n c e s ( b l o c k s ) .

    { R C 5 s h o u l d b e s u i t a b l e f o r h a r d w a r e o r s o f t w a r e . T h i s m e a n s t h a t R C 5

    s h o u l d u s e o n l y c o m p u t a t i o n a l p r i m i t i v e o p e r a t i o n s c o m m o n l y f o u n d o n t y p -

    i c a l m i c r o p r o c e s s o r s .

    { R C 5 s h o u l d b e f a s t . T h i s m o r e - o r - l e s s i m p l i e s t h a t R C 5 b e w o r d - o r i e n t e d

    t h e b a s i c c o m p u t a t i o n a l o p e r a t i o n s s h o u l d b e o p e r a t o r s t h a t w o r k o n f u l l

    w o r d s o f d a t a a t a t i m e .

    { R C 5 s h o u l d b e a d a p t a b l e t o p r o c e s s o r s o f d i e r e n t w o r d - l e n g t h s . F o r e x a m p l e ,

    a s 6 4 - b i t p r o c e s s o r s b e c o m e a v a i l a b l e , i t s h o u l d b e p o s s i b l e f o r R C 5 t o e x p l o i t

    t h e i r l o n g e r w o r d l e n g t h . T h e r e f o r e , t h e n u m b e r w o f b i t s i n a w o r d i s a

    p a r a m e t e r o f R C 5 d i e r e n t c h o i c e s o f t h i s p a r a m e t e r r e s u l t i n d i e r e n t R C 5

    a l g o r i t h m s .

    { R C 5 s h o u l d b e i t e r a t i v e i n s t r u c t u r e , w i t h a v a r i a b l e n u m b e r o f r o u n d s . T h e

    u s e r c a n e x p l i c i t l y m a n i p u l a t e t h e t r a d e - o b e t w e e n h i g h e r s p e e d a n d h i g h e r

    s e c u r i t y . T h e n u m b e r o f r o u n d s r i s a s e c o n d p a r a m e t e r o f R C 5 .

    { R C 5 s h o u l d h a v e a v a r i a b l e - l e n g t h c r y p t o g r a p h i c k e y . T h e u s e r c a n c h o o s e

    t h e l e v e l o f s e c u r i t y a p p r o p r i a t e f o r h i s a p p l i c a t i o n , o r a s r e q u i r e d b y e x t e r n a l

    c o n s i d e r a t i o n s s u c h a s e x p o r t r e s t r i c t i o n s . T h e k e y l e n g t h b ( i n b y t e s ) i s t h u s

    a t h i r d p a r a m e t e r o f R C 5 .

    { R C 5 s h o u l d b e s i m p l e . I t s h o u l d b e e a s y t o i m p l e m e n t . M o r e i m p o r t a n t l y ,

    a s i m p l e r s t r u c t u r e i s p e r h a p s m o r e i n t e r e s t i n g t o a n a l y z e a n d e v a l u a t e , s o

    t h a t t h e c r y p t o g r a p h i c s t r e n g t h o f R C 5 c a n b e m o r e r a p i d l y d e t e r m i n e d .

    ?

    R C 5 i s a t r a d e m a r k o f R S A D a t a S e c u r i t y . P a t e n t p e n d i n g .

  • 7/30/2019 Rivest-rc5 network security

    2/11

    { R C 5 s h o u l d h a v e a l o w m e m o r y r e q u i r e m e n t , s o t h a t i t m a y b e e a s i l y i m p l e -

    m e n t e d o n s m a r t c a r d s o r o t h e r d e v i c e s w i t h r e s t r i c t e d m e m o r y .

    { ( L a s t b u t n o t l e a s t ! ) R C 5 s h o u l d p r o v i d e h i g h s e c u r i t y w h e n s u i t a b l e p a r a m -

    e t e r v a l u e s a r e c h o s e n .

    I n a d d i t i o n , d u r i n g t h e d e v e l o p m e n t o f R C 5 , w e b e g a n t o f o c u s o u r a t t e n -

    t i o n o n a i n t r i g u i n g n e w c r y p t o g r a p h i c p r i m i t i v e : d a t a - d e p e n d e n t r o t a t i o n s i n

    w h i c h o n e w o r d o f i n t e r m e d i a t e r e s u l t s i s c y c l i c a l l y r o t a t e d b y a n a m o u n t d e t e r -

    m i n e d b y t h e l o w - o r d e r b i t s o f a n o t h e r i n t e r m e d i a t e r e s u l t . W e t h u s d e v e l o p e d

    a n a d d i t i o n a l g o a l .

    { R C 5 s h o u l d h i g h l i g h t t h e u s e o f d a t a - d e p e n d e n t r o t a t i o n s , a n d e n c o u r a g e

    t h e a s s e s s m e n t o f t h e c r y p t o g r a p h i c s t r e n g t h d a t a - d e p e n d e n t r o t a t i o n s c a n

    p r o v i d e .

    T h e R C 5 e n c r y p t i o n a l g o r i t h m p r e s e n t e d h e r e h o p e f u l l y m e e t s a l l o f t h e

    a b o v e g o a l s . O u r u s e o f \ h o p e f u l l y " r e f e r s o f c o u r s e t o t h e f a c t t h a t t h i s i s s t i l l a

    n e w p r o p o s a l , a n d t h e c r y p t o g r a p h i c s t r e n g t h o f R C 5 i s s t i l l b e i n g d e t e r m i n e d .

    2 A P a r a m e t e r i z e d F a m i l y o f E n c r y p t i o n A l g o r i t h m s

    I n t h i s s e c t i o n w e d i s c u s s i n s o m e w h a t g r e a t e r d e t a i l t h e p a r a m e t e r s o f R C 5 ,

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

    A s n o t e d a b o v e , R C 5 i s w o r d - o r i e n t e d : a l l o f t h e b a s i c c o m p u t a t i o n a l o p e r -

    a t i o n s h a v e w - b i t w o r d s a s i n p u t s a n d o u t p u t s . R C 5 i s a b l o c k - c i p h e r w i t h a

    t w o - w o r d i n p u t ( p l a i n t e x t ) b l o c k s i z e a n d a t w o - w o r d ( c i p h e r t e x t ) o u t p u t b l o c k

    s i z e . T h e n o m i n a l c h o i c e f o r w i s 3 2 b i t s , f o r w h i c h R C 5 h a s 6 4 - b i t p l a i n t e x t a n d

    c i p h e r t e x t b l o c k s i z e s . R C 5 i s w e l l - d e n e d f o r a n y w > 0 , a l t h o u g h f o r s i m p l i c i t y

    i t i s p r o p o s e d h e r e t h a t o n l y t h e v a l u e s 1 6 , 3 2 , a n d 6 4 b e \ a l l o w a b l e . "

    T h e n u m b e r r o f r o u n d s i s t h e s e c o n d p a r a m e t e r o f R C 5 . C h o o s i n g a l a r g e r

    n u m b e r o f r o u n d s p r e s u m a b l y p r o v i d e s a n i n c r e a s e d l e v e l o f s e c u r i t y . W e n o t e

    h e r e t h a t R C 5 u s e s a n \ e x p a n d e d k e y t a b l e , " S , t h a t i s d e r i v e d f r o m t h e u s e r ' s

    s u p p l i e d s e c r e t k e y . T h e s i z e t o f t a b l e S a l s o d e p e n d s o n t h e n u m b e r r o f r o u n d s :

    S h a s t = 2 ( r + 1 ) w o r d s . C h o o s i n g a l a r g e r n u m b e r o f r o u n d s t h e r e f o r e a l s o

    i m p l i e s a n e e d f o r s o m e w h a t m o r e m e m o r y .

    T h e r e a r e t h u s s e v e r a l d i s t i n c t \ R C 5 " a l g o r i t h m s , d e p e n d i n g o n t h e c h o i c e

    o f p a r a m e t e r s w a n d r . W e s u m m a r i z e t h e s e p a r a m e t e r s b e l o w :

    w T h i s i s t h e w o r d s i z e , i n b i t s e a c h w o r d c o n t a i n s u = ( w = 8 ) 8 - b i t b y t e s .

    T h e n o m i n a l v a l u e o f w i s 3 2 b i t s a l l o w a b l e v a l u e s o f w a r e 1 6 , 3 2 , a n d 6 4 .

    R C 5 e n c r y p t s t w o - w o r d b l o c k s : p l a i n t e x t a n d c i p h e r t e x t b l o c k s a r e e a c h

    2 w b i t s l o n g .

    r T h i s i s t h e n u m b e r o f r o u n d s . A l s o , t h e e x p a n d e d k e y t a b l e S c o n t a i n s

    t = 2 ( r + 1 ) w o r d s . A l l o w a b l e v a l u e s o f r a r e 0 , 1 , . . . , 2 5 5 .

    I n a d d i t i o n t o w a n d r , R C 5 h a s a v a r i a b l e - l e n g t h s e c r e t c r y p t o g r a p h i c k e y ,

    s p e c i e d b y p a r a m e t e r s b a n d K

  • 7/30/2019 Rivest-rc5 network security

    3/11

    b T h e n u m b e r o f b y t e s i n t h e s e c r e t k e y K . A l l o w a b l e v a l u e s o f b a r e 0 , 1 ,

    . . . , 2 5 5 .

    K T h e b - b y t e s e c r e t k e y : K 0 ] , K 1 ] , . . . , K b ; 1

    F o r n o t a t i o n a l c o n v e n i e n c e , w e d e s i g n a t e a p a r t i c u l a r ( p a r a m e t e r i z e d ) R C 5

    a l g o r i t h m a s R C 5 - w = r = b . F o r e x a m p l e , R C 5 - 3 2 / 1 6 / 1 0 h a s 3 2 - b i t w o r d s , 1 6 r o u n d s ,

    a 1 0 - b y t e ( 8 0 - b i t ) s e c r e t k e y v a r i a b l e , a n d a n e x p a n d e d k e y t a b l e o f 2 ( 1 6 + 1 ) = 3 4

    w o r d s . P a r a m e t e r s m a y b e d r o p p e d , f r o m l a s t t o r s t , t o t a l k a b o u t R C 5 w i t h t h e

    d r o p p e d p a r a m e t e r s u n s p e c i e d . F o r e x a m p l e , o n e m a y a s k : H o w m a n y r o u n d s

    s h o u l d o n e u s e i n R C 5 - 3 2 ?

    W e p r o p o s e R C 5 - 3 2 / 1 2 / 1 6 a s p r o v i d i n g a \ n o m i n a l " c h o i c e o f p a r a m e t e r s .

    T h a t i s , t h e n o m i n a l v a l u e s o f t h e p a r a m e t e r s p r o v i d e f o r w = 3 2 b i t w o r d s , 1 2

    r o u n d s , a n d 1 6 b y t e s o f k e y . F u r t h e r a n a l y s i s i s n e e d e d t o a n a l y z e t h e s e c u r i t y o f

    t h i s c h o i c e . F o r R C 5 - 6 4 , w e s u g g e s t i n c r e a s i n g t h e n u m b e r o f r o u n d s t o r = 1 6 .

    W e s u g g e s t t h a t i n a n i m p l e m e n t a t i o n , a l l o f t h e p a r a m e t e r s g i v e n a b o v e

    m a y b e p a c k a g e d t o g e t h e r t o f o r m a n R C 5 c o n t r o l b l o c k , c o n t a i n i n g t h e f o l l o w i n g

    e l d s :

    v 1 b y t e v e r s i o n n u m b e r 1 0 ( h e x ) f o r v e r s i o n 1 . 0 h e r e .

    w 1 b y t e .

    r 1 b y t e .

    b 1 b y t e .

    K b b y t e s .

    A c o n t r o l b l o c k i s t h u s r e p r e s e n t e d u s i n g b + 4 b y t e s . F o r e x a m p l e , t h e c o n t r o l

    b l o c k

    1 0 2 0 0 C 0 A 2 0 3 3 7 D 8 3 0 5 5 F 6 2 5 1 B B 0 9 ( i n h e x a d e c i m a l )

    s p e c i e s a n R C 5 a l g o r i t h m ( v e r s i o n 1 . 0 ) w i t h 3 2 - b i t w o r d s , 1 2 r o u n d s , a n d a 1 0 -

    b y t e ( 8 0 - b i t ) k e y \ 2 0 3 3 . . . 0 9 " . R C 5 \ k e y - m a n a g e m e n t " s c h e m e s w o u l d t h e n

    t y p i c a l l y m a n a g e a n d t r a n s m i t e n t i r e R C 5 c o n t r o l b l o c k s , c o n t a i n i n g a l l o f t h e

    r e l e v a n t p a r a m e t e r s i n a d d i t i o n t o t h e u s u a l s e c r e t c r y p t o g r a p h i c k e y v a r i a b l e .

    2 . 1 D i s c u s s i o n o f P a r a m e t e r i z a t i o n

    I n t h i s s e c t i o n w e d i s c u s s t h e e x t e n s i v e p a r a m e t e r i z a t i o n t h a t R C 5 p r o v i d e s .

    W e s h o u l d r s t n o t e t h a t i t i s n o t i n t e n d e d t h a t R C 5 b e s e c u r e f o r a l l p o s s i b l e

    p a r a m e t e r v a l u e s . F o r e x a m p l e , r = 0 p r o v i d e s e s s e n t i a l l y n o e n c r y p t i o n , a n d

    r = 1 i s e a s i l y b r o k e n . A n d c h o o s i n g b = 0 c l e a r l y g i v e s n o s e c u r i t y .

    O n t h e o t h e r h a n d , c h o o s i n g t h e m a x i m u m a l l o w a b l e p a r a m e t e r v a l u e s w o u l d

    b e o v e r k i l l f o r m o s t a p p l i c a t i o n s .

    W e a l l o w a r a n g e o f p a r a m e t e r v a l u e s s o t h a t u s e r s m a y s e l e c t a n e n c r y p t i o n

    a l g o r i t h m w h o s e s e c u r i t y a n d s p e e d a r e o p t i m i z e d f o r t h e i r a p p l i c a t i o n , w h i l e

    p r o v i d i n g a n e v o l u t i o n a r y p a t h f o r a d j u s t i n g t h e i r p a r a m e t e r s a s n e c e s s a r y i n

    t h e f u t u r e .

    A s a n e x a m p l e , c o n s i d e r t h e p r o b l e m o f r e p l a c i n g D E S w i t h a n \ e q u i v a l e n t "

    R C 5 a l g o r i t h m . O n e m i g h t r e a s o n a b l e c h o o s e R C 5 - 3 2 / 1 6 / 7 a s s u c h a r e p l a c e -

    m e n t . T h e i n p u t / o u t p u t b l o c k s a r e 2 w = 6 4 b i t s l o n g , j u s t a s i n D E S . T h e

  • 7/30/2019 Rivest-rc5 network security

    4/11

    n u m b e r o f r o u n d s i s a l s o t h e s a m e , a l t h o u g h e a c h R C 5 r o u n d i s m o r e l i k e t w o

    D E S r o u n d s s i n c e a l l d a t a r e g i s t e r s , r a t h e r t h a n j u s t h a l f o f t h e m , a r e u p d a t e d i n

    o n e R C 5 r o u n d . F i n a l l y , D E S a n d R C 5 - 3 2 / 1 6 / 7 e a c h h a v e 5 6 - b i t ( 7 - b y t e ) s e c r e t

    k e y s .

    U n l i k e D E S , w h i c h h a s n o p a r a m e t e r i z a t i o n a n d h e n c e n o e x i b i l i t y , R C 5

    p e r m i t s u p g r a d e s a s n e c e s s a r y . F o r e x a m p l e , o n e c a n u p g r a d e t h e a b o v e c h o i c e f o r

    a D E S r e p l a c e m e n t t o a n 8 0 - b i t k e y b y m o v i n g t o R C 5 - 3 2 / 1 6 / 1 0 . A s t e c h n o l o g y

    i m p r o v e s , a n d a s t h e t r u e s t r e n g t h o f R C 5 a l g o r i t h m s b e c o m e s b e t t e r u n d e r s t o o d

    t h r o u g h a n a l y s i s , t h e m o s t a p p r o p r i a t e p a r a m e t e r v a l u e s c a n b e c h o s e n .

    T h e c h o i c e o f r a e c t s b o t h e n c r y p t i o n s p e e d a n d s e c u r i t y . F o r s o m e a p p l i -

    c a t i o n s , h i g h s p e e d m a y b e t h e m o s t c r i t i c a l r e q u i r e m e n t | o n e w i s h e s f o r t h e

    b e s t s e c u r i t y o b t a i n a b l e w i t h i n a g i v e n e n c r y p t i o n t i m e r e q u i r e m e n t . C h o o s i n g

    a s m a l l v a l u e o f r ( s a y r = 6 ) m a y p r o v i d e s o m e s e c u r i t y , a l b e i t m o d e s t , w i t h i n

    t h e g i v e n s p e e d c o n s t r a i n t .

    I n o t h e r a p p l i c a t i o n s , s u c h a s k e y m a n a g e m e n t , s e c u r i t y i s t h e p r i m a r y c o n -

    c e r n , a n d s p e e d i s r e l a t i v e l y u n i m p o r t a n t . C h o o s i n g r = 3 2 r o u n d s m i g h t b e

    a p p r o p r i a t e f o r s u c h a p p l i c a t i o n s . S i n c e R C 5 i s a n e w d e s i g n , f u r t h e r s t u d y i s

    r e q u i r e d t o d e t e r m i n e t h e s e c u r i t y p r o v i d e d b y v a r i o u s v a l u e s o f r R C 5 u s e r s

    m a y w i s h t o a d j u s t t h e v a l u e s o f r t h e y u s e b a s e d o n t h e r e s u l t s o f s u c h s t u d i e s .

    S i m i l a r l y , t h e w o r d s i z e w a l s o a e c t s s p e e d a n d s e c u r i t y . F o r e x a m p l e , c h o o s -

    i n g a v a l u e o f w l a r g e r t h a n t h e r e g i s t e r s i z e o f t h e C P U c a n d e g r a d e e n c r y p t i o n

    s p e e d . T h e w o r d s i z e w = 1 6 i s p r i m a r i l y f o r r e s e a r c h e r s w h o w i s h t o e x a m i n e

    t h e s e c u r i t y p r o p e r t i e s o f a n a t u r a l \ s c a l e d - d o w n " R C 5 . A s 6 4 - b i t p r o c e s s o r s

    b e c o m e c o m m o n , o n e c a n m o v e t o R C 5 - 6 4 a s a n a t u r a l e x t e n s i o n o f R C 5 - 3 2 . I t

    m a y a l s o b e c o n v e n i e n t t o s p e c i f y w = 6 4 ( o r l a r g e r ) i f R C 5 i s t o b e u s e d a s

    t h e b a s i s f o r a h a s h f u n c t i o n , i n o r d e r t o h a v e 1 2 8 - b i t ( o r l a r g e r ) i n p u t / o u t p u t

    b l o c k s .

    I t m a y b e c o n s i d e r e d u n u s u a l a n d r i s k y t o s p e c i f y a n e n c r y p t i o n a l g o r i t h m

    t h a t p e r m i t s i n s e c u r e p a r a m e t e r c h o i c e s . W e h a v e t w o r e s p o n s e s t o t h i s c r i t i c i s m :

    1 . A x e d s e t o f p a r a m e t e r s m a y b e a t l e a s t a s d a n g e r o u s , s i n c e t h e p a r a m e t e r s

    c a n n o t b e i n c r e a s e d w h e n n e c e s s a r y . C o n s i d e r t h e p r o b l e m D E S h a s n o w :

    i t s k e y s i z e i s t o o s h o r t , a n d t h e r e i s n o e a s y w a y t o i n c r e a s e i t .

    2 . I t i s e x p e c t e d t h a t i m p l e m e n t o r s w i l l p r o v i d e i m p l e m e n t a t i o n s t h a t e n s u r e

    t h a t s u i t a b l y l a r g e p a r a m e t e r s a r e c h o s e n . W h i l e u n s a f e c h o i c e s m i g h t b e

    u s a b l e i n p r i n c i p l e , t h e y w o u l d b e f o r b i d d e n i n p r a c t i c e .

    I t i s n o t e x p e c t e d t h a t a t y p i c a l R C 5 i m p l e m e n t a t i o n w i l l w o r k w i t h a n y

    R C 5 c o n t r o l b l o c k . R a t h e r , i t m a y o n l y w o r k f o r c e r t a i n x e d p a r a m e t e r v a l u e s ,

    o r p a r a m e t e r s i n a c e r t a i n r a n g e . T h e p a r a m e t e r s w r , a n d b i n a r e c e i v e d o r

    t r a n s m i t t e d R C 5 c o n t r o l b l o c k a r e t h e n m e r e l y u s e d f o r t y p e - c h e c k i n g | v a l u e s

    o t h e r t h a n t h o s e s u p p o r t e d b y t h e i m p l e m e n t a t i o n w i l l b e d i s a l l o w e d . T h e e x -

    i b i l i t y o f R C 5 i s t h u s u t i l i z e d a t t h e s y s t e m d e s i g n s t a g e , w h e n t h e a p p r o p r i a t e

    p a r a m e t e r s a r e c h o s e n , r a t h e r t h a n a t r u n t i m e , w h e n u n s u i t a b l e p a r a m e t e r s

    m i g h t b e c h o s e n b y a n u n w a r y u s e r .

    F i n a l l y , w e n o t e t h a t R C 5 m i g h t b e u s e d i n s o m e a p p l i c a t i o n s t h a t d o n o t r e -

    q u i r e c r y p t o g r a p h i c s e c u r i t y . F o r e x a m p l e , o n e m i g h t c o n s i d e r u s i n g R C 5 - 3 2 / 8 / 0

  • 7/30/2019 Rivest-rc5 network security

    5/11

    ( w i t h n o s e c r e t k e y ) a p p l i e d t o i n p u t s 0 , 1 , 2 , . . . t o g e n e r a t e a s e q u e n c e o f p s e u d o -

    r a n d o m n u m b e r s t o b e u s e d i n a r a n d o m i z e d c o m p u t a t i o n .

    3 N o t a t i o n a n d R C 5 P r i m i t i v e O p e r a t i o n s

    W e u s e l g ( x ) t o d e n o t e t h e b a s e - t w o l o g a r i t h m o f x

    R C 5 u s e s o n l y t h e f o l l o w i n g t h r e e p r i m i t i v e o p e r a t i o n s ( a n d t h e i r i n v e r s e s ) .

    1 . T w o ' s c o m p l e m e n t a d d i t i o n o f w o r d s , d e n o t e d b y \ + " . T h i s i s m o d u l o - 2

    w

    a d d i t i o n . T h e i n v e r s e o p e r a t i o n , s u b t r a c t i o n , i s d e n o t e d \ ; "

    2 . B i t - w i s e e x c l u s i v e - O R o f w o r d s , d e n o t e d b y

    3 . A l e f t - r o t a t i o n ( o r \ l e f t - s p i n " ) o f w o r d s : t h e c y c l i c r o t a t i o n o f w o r d x l e f t b y

    y b i t s i s d e n o t e d x < < < y . H e r e y i s i n t e r p r e t e d m o d u l o w , s o t h a t w h e n w i s

    a p o w e r o f t w o , o n l y t h e l g ( w ) l o w - o r d e r b i t s o f y a r e u s e d t o d e t e r m i n e t h e

    r o t a t i o n a m o u n t . T h e i n v e r s e o p e r a t i o n , r i g h t - r o t a t i o n , i s d e n o t e d x > > > y

    T h e s e o p e r a t i o n s a r e d i r e c t l y a n d e c i e n t l y s u p p o r t e d b y m o s t p r o c e s s o r s .

    A d i s t i n g u i s h i n g f e a t u r e o f R C 5 i s t h a t t h e r o t a t i o n s a r e r o t a t i o n s b y \ v a r i -

    a b l e " ( p l a i n t e x t - d e p e n d e n t ) a m o u n t s . W e n o t e t h a t o n m o d e r n m i c r o p r o c e s s o r s ,

    a v a r i a b l e - r o t a t i o n x < < < y t a k e s c o n s t a n t t i m e : t h e t i m e i s i n d e p e n d e n t o f t h e

    r o t a t i o n a m o u n t y . W e a l s o n o t e t h a t r o t a t i o n s a r e t h e o n l y n o n - l i n e a r o p e r a t o r

    i n R C 5 t h e r e a r e n o n o n l i n e a r s u b s t i t u t i o n t a b l e s o r o t h e r n o n l i n e a r o p e r a -

    t o r s . T h e s t r e n g t h o f R C 5 d e p e n d s h e a v i l y o n t h e c r y p t o g r a p h i c p r o p e r t i e s o f

    d a t a - d e p e n d e n t r o t a t i o n s .

    4 T h e R C 5 A l g o r i t h m

    I n t h i s s e c t i o n w e d e s c r i b e t h e R C 5 a l g o r i t h m , w h i c h c o n s i s t s o f t h r e e c o m p o -

    n e n t s : a k e y e x p a n s i o n a l g o r i t h m , a n e n c r y p t i o n a l g o r i t h m , a n d a d e c r y p t i o n

    a l g o r i t h m . W e p r e s e n t t h e e n c r y p t i o n a n d d e c r y p t i o n a l g o r i t h m s r s t .

    R e c a l l t h a t t h e p l a i n t e x t i n p u t t o R C 5 c o n s i s t s o f t w o w - b i t w o r d s , w h i c h w e

    d e n o t e A a n d B . R e c a l l a l s o t h a t R C 5 u s e s a n e x p a n d e d k e y t a b l e S 0 : : : t ; 1

    c o n s i s t i n g o f t = 2 ( r + 1 ) w - b i t w o r d s . T h e k e y - e x p a n s i o n a l g o r i t h m i n i t i a l i z e s

    S f r o m t h e u s e r ' s g i v e n s e c r e t k e y p a r a m e t e r K . ( W e n o t e t h a t t h e S t a b l e i n

    R C 5 e n c r y p t i o n i s n o t a n \ S - b o x " s u c h a s i s u s e d b y D E S R C 5 u s e s t h e e n t r i e s

    i n S s e q u e n t i a l l y , o n e a t a t i m e . )

    W e a s s u m e s t a n d a r d l i t t l e - e n d i a n c o n v e n t i o n s f o r p a c k i n g b y t e s i n t o i n p u t / o u t p u t

    b l o c k s : t h e r s t b y t e o c c u p i e s t h e l o w - o r d e r b i t p o s i t i o n s o f r e g i s t e r A , a n d s o o n ,

    s o t h a t t h e f o u r t h b y t e o c c u p i e s t h e h i g h - o r d e r b i t p o s i t i o n s i n A , t h e f t h b y t e

    o c c u p i e s t h e l o w - o r d e r b i t p o s i t i o n s i n B , a n d t h e e i g h t h ( l a s t ) b y t e o c c u p i e s t h e

    h i g h - o r d e r b i t p o s i t i o n s i n B

  • 7/30/2019 Rivest-rc5 network security

    6/11

    4 . 1 E n c r y p t i o n

    W e a s s u m e t h a t t h e i n p u t b l o c k i s g i v e n i n t w o w - b i t r e g i s t e r s A a n d B W e

    a l s o a s s u m e t h a t k e y - e x p a n s i o n h a s a l r e a d y b e e n p e r f o r m e d , s o t h a t t h e a r r a y

    S 0 : : : t ; 1 ] h a s b e e n c o m p u t e d . H e r e i s t h e e n c r y p t i o n a l g o r i t h m i n p s e u d o - c o d e :

    A = A + S 0 ]

    B = B + S 1 ]

    f o r i = 1 t o r d o

    A = ( ( A B ) < < < B ) + S 2 i

    B = ( ( B A ) < < < A ) + S 2 i + 1 ]

    T h e o u t p u t i s i n t h e r e g i s t e r s A a n d B

    W e n o t e t h e e x c e p t i o n a l s i m p l i c i t y o f t h i s 5 - l i n e a l g o r i t h m .

    W e a l s o n o t e t h a t e a c h R C 5 r o u n d u p d a t e s b o t h r e g i s t e r s A a n d B , w h e r e a s

    a \ r o u n d " i n D E S u p d a t e s o n l y h a l f o f i t s r e g i s t e r s . A n R C 5 \ h a l f - r o u n d " ( o n e

    o f t h e a s s i g n m e n t s t a t e m e n t s u p d a t i n g A o r B i n t h e b o d y o f t h e l o o p a b o v e ) i s

    t h u s p e r h a p s m o r e a n a l o g o u s t o a D E S r o u n d .

    4 . 2 D e c r y p t i o n

    T h e d e c r y p t i o n r o u t i n e i s e a s i l y d e r i v e d f r o m t h e e n c r y p t i o n r o u t i n e .

    f o r i = r d o w n t o 1 d o

    B = ( ( B ; S 2 i + 1 ] ) > > > A ) A

    A = ( ( A ; S 2 i ) > > > B ) B

    B = B ; S 1 ]

    A = A ; S 0 ]

    4 . 3 K e y E x p a n s i o n

    T h e k e y - e x p a n s i o n r o u t i n e e x p a n d s t h e u s e r ' s s e c r e t k e y K t o l l t h e e x p a n d e d

    k e y a r r a y S , s o t h a t S r e s e m b l e s a n a r r a y o f t = 2 ( r + 1 ) r a n d o m b i n a r y w o r d s

    d e t e r m i n e d b y K . T h e k e y e x p a n s i o n a l g o r i t h m u s e s t w o \ m a g i c c o n s t a n t s , " a n d

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

    D e n i t i o n o f t h e M a g i c C o n s t a n t s T h e k e y - e x p a n s i o n a l g o r i t h m u s e s t w o

    w o r d - s i z e d b i n a r y c o n s t a n t s P

    w

    a n d Q

    w

    . T h e y a r e d e n e d f o r a r b i t r a r y w a s

    f o l l o w s :

    P

    w

    = O d d ( ( e ; 2 ) 2

    w

    ) ( 1 )

    Q

    w

    = O d d ( ( ; 1 ) 2

    w

    ) ( 2 )

    w h e r e

    e = 2 7 1 8 2 8 1 8 2 8 4 5 9 ( b a s e o f n a t u r a l l o g a r i t h m s )

    = 1 6 1 8 0 3 3 9 8 8 7 4 9 ( g o l d e n r a t i o )

  • 7/30/2019 Rivest-rc5 network security

    7/11

    a n d w h e r e O d d ( x ) i s t h e o d d i n t e g e r n e a r e s t t o x ( r o u n d e d u p i f x i s a n e v e n i n -

    t e g e r , a l t h o u g h t h i s w o n ' t h a p p e n h e r e ) . F o r w = 1 6 , 3 2 , a n d 6 4 , t h e s e c o n s t a n t s

    a r e g i v e n b e l o w i n b i n a r y a n d i n h e x a d e c i m a l .

    P 1 6 = 1 0 1 1 0 1 1 1 1 1 1 0 0 0 0 1 = b 7 e 1

    Q 1 6 = 1 0 0 1 1 1 1 0 0 0 1 1 0 1 1 1 = 9 e 3 7

    P 3 2 = 1 0 1 1 0 1 1 1 1 1 1 0 0 0 0 1 0 1 0 1 0 0 0 1 0 1 1 0 0 0 1 1 = b 7 e 1 5 1 6 3

    Q 3 2 = 1 0 0 1 1 1 1 0 0 0 1 1 0 1 1 1 0 1 1 1 1 0 0 1 1 0 1 1 1 0 0 1 = 9 e 3 7 7 9 b 9

    P 6 4 = 1 0 1 1 0 1 1 1 1 1 1 0 0 0 0 1 0 1 0 1 0 0 0 1 0 1 1 0 0 0 1 0 1 0 0 0 1 0 1 0 1 1 1 0 1 1 0 1 0 0 1 0 1 0 1 0 0 1 1 0 1 0 1 1

    = b 7 e 1 5 1 6 2 8 a e d 2 a 6 b

    Q 6 4 = 1 0 0 1 1 1 1 0 0 0 1 1 0 1 1 1 0 1 1 1 1 0 0 1 1 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 0 1 1 1 1 1 0 0 0 0 0 1 0 1 0 1

    = 9 e 3 7 7 9 b 9 7 f 4 a 7 c 1 5

    C o n v e r t i n g t h e S e c r e t K e y f r o m B y t e s t o W o r d s . T h e r s t a l g o r i t h m i c

    s t e p o f k e y e x p a n s i o n i s t o c o p y t h e s e c r e t k e y K 0 : : : b ; 1 ] i n t o a n a r r a y L 0 : : : c ; 1

    o f c = d b = u e w o r d s , w h e r e u = w = 8 i s t h e n u m b e r o f b y t e s / w o r d . T h i s o p e r a -

    t i o n i s d o n e i n a n a t u r a l m a n n e r , u s i n g u c o n s e c u t i v e k e y b y t e s o f K t o l l u p

    e a c h s u c c e s s i v e w o r d i n L , l o w - o r d e r b y t e t o h i g h - o r d e r b y t e . A n y u n l l e d b y t e

    p o s i t i o n s o f L a r e z e r o e d .

    O n \ l i t t l e - e n d i a n " m a c h i n e s s u c h a s a n I n t e l ' 4 8 6 , t h e a b o v e t a s k c a n b e

    a c c o m p l i s h e d m e r e l y b y z e r o i n g t h e a r r a y L , a n d t h e n c o p y i n g t h e s t r i n g K

    d i r e c t l y i n t o t h e m e m o r y p o s i t i o n s r e p r e s e n t i n g L . T h e f o l l o w i n g p s e u d o - c o d e

    a c h i e v e s t h e s a m e e e c t , a s s u m i n g t h a t a l l b y t e s a r e \ u n s i g n e d " a n d t h a t a r r a y

    L i s i n i t i a l l y z e r o e d .

    f o r i = b ; 1 d o w n t o 0 d o

    L i = u = ( L i = u < <

  • 7/30/2019 Rivest-rc5 network security

    8/11

    M i x i n g i n t h e S e c r e t K e y . T h e t h i r d a l g o r i t h m i c s t e p o f k e y e x p a n s i o n i s

    t o m i x i n t h e u s e r ' s s e c r e t k e y i n t h r e e p a s s e s o v e r t h e a r r a y s S a n d L . M o r e

    p r e c i s e l y , d u e t o t h e p o t e n t i a l l y d i e r e n t s i z e s o f S a n d L , t h e l a r g e r a r r a y w i l l

    b e p r o c e s s e d t h r e e t i m e s , a n d t h e o t h e r m a y b e h a n d l e d m o r e t i m e s .

    i = j = 0

    A = B = 0

    d o 3 m a x ( t c ) t i m e s :

    A = S i = ( S i + A + B ) < <

  • 7/30/2019 Rivest-rc5 network security

    9/11

    r o u t i n e f o r t h e ' 4 8 6 c a n p e r f o r m e a c h h a l f - r o u n d w i t h j u s t f o u r i n s t r u c t i o n s . A n

    i n i t i a l a s s e m b l y - l a n g u a g e i m p l e m e n t a t i o n r u n s a t 1 . 2 M b y t e s / s e c o n a 5 0 M H z

    ' 4 8 6 S L C . A P e n t i u m s h o u l d b e a b l e t o e n c r y p t a t s e v e r a l m e g a b y t e s / s e c o n d .

    7 A n a l y s i s

    T h i s s e c t i o n c o n t a i n s s o m e p r e l i m i n a r y r e s u l t s o n t h e s t r e n g t h o f R C 5 . M u c h

    m o r e w o r k r e m a i n s t o b e d o n e . H e r e w e r e p o r t t h e r e s u l t s o f t w o e x p e r i m e n t s

    s t u d y i n g h o w c h a n g i n g t h e n u m b e r o f r o u n d s a e c t s p r o p e r t i e s o f R C 5 .

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

    p u t a n d o u t p u t b i t s . W e f o u n d t h a t f o u r r o u n d s s u c e d t o g e t v e r y u n i f o r m

    c o r r e l a t i o n s b e t w e e n i n d i v i d u a l i n p u t a n d o u t p u t b i t s i n R C 5 - 3 2 .

    T h e s e c o n d t e s t c h e c k e d t o s e e i f t h e d a t a - d e p e n d e n t r o t a t i o n a m o u n t s d e -

    p e n d e d o n e v e r y p l a i n t e x t b i t , i n 1 0 0 m i l l i o n t r i a l s w i t h r a n d o m p l a i n t e x t a n d

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

    a t e r o t a t i o n t o b e a r o t a t i o n b y a d i e r e n t a m o u n t . W e f o u n d t h a t e i g h t r o u n d s i n

    R C 5 - 3 2 w e r e s u c i e n t t o c a u s e e a c h m e s s a g e b i t t o a e c t s o m e r o t a t i o n a m o u n t .

    T h e n u m b e r o f r o u n d s c h o s e n i n p r a c t i c e s h o u l d a l w a y s b e a t l e a s t a s g r e a t

    ( i f n o t s u b s t a n t i a l l y g r e a t e r ) t h a n t h e s e s i m p l e t e s t s w o u l d s u g g e s t . A s n o t e d

    a b o v e , w e s u g g e s t 1 2 r o u n d s a s a \ n o m i n a l " c h o i c e f o r R C 5 - 3 2 , a n d 1 6 r o u n d s

    f o r R C 5 - 6 4 .

    R C 5 ' s d a t a - d e p e n d e n t r o t a t i o n s m a y h e l p f r u s t r a t e d i e r e n t i a l c r y p t a n a l y s i s

    ( B i h a m / S h a m i r 1 ] ) a n d l i n e a r c r y p t a n a l y s i s ( M a t s u i 3 ] ) , s i n c e b i t s a r e r o t a t e d

    t o \ r a n d o m " p o s i t i o n s i n e a c h r o u n d .

    T h e r e i s n o o b v i o u s w a y i n w h i c h a n R C 5 k e y c a n b e \ w e a k , " o t h e r t h a n b y

    b e i n g t o o s h o r t .

    I i n v i t e t h e r e a d e r t o h e l p d e t e r m i n e t h e s t r e n g t h o f R C 5 .

    8 A c k n o w l e d g e m e n t s

    I ' d l i k e t o t h a n k B u r t K a l i s k i , Y i q u n L i s a Y i n , P a u l K o c h e r , a n d e v e r y o n e e l s e

    a t R S A L a b o r a t o r i e s f o r t h e i r c o m m e n t s a n d c o n s t r u c t i v e c r i t i c i s m s .

    ( N o t e a d d e d i n p r e s s : I ' d a l s o l i k e t o t h a n k K a r l A . S i i l f o r b r i n g i n g t o m y a t t e n -

    t i o n a c i p h e r d u e t o W . E . M a d r y g a 2 ] t h a t a l s o u s e s d a t a - d e p e n d e n t r o t a t i o n s ,

    a l b e i t i n a r a t h e r d i e r e n t m a n n e r . )

    R e f e r e n c e s

    1 . E . B i h a m a n d A . S h a m i r . A D i e r e n t i a l C r y p t a n a l y s i s o f t h e D a t a E n c r y p t i o n S t a n -

    d a r d . S p r i n g e r - V e r l a g , 1 9 9 3 .

    2 . W . E . M a d r y g a . A h i g h p e r f o r m a n c e e n c r y p t i o n a l g o r i t h m . I n C o m p u t e r S e c u r i t y :

    A G l o b a l C h a l l e n g e , p a g e s 5 5 7 { 5 7 0 . N o r t h H o l l a n d : E l s e v i e r S c i e n c e P u b l i s h e r s ,

    1 9 8 4 .

    3 . M i t s u r u M a t s u i . T h e r s t e x p e r i m e n t a l c r y p t a n a l y s i s o f t h e D a t a E n c r y p t i o n S t a n -

    d a r d . I n Y v o G . D e s m e d t , e d i t o r , P r o c e e d i n g s C R Y P T O 9 4 , p a g e s 1 { 1 1 . S p r i n g e r ,

    1 9 9 4 . L e c t u r e N o t e s i n C o m p u t e r S c i e n c e N o . 8 3 9 .

  • 7/30/2019 Rivest-rc5 network security

    10/11

    9 A p p e n d i x

    / * R C 5 R E F . C - - R e f e r e n c e i m p l e m e n t a t i o n o f R C 5 - 3 2 / 1 2 / 1 6 i n C . * /

    / * C o p y r i g h t ( C ) 1 9 9 5 R S A D a t a S e c u r i t y , I n c . * /

    # i n c l u d e < s t d i o . h >

    t y p e d e f u n s i g n e d l o n g i n t W O R D / * S h o u l d b e 3 2 - b i t = 4 b y t e s * /

    # d e f i n e w 3 2 / * w o r d s i z e i n b i t s * /

    # d e f i n e r 1 2 / * n u m b e r o f r o u n d s * /

    # d e f i n e b 1 6 / * n u m b e r o f b y t e s i n k e y * /

    # d e f i n e c 4 / * n u m b e r w o r d s i n k e y = c e i l ( 8 * b / w ) * /

    # d e f i n e t 2 6 / * s i z e o f t a b l e S = 2 * ( r + 1 ) w o r d s * /

    W O R D S t ] / * e x p a n d e d k e y t a b l e * /

    W O R D P = 0 x b 7 e 1 5 1 6 3 , Q = 0 x 9 e 3 7 7 9 b 9 / * m a g i c c o n s t a n t s * /

    / * R o t a t i o n o p e r a t o r s . x m u s t b e u n s i g n e d , t o g e t l o g i c a l r i g h t s h i f t * /

    # d e f i n e R O T L ( x , y ) ( ( ( x ) < < ( y & ( w - 1 ) ) ) | ( ( x ) > > ( w - ( y & ( w - 1 ) ) ) ) )

    # d e f i n e R O T R ( x , y ) ( ( ( x ) > > ( y & ( w - 1 ) ) ) | ( ( x ) < < ( w - ( y & ( w - 1 ) ) ) ) )

    v o i d R C 5 _ E N C R Y P T ( W O R D * p t , W O R D * c t ) / * 2 W O R D i n p u t p t / o u t p u t c t * /

    { W O R D i , A = p t 0 ] + S 0 ] , B = p t 1 ] + S 1 ]

    f o r ( i = 1 i < = r i + + )

    { A = R O T L ( A ^ B , B ) + S 2 * i ]

    B = R O T L ( B ^ A , A ) + S 2 * i + 1 ]

    }

    c t 0 ] = A c t 1 ] = B

    }

    v o i d R C 5 _ D E C R Y P T ( W O R D * c t , W O R D * p t ) / * 2 W O R D i n p u t c t / o u t p u t p t * /

    { W O R D i , B = c t 1 ] , A = c t 0 ]

    f o r ( i = r i > 0 i - - )

    { B = R O T R ( B - S 2 * i + 1 ] , A ) ^ A

    A = R O T R ( A - S 2 * i ] , B ) ^ B

    }

    p t 1 ] = B - S 1 ] p t 0 ] = A - S 0 ]

    }

    v o i d R C 5 _ S E T U P ( u n s i g n e d c h a r * K ) / * s e c r e t i n p u t k e y K 0 . . . b - 1 ] * /

    { W O R D i , j , k , u = w / 8 , A , B , L c ]

    / * I n i t i a l i z e L , t h e n S , t h e n m i x k e y i n t o S * /

    f o r ( i = b - 1 , L c - 1 ] = 0 i ! = - 1 i - - ) L i / u ] = ( L i / u ] < < 8 ) + K i ]

    f o r ( S 0 ] = P , i = 1 i < t i + + ) S i ] = S i - 1 ] + Q

    f o r ( A = B = i = j = k = 0 k < 3 * t k + + , i = ( i + 1 ) % t , j = ( j + 1 ) % c ) / * 3 * t > 3 * c * /

    { A = S i ] = R O T L ( S i ] + ( A + B ) , 3 )

    B = L j ] = R O T L ( L j ] + ( A + B ) , ( A + B ) )

    }

    }

  • 7/30/2019 Rivest-rc5 network security

    11/11

    v o i d m a i n ( )

    { W O R D i , j , p t 1 2 ] , p t 2 2 ] , c t 2 ] = { 0 , 0 }

    u n s i g n e d c h a r k e y b ]

    i f ( s i z e o f ( W O R D ) ! = 4 )

    p r i n t f ( " R C 5 e r r o r : W O R D h a s % d b y t e s . \ n " , s i z e o f ( W O R D ) )

    p r i n t f ( " R C 5 - 3 2 / 1 2 / 1 6 e x a m p l e s : \ n " )

    f o r ( i = 1 i < 6 i + + )

    { / * I n i t i a l i z e p t 1 a n d k e y p s e u d o r a n d o m l y b a s e d o n p r e v i o u s c t * /

    p t 1 0 ] = c t 0 ] p t 1 1 ] = c t 1 ]

    f o r ( j = 0 j < b j + + ) k e y j ] = c t 0 ] % ( 2 5 5 - j )

    / * S e t u p , e n c r y p t , a n d d e c r y p t * /

    R C 5 _ S E T U P ( k e y )

    R C 5 _ E N C R Y P T ( p t 1 , c t )

    R C 5 _ D E C R Y P T ( c t , p t 2 )

    / * P r i n t o u t r e s u l t s , c h e c k i n g f o r d e c r y p t i o n f a i l u r e * /

    p r i n t f ( " \ n % d . k e y = " , i )

    f o r ( j = 0 j < b j + + ) p r i n t f ( " % . 2 X " , k e y j ] )

    p r i n t f ( " \ n p l a i n t e x t % . 8 l X % . 8 l X - - - > c i p h e r t e x t % . 8 l X % . 8 l X \ n " ,

    p t 1 0 ] , p t 1 1 ] , c t 0 ] , c t 1 ] )

    i f ( p t 1 0 ] ! = p t 2 0 ] | | p t 1 1 ] ! = p t 2 1 ] )

    p r i n t f ( " D e c r y p t i o n E r r o r ! " )

    }

    }

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    R C 5 - 3 2 / 1 2 / 1 6 e x a m p l e s :

    1 . k e y = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

    p l a i n t e x t 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - - - > c i p h e r t e x t E E D B A 5 2 1 6 D 8 F 4 B 1 5

    2 . k e y = 9 1 5 F 4 6 1 9 B E 4 1 B 2 5 1 6 3 5 5 A 5 0 1 1 0 A 9 C E 9 1

    p l a i n t e x t E E D B A 5 2 1 6 D 8 F 4 B 1 5 - - - > c i p h e r t e x t A C 1 3 C 0 F 7 5 2 8 9 2 B 5 B

    3 . k e y = 7 8 3 3 4 8 E 7 5 A E B 0 F 2 F D 7 B 1 6 9 B B 8 D C 1 6 7 8 7

    p l a i n t e x t A C 1 3 C 0 F 7 5 2 8 9 2 B 5 B - - - > c i p h e r t e x t B 7 B 3 4 2 2 F 9 2 F C 6 9 0 3

    4 . k e y = D C 4 9 D B 1 3 7 5 A 5 5 8 4 F 6 4 8 5 B 4 1 3 B 5 F 1 2 B A F

    p l a i n t e x t B 7 B 3 4 2 2 F 9 2 F C 6 9 0 3 - - - > c i p h e r t e x t B 2 7 8 C 1 6 5 C C 9 7 D 1 8 4

    5 . k e y = 5 2 6 9 F 1 4 9 D 4 1 B A 0 1 5 2 4 9 7 5 7 4 D 7 F 1 5 3 1 2 5

    p l a i n t e x t B 2 7 8 C 1 6 5 C C 9 7 D 1 8 4 - - - > c i p h e r t e x t 1 5 E 4 4 4 E B 2 4 9 8 3 1 D A

    T h i s a r t i c l e w a s p r o c e s s e d u s i n g t h e L

    a

    T

    E

    X m a c r o p a c k a g e w i t h L L N C S s t y l e