stanford university · . / 4 m bits of multiplicand top view of tree product slice of tree for...

31

Upload: others

Post on 24-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

� � � � � � � �

� �� � � �� �

�� ���� ������� � ��� �������� �� � �� ������!�� !" ���� � �# ��� ���� ��� ������$ �� % &�� $����"!� � !" ����� �� � �� ������!�� �� ��� ���'���'���"� � (!����� � � ���� �� ��� � �� �! ��� ��) !���# ��� ��� # ���( � ���� ��� ��� �� % *!� �+�� � � � �� � # ��� )��( ��! �#�$ ��� � ���� $�� !" ����# ��� ��� ��,#���� � �!����� !����( ���'���'���"� !������!� %- # ��� ����� ../ 012- # ��� ��� 3./ . 3 042../ 01 3 56 27����� ��! �#��� /// 0/ 3 582../ 01 3 59 2*��� ��! �#�� ..../ 0:/2

*�(#�� ; %.� � #������� ��� �!����� "!� �# ��� �����!� !" ��! <'$�� !� ������ � ��� *�(#�� ; %.$����! �#��� � �!�=�� ���� �!� ������������!� !" ��� ��� � �# ��� �����!� % �� �� �� ������� � �� � � ������$� ��� ����� � �> !� ����(!���� !" ���� � � # ��� ��� �� � �� ������!� ?@ A�� # ����!#� (�������!� !" ������ ��! �#��� ��� ���# ����!#� ���#���!� %@ A�� # ����!#� (�������!� !" ������ ��! �#��� ��� �������=� ���#���!� %@ �������=� ����)� !" �� � %

B CD E FG H IJ K L M N H O P KJ Q FR S M L M QKJ FN L K L T U M T H VJ FN L&��� ����� � �� � ��� !" ��! �������� ����� % �� ��� W��� ���� � ��� ������ ��!�#��� ��� (����������� # ����!#� )� ��� �� ��� ���!�� ���� � ��� ���# ���� � ����+ �� ���#��� �! ��� W�� ��! �#�� %A���� ��� � (!����� � "!� ���� ���� ��� � !�� ) ����������� !" ���� !���� � �� � � ������$� ������������ )%

XY

Page 2: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

X< ���� ��� � � ���������� �

� Y �� � � � � � � � 9 � 8 � 6 � ������������� Y �� �� �� �� � 9 � 8 �6 � �������� !" Y "� "� "� "� " 9 " 8 " 6 � � ��!���� �!#����$ Y $� $� $� $ � $ 9 $ 8 $ 6% Y %� %� %� %� % 9 % 8 % 6& Y &� &� &� & � & 9 & 8 & 6' Y '� '� '� '� ' 9 ' 8 ' 6( Y (� (� (� (� ( 9 ( 8 ( 6) Y )� )� )� )� ) 9 ) 8 ) 6* Y *� * � *� * � * 9 * 8 * 6+ .4 + 8; + 8: + 85 + 8 . + 8/ +, +- +. +� +� +� +� +9 + 8 +6 � /���� �!#����0�2

@ @ @ @ @ @ @ @@ @ @ @ @ @ @ @@ @ @ @ @ @ @ @@ @ @ @ @ @ @ @@ @ @ @ @ @ @ @@ @ @ @ @ @ @ @@ @ @ @ @ @ @ @@ @ @ @ @ @ @ @@ @ @ @ @ @ @ @@ @ @ @ @ @ @ @@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @0$ 2*�(#�� ; %.? 0�2 - # ��� )��( ��! <'$�� !������� ���# �� �� ��(�� ������ ��! �#��� � ���� ��� ������! "!�� � .1'$�� W�� ��! �#�� % 0$ 2 0!� ������������!� !" ��� ��� � � # ��� �����!� %1 2323 456785 9 46:;<=7> ?@A@6578:A B C::7D E> F 9G:687DH

&�� ��� � ��� ��) �! (������� ������ ��! �#��� �� �! #�� IJK (���� �� . 3 . �# ��� ���� % *!��+�� � � � �� *�(#�� ; %.� ?" 6 L �6� 6 M " 8 L �6� 8 M $ 6 L � 8� 6 M��� �! !� % �� �� �� � ����� � �� N '$�� �# ��� ��� (�������� N ������ ��! �#��� % O!��=�� � �� ��� !���$ � �! #�� ���!���( ������,#�� ���� ���#�� ��� �#�$ �� !" ������ ��!�#��� % &�� � !��W��

P!!�� Q� � (!����� �� �#�� �� ���! ���( ������,#� � � ���� ���#��� ��� �#�$ �� !" ������ ��! �#���$) �� " %&�� !��(��� P!!�� Q� � (!����� R5S � !� � ��� � # ��� �����!� !������!� �! �T �� !=�� ��) �!���(#!#������( !" � . Q� ��� � / Q� �� ��� �# ��� ��� � ������ ���� "!�� � ������ ��! �#�� "!� ���� $�� %AT �����( � �����( !" / Q� �� �����(��"!����� � $#� �� �T �����( !=�� � �����( !" . Q� ��� "! !� ��(��!� ���) �� �#� �! #�� ? � �����( !" . Q� ��� $� �=� #���� $) �#$�������( ��� ���(�� !" ��� ��(��� !��. "�!� ��� � ! �# #� % U �����( !" N . Q� �� ��� ��� � �� . "! !��� $) N / Q� ��� .% *!� �+�� � � ���� =� #� !" ��� $����) �����( ...// �!� �#��� �! 5� V 59 L 5< 0� %� %� .// M /// V .//2 %U � ! ��W�� =����!� !" P!!�� Q� � (!����� �� � !�� �!� � !� ) #��� % &�� ��W������ $������ ���

Page 3: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

� �� � �� ����� � ����� �������� � ��� ��� ��� � XX���

� � �� � �������� �� � � � ��� � � I�� ���� ��� ������ � ��� � � I�� � !�� !�"��� ���� �# ������ � �$� � � I�� � !�� !�"��� �� ������ � �$� � � I�� �% �"� �&� � !�� !�"��� ���� �# ������ � ��$� � � ' (���"� �% �"� �&� � !�� !�"��� �( �������� �# ������ � )�$� � � ' (���"� �&� � !�� !�"��� �)�$ ��� �$ � )*� � � ' (���"� �&� � !�� !�"��� �( �������� �# ������ � )$� � � ' (���"� ���� �"����� �# ������ � )�

&�$ � ; %.? +��! ���( 5 �# ��� ��� $��� $) ���������( : $��� � �� ��� � ! ��W�� P!!�� Q� � (!����� %P!!�� Q� ��� ��� � ! ��W�� P!!�� Q� � (!����� �� �� "! !� � ? ��� ����� � ��)� (�������� N ,5����� ������ ������ ��! �#��� � � ������ ��� "!�� �� (�������� � =��)��( 0�� � !�� N ,5 - .2 �#�$ ��!" ������ ��! �#��� � ��� �����( !� ��� $�� ������� !" ��� � # ��� ��� % . " �!#��� � ���� � ���������� � �� ������!� ���� ���� " !� ) �! ��� W+�� ����� ������ �#� $�� !" ������ ��! �#��� % &��� ! ��W�� � # ��� ��� ���! ���( ����� � ���! ��� 5'$�� (�!#�� ��� ��! �#��� W=� ������ ��! �#���"�!� �� <'$�� 0#���(��� �#� $���2 �# ��� ��� � ��� W"�� ������ ��! �#�� $���( � �!���,#���� !"#���( ��! Q� �!� � �� ��� ������������!� !" ��� ������ ��! �#��� % 0.� ) "!#� ������ ��! �#��� ���(�������� �" !� ) ��! Q� �!� � �� ��� ���#� ������������!� �� #��� � �� ��� � !�� ��(��W���� ���#�$�� ���������� ��� ��(� %2+��� �# ��� ��� �� ��=���� ���! �#$�����(� !" : $��� � � ��� ��> ����� (�!#�� ������( � �!� � !� $�� %P!!�� Q� � (!����� ��� $� #��� � ��� ������ #���(��� !� ��! Q� �!� � �� ��� �#� $��� 0��� � !����(��W ���� $�� !" � ���� ��� � ���(�� !" V5/ 2 � ��� ��,#���� ���� ��� �# ��� ��� $� ������ � ��� � /�! ��� ��(�� �! "!�� "!#� �!� � ��� (�!#�� !" : $��� ���� % &! �!�T � ��� #���(��� �#�$ ��� � ��� N '$�� �# ��� ��� � #�� � �! $� ������ � ��� !�� !� ��! 0��!� �� ��� � # ��� ���� �! ��� �"� % &�$ � ; %. �"�!� U�����!� R.S � �� ��� ���!���( ��$ � !" ��� ��(�� � ���#����!�� !" ��� ����� �# ��� ��� $��� %�� #���( &�$ � ; %.� ��� �# ��� ��� �� ������ �!��� ���! :'$�� (�!#�� � ��� !�� $�� ������ $ ������(�!#�� % �" ���� ������ $�� �� � .� �#$������!� �� ��������� � ����� �� ������� "!� � �����( !" . Q� %1!������ ��� ���� !" #���(��� 0� %� %� � !����=�2 �#�$ ��� 2 �� � ��������� ��� �# ��� ����� 0� $ ���2 ��� � L �/38 M �/39 M 4 4 4 � 8 M �6 �� ����(�� � # ��� ���5 ��� $ ����) � !��� "! !� ��( �6 % 0&��� ���� ��� !" ��� � !��� �� ��$�����)� $#� � ����!�� ��� ��T�� � ��� ������� �! �� %2 &�� !����!���� ����!� �� ����=�� "�!� � # ��� ��� $��� � 8�6 4/5 ��� 6'� ��� $ ��� ������ � ��� � 0��! % .� )"!#� ����!�� ��� �!���$ � ? � 8�6 4/ � �) $ � ������ // %/ � / .%/ � ./ %/ � !� ..%/ % &�� W��� ��! �������� �����(��"!����� 2 "!� // %/ � ��� ������ ��! �#�� �� / 2 "!� / .%/ � ��� ������ ��! �#�� �� -� % &��!���� ��! ����� ��� � �����=�� �� ��� $ �(��� ��( !" � �����( !" . Q� % &�#� � �� �#$����� 5� 0� %� %� ���V5� 2 "!� ��� ���� ./ %/ � ��� �#$����� � "!� ��� ���� ..%/ % O �(��� !���� ����!�� � #�� ���!(��0����� ���� �#$������!� ��� ! ��#���� % &�� ��+� � �(��� ����!� �� "!#�� "�!� �# ��� ��� $��� ���9� 80��� ��$ �� � � 8 �� ��� ������ $��2 % ��� ����!� !� ��� � # ��� ����� ��� ; ��� �� ��� ��(� �W����� !"� 8�6 4/ % &�#� � �� # ��� ��� ��$ � �� ��� 9� 8 � $#� ���# ���( ����!�� ��� ���"��� $) 5 0� # ��� ��� $);2 % &�#� � �#�� !�� ��� �# ��� ��� ��� // ./ %/ 2 ��� W��� ����!� 0./ %/2 �!# � ������ ��� ����� !" ������( !" . Q� ��� �#$����� 5� � � �� � ��� ���!�� ����!� 0// %.2 �!# � ������ ��� ��� !" � �����(!" . Q� ��� ��� � % P#� ��� ���!�� ����!� ��� � ��� � !� ��(��W����� � !��� 5 $��� ��(��� ���� ���W��� ����!� 0; ��� �� � !�� ��(��W����2 % &�#� � ; 3 � V 5� L 5� � ��� =� #� !" ��� �# ��� ��� �0// ./ %/2 % &��� � �) ���� �! ��� ������ �! $� � !� !" �!�T �! ��� � ) W�� 5� � ��� � ������ � ��

Page 4: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

.// ���� ��� � � ���������� �

�� �� � � � � � � � � �� �� � � � � � � �� �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � �� � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � �

*�(#�� ; %5 ? ��������!� !" W=� ������ ��!�#��� �� < 3 < � # ��� �����!� � #���( � ! ��W�� P!!�� Q�� (!����� 0!� ) "!#� ������ ��! �#��� ��� (�������� �" ��� ������������!� �� ���������� �! ��! Q��!� � �� ���2 %�� �� ���� ��! ����!�� ���� ��,#���� ������ ���� !�� % P) �� �� ����!� !" ��� ��$ � � �!��=�� � !� )!�� ����!� 0������!� !� �#$������!� 2 �� ��,#���� "!� ���� �� � �# ��� ��� $��� % &�#� � #�� !" ���� (!����� ���#��� ���� "!� �� N '$ �� � # ��� ��� !� ) N ,5 ����!�� � � $ � ��,#���� "!� ��) � # ��� ���$�� ������� %*!� ��� ��(���� !���� ����!� � ��� �� #���(��� �# ��� ��� � ��� ����!� �#�� $ � ����=�� � ��� � �����( !� ������ 0��! % *!� �� ! �� �#� $�� !" � # ��� ��� $��� � ��� ��� ����!� � � $ � ��W��� $)/�/38 4�/39 % *!� �� �=�� �#�$ �� !" �# ��� ��� $��� � /9 - . ����!�� ��� ��,#���� � ��� ��� ����!�$ ���( ��W��� $) // 4�/38 %- # ��� ���� �� ��! Q� �!� � �� ��� "!�� � �) $ � #��� ������ ) �� ��� � (!����� % �� �� �� ���� ���� ��(���� !���� ����!� �� ������ ���� $) �/38�/39�/3� 0�! ������(2 "!� �� �=�� �#�$ ��!" � # ��� ��� $��� � ��� �/38�/38 4�/39 � � ��(� �+������ (�!#� � "!� ! �� ��0�� � # ��� ���� 2 � %( %��#�� !�� � L

V .% �� ��! Q� �!� � �� ��� � � L .... 4 4 4 ..% &�� !���� !���� ����!� 0.. 4/2 �� V� 2� !���� ����!�� 0.. 4.2 ��� V/ � ��!�#���( ��� ������� ���# � 0V� 2 %�� �� � �� �����( ��� ����!�� � ��� 5� ���� �� ��� � ) � .'$�� �"� �� �"� !" � % &�#� � �# ��� �������#�� $� �����(�� �! $ � (���� ������ ) � ��� ���� ��� �! � ��� � � !��� !� ���"��� !�� $ �� % A#$������!��� �� � �� ����� $) (����( ��� �!� � �� ��� !" � 0� %� %� ��� . Q� �!� � �� ���2 ��� ���� �����( �. � ��� ������� �! ��� ��� � � !��� % �� �� � �� �����( ���� � ��� � �� 8 ��� $ � #��� �� � �#$�����!��������!� ���� � � $ � ����� �! ��� 6'� !" ��� ������ ��! �#�� % �" $ �� � �� 8 L / � �! �#$������!� ���� �� "!� � ��� �����( / ����(�� �!����( % .� ��� !���� ���� � �" $ �� � �� 8 L .� ���� �#$������!��� �� �� "!� ��� ��� ��!� �� ��! Q� �!� � �� ��� �� � ��"!�� �� $) �����( . �! ��� 6'� % . " �!#��� ��� ��� ��! Q� �!� � �� ��� � ��� ��(� $�� �#�� $ � �+������ �! ��� "# � ���� !" ��� W�� ���# � � ����!� � $) ��� ��� �����=� ���� � �� *�(#�� ; %5 %�� *�(#�� ; %5 � �" � ��� � ��� <'$ �� #���(��� �#�$ ��� � ���� "-�" 6 ��� ������ ���� $) ��� � 8�6 4/����!� !� � % A���� 5� �� � �!���$ � ����!� � "- � �) $� �W����� ��� ", �� ��� ��(� ��� �+�����!� %�" � �� ����!� �� ������ ���� � ���� "- �� ��� ��(� ��� "- L ", % &�� W"�� ����!� �� ������ ���� $)// 4�.5 � ��)� � � !����=� � #����"��� ����!� 0-� !� -/2 % �" � ��� � ��� <'$ �� ��! Q� �!� � �� ����#�$ ��� � ���� "- L ", ��� ��� ��(� ��� �+�����!� % U �! � �! W"�� ����!� 0'. V ' 6 2 �� ��,#���� %&�� ", M $ , M %, M & , ���� � ������ �! ��(��W���� ) �������� ��� �������� ��,#���� "!� ������ ��!�'#�� ������!� % &���� ��� .1 �#�� ���� � % � �� � ��� "# ������!� !" ����� ���� � ���# �� �� ����!����� ��! �#�� "!�� ���!�� � + 8� V +6 � ��� � �� �� � �� ������!�� ��� � !���$ � % P) ���!(��0 ��(��� ", M $, M 4 4 4 ���� � ��� ��(� ������W��� ��� (��������( ��� ��(� !(�� �������� )� ��� ������!�� �#� � ��( �������� "!� �#�� ���� � ��� $ � � �� ������ %&�� ������!�� (��� �� �) �� �� � �� �����( ��� � !��W�� P!!�� Q� � (!����� �!������ !" "!#� (���� ?��! (���� "!� ���! ���( ��� :'$�� � # ��� ��� ��� ��! (���� "!� �� �����( � !� 5� %

Page 5: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

� �� � �� ����� � ����� �������� � ��� ��� ��� � ./ .�� � � ��

� ��� ��� � � � �� � �������� � � � ��� � � � �$� � � � �$� � � � ��$� � � � ��$� � � � ��$� � � � ��$� � � � ��$� � � � )�$� � � � )�$� � � � )�$� � � � )�$� � � � )�$� � � � )$� � � � )$� � � � )�

&�$ � ; %5 ? ++�����!� !" ��� � !��W�� P!!�� Q� � (!����� �! :'$ �� � # ��� ��� (�!#� ���! ���( % &�����,#���� (�������!� !" �:� � � ���� �� �!� �� ���=�� �� ��� !������!�� �� ��� 5'$�� � # ��� ������! ���( % 01!� ���� � ��� &�$ � ; %. %2U� �+�����!� !" ��� � ! ��W�� P!!�� Q� � (!����� ��=! =�� �� ���! ���( !" ����� $��� �� � ��� �� �� � �+�� ����( "!#� �# ��� ��� $��� % &��� ����� � �!# � (������� !� ) N ,: ������ ��! �#��� %O!��=�� � ��� ���! ���( ��#�� ��$ � �� &�$ � ; %5 ��,# ���� ��� (�������!� !" � ����� ��� ���# ��� �'���� ���� � � ���� �� �!� �� ���= �� �� (��������( �� ��� ��� �# ��� ����� % &�#� � � !�� ���������� � �� ������!�� #�� !� ) ��� 5'$�� ���! ���( %������� �

A#��!�� ��� �# ��� ����� 0� 2 �� �! $� � # ��� ��� $) �� #���(��� � ?// .../ ./ ..

&��� �� � ����� � 5:4 %�� #�� � !��W�� P!!�� Q� � (!����� 0&�$ � ; %.2 ��� ���#� � ���� ���� �# ��� ��� �� � $ ����)����(�� � ��� � !��� ��������� $) 0%2 % �!� ��� �# ��� ��� �#�� $� ���!� � !��� ���! !=�� �����(:'$�� ��(� ���� ��� ����!�� ������ ���� "!� ���� ��(� ��� % �!�� ���� ��� W��� ��(� ��� ��� ���� � ��� /� �! ��� ��(�� !" ��� $����) � !��� % &�#� � �� ��� �$� ���� ��(� ��� �� "! !� � ?

0420;2

0:2052

0.2/ / . . . / . / . . %/

� �� � ��(� ��� 0.2 �� ��"������� �! ��� !��(��� $����) � !��� � ��(� ��� 052 �� � ��� ��� �� � ������� �� ��� �% &�#� � ��) ��(� ��� 052 ����!� !� � 0��� �# ��� �����2 �#�� $� ��� �� $) � "���!� !""!#� % A�� � �� )� ��(� ��� 0:2 �� "!#� ��� �� � !�� ��(��W���� ���� 5 � ��� .1 ��� �� � !�� ��(��W�������� .%

Page 6: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

./5 ���� ��� � � ���������� �

�!� � $) #���( ��� ��$ � ��� ��� ��( �� ����!������ � �� (�� ��� "! !� ��( ����!�� ?A�(� ��� �#�$ �� P ��� U ���!� A�� � "���!� ���# �

0.2 ../ V� . V�052 ./ . V� ; V;�0:2 ./ . V� .1 V .1�0; 2 ... / 1; /042 // . -� 541 -541�&!�� ����!� 5:4��!�� ���� ��� ��$ � !" ����!�� ��� $ � ��� � �W�� "!� ��� W��� ��(� ��� 0� �38 � ��)� /2 ��� ��� ��� ��(� ��� 0��������( !� � ������ ����� �� �� �=�� !� ! �� �#�$ �� !" $��� �� ��� �# ��� ���2 %U �! �!�� ���� ��� ����!�� �����W�� �� ��� ��$ � ��� ����� ������ !" !�� ��!���� % &�#� � ���W=� ���# � ����!�� �� ��� �+�� � � � �) $ � �#� � �� ���# ����!#� ) #���( ��� ����)'��=� ������!�������,#�� ����#���� �� ��� ��� ������� % �1 232� � >8AG ��� > 7: ?@A@657@ 456785 9 4 6:;<=7>

U�!���� ��) �! (������� ������ ��! �#��� �� �! #�� ��� � % *!� �+�� � � � ��� < 3 < �# ��� �����!�!" * �(#�� ; %. ��� $ � �� � �� ����� #���( "!#� 541 3 < ��� � � � ���� ���� ��� ���"!�� � ; 3 ;�# ��� �����!� � �� ��!� � �� *�(#�� ; %: %�� *�(#�� ; %: � ���� ;'$�� =� #� !" ���� � �� ��� !" ��� ���� 0� M � 2 0� � � 2 0� M � 2 ���0� M � 2 �� �!���������� �! "!�� �� <'$�� ������� ���! ��� 541 ����) ��� ��$ � % &�� ����)�!������ ��� �!����� !����( <'$ �� ��! �#�� % &�#� � "!#� ��$ �� ��� ��,#���� �! ��� # ����!#� ) "!����� ��! �#��� ? � �� M � �� M � �� � ��� � �� % �!�� ���� ��� � �� ��� ��� � �� ���� � ��=� ���> ! ��� ��(� �W����� 2 ��#� � !� ) ����� ���� � � #�� $ � ����� �! "!�� ��� ��! �#�� %&�� �#�$ �� !" �������(�� ������ ��! �#��� ���� �#�� $ � �#� � �� �� ��"����� �! �� ��� � ����+���(��5 ��� �#�$ �� !" �� ���� ���#�� �! ��� �'I ���� %U (����� �0���!� !" ��� ��� ����� � �� ��!� � �� *�(#�� ; %; R:4S "!� =���!#� � # ��� ��� ����)� !"#� �! 1; 3 1; % �� ��� ����� ���� � 541 ������ ��! �#��� ��� (�������� % P#� #�!� �������(��( � ���� �+��#� �! #� � ���(�� !" ��� � ����+ �� : .% &�$ � ; %: �#� � ���0�� ��� ������ ��!�#��� � ����+ %&���� ������ ��!�#��� ��� $ � =����� �� ��> ����� �! #� �� !" ���(�� % �!� �� ��� ����) �!����#�� ��� �� � �� ������!�� !" �! #� � ���#���!�� %1 232� 456785 9 46:;<=7> � @;<=78:A

U � � ����!��� �� ��� ��� ������� � ��� �!� � !� ����!��� �� � !" ��� �#� � ��� ���#���!� ����'��,#�� �� �! ���#�� ��� N ������ ��! �#��� �! ��! ������ ��! �#��� % U ����) !!T ����� �� ����#��� �! ��� ����� ��! ��! �#��� % .�� !" ��� W��� ���#���!� �� � �� ������!�� ��� ��� �� ��� ����R:1S � � ���� ����) ��=� ������ ��� #��� �! ���#�� : $ ��� !" �! #� � ���(�� �! 5 $��� 0* �(#�� ; %42 %�� (����� � ��� �#� $�� !" ��� ��,# ���� ����) ��=� ����� �=� � 0� 2 �� � �� ��� ���� �! ���#��

Page 7: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

� �� � �� ����� � ����� �������� � ��� ��� ��� � ./:� � < $�� !� ������ � �� � � (��� � �

�� ��� �� ���� � ��

�� � ���� � ��

�� ����� � ��

�� ��� �� ����� � ��� .1 $�� ��! �#��� ��

; ������ ��! �#������������

�������(��( ���# ���� � ����+ ���(��!" ����� %���

*�(#�� ; %: ? �� � �� ������!� !" < 3 < �# ��� �����!� #���( "!#� 541 3 < �.- � � � ���� ���� �.-� ��"!�� � ; 3 ; �# ��� �����!� %

&�$ � ; %: ? A#� � ��) !" � �+��#� ���(�� !" ��� ������ ��! �#��� � ����+ "!� ��� =���!#� ������ (�������!� ����� �� � ���� N �� ��� � # ��� � ��0� %��� � ���&� �# �&� � �����������! J �(�� �# � ���

'"&�� � ���� !� � �� �� �� �� �� �� ��� � � � !�� !��� �IJK ����� � � �� �� �� �� �� �� ��� � � � !�� !��� ���� � ����� ) � � � �� �� �� �� �� � �� � � � !�� !��� ���� � ���� � ) � � � � � � �� �� ��� ������ ����& �� �!�����&� ����� � � �� �� �� �� �� ��

���(�� �! 5 �� ?

� 4L !(�!9 " 5 #$ L !( 8 %� " 5 #$ M

� ���� �� ��� �#�$ �� !" !� ������ 0����!��2 �! $� �#� � �� ��� � �� ��� �#� $�� !" 1AU ���(��!" �� �) ��,# ���� �! ��! �#�� ��� ���� !" �! #� � !������� % *!� < 3 < �# ��� �����!� #���( . 3 .�# ��� ��� (�������!� � L < ��� "!#� �=� � !" ����)'��=�'������ ��� ��,# ���� � �� � #������� ��*�(#�� ; %1 % *! !� ��( �� ��!� ��� �#� $�� !" �=� � =���#� =���!#� �! #� � ���(��� ?

Page 8: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

./; ���� ��� � � ���������� ��� � �� ���� ������ ������

�"& ��"����!� �� ��������� ��(�� ��� "�

�� � ���

�� � ��� � � �� � � ��

*�(#�� ; %; ? � ���( �.- � "!� =���!#� �# ��� ��� ����)� "!� #� �! 1; 3 1; �# ��� �����!� % +����.- �� � ; 3; � # ��� ��� � ��� <'$�� ��! �#�� % +��� ������( � ���������� ��� <'$ �� ������ ��! �#��0 L : .2 %

1! #� � O ��(�� 0� 2 �#� $�� !" ��=� � 0� 2: .; 5; N � 1 :1 N � X ;X N � .: 4.: N � .X 1.X N � 5< Y5< N � ;5 <;5 N � 1: X0 ���� RXS �!���� ��� ���� ���� � 0N M� 2 �!#���� %� &��� �!#���� �� � �!�$����!��� ����!�T� ��� � !#��#�� ��� N 0� 5� V .2 ���#�� % &�� � !#��#�� ��������� � $ ����) �#�$ �� ���! ���(��� �#� $�� !" !��� ������� �� ��� ���#�� % &�� ����) ��=� ����� �� ��� ��������( �� ��� ���� ��� 0: � 52 �!#���� %&��� � ��� !" �!#����� ��� $��� �+������ �� �� �+�� ��� ����� � R5XS ���� ��!� � ��� �� ��� ����

Page 9: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

� �� � �� ����� � ����� �������� � ��� ��� ��� � ./4m bits of multiplicand

Top view of tree

Product

Slice of tree for middle bit

of tree

n bits

n multiples

Entries from tree

2 bits

2 m bits

product

CPA

*�(#�� ; %4 ? �� ��� ���� %

��� ��� 0���� ����� � �! $ � ������ ����� % &�� (����� �0�� �!#����� ��T� ��=��� �#������=� )���(���� ���#� �! #� �� ��� ��! �#�� ����� ���(���� �#� % 1!#����� !" ���� �)� � ��� ���!��� �� ?0%��8 M %��9 M 4 4 4 M % 6 M �2

�!#����� � � ���� � �� ��� �#�$ �� !" ���#� �! #� �� � % � �� ��� �#�$ �� !" ���#� $��� �� ��� �! #� �!" ���(�� 5 � � ��� � �� ��� �#�$ �� !" $��� �� ��� !#��#� �!�� % &�� �#((����� �� � �� ������!�"!� �#�� �!#����� �� � ��� % *!� �+�� � � � � 04 � 4 � ;2 �!#���� ��� $ � ��!(��� � �� �� .� 3 ;��� � � ���� ��� ��� ������� ���� ��� ������� �� ��! ��> ����� �! #� �� !" 4 $��� ���� % �!������ ��� � �+�� #� �#� !" ��� ��! �! #� �� �� .4 � � ���� ��,#���� �+��� ) ; $ ��� "!� ��� $ ����)������������!� % * �(#��� ; %Y ��� ; %< � #������ ��� ��� �� � �� ������!� !" ��� 04 � 4 � ; 2 �!#������� ��!� ��=��� (����� �0�� �!#����� % &�� #�� !" ��� 04 � 4 � ;2 �!#���� �! ���#�� ��� ������ ��! �#��� �� � .5 3 .5 �# ��� �����!� �� ��!� � �� *�(#�� ; %X � � ���� ��� ������ ��! �#��� ���(�������� $) ; 3 ; � # ��� ���� %7��� � �!� �����!�� � � ���� ��� � �#$ � ��� !" ���� � �!#����� � ��=� $��� ����! �#��� $) ��> �T �R..S % &���� �!� �����!�� ��� ���������=� ) ����������0�� $) ��� ��� !" ���#�� ��� !#��#�� �������=�� �� �� ������!������!� $������ ��W����� ���T�(�� �� � !��'��� ����!�� ����) !" �!� ����'�!�� % &���� �!� �����!�� ��� ���� �! $� � !�� �� ����� ���� ���� � �!#����� % *!� � !�� ����� �!� �� �� ����������( ����!��� � ��� ������ �� ��"����� �! ��> �T � Q� ����� � R..S %

Page 10: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

./1 ���� ��� � � ���������� �

*���� ��=� !" 1AU

� � � � � � � � � � � � � � �

� � � � � � � � � � � � �

� � � � � � � � � � �

� � � � � � � � �

� � � � � � �

� � � � �

� � �

A��!�� ��=� !" 1AU� � � � � � � � � � � � � � �

� � � � � � � � � � �

� � � � � � � � �

� � � � �

� � �

&���� ��=� !" 1AU� � � � � � � � � � � � � � �

� � � � � � � � �

� � � � �

� � � �

� �

� �

*!#��� ��=� !" 1AU� � � � � � � � � � � � � � �

� � � � � � � � �

� � � � � � �

� �

���� ��=� ?1���)'�!!T'U����

� � � � � � � � � � � � � � �

� � � � � � � � � � �

*�(#�� ; %1 ? �� ��� ���� ���#���!� !" < 3 < � # ��� �����!� � #���( ����) ��=� ������ 01AU 2 %

Page 11: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

� �� � � ������ � ��� ������� �� � ��� ��� ��� � ./Y0�2 U����( ��! �! #� �� � ���� 4 $��� �� ���(�� �(�=�� ��� � �+��#� ���# � !" .4 � ���� �� �����'�����$ � $) ; $��� 0��� ��� !#��#�� !� �!#����2 %< ; 5 .

�����

�����

� � � �04 �4 �;20$ 2 *!#� 04 �4 �;2� ��� #��� �! ���#�� ��� W=�!� ������ 0���� < $��� � ���2 �! ��! !������� �� ���� ��� $� ����� #���( ����) !!T ����� %�!�� ���� � ��(��� ��� !" ��� !� ����� � ���� � W=�!� ������ ��� � ��)� ���#��� �! �! � !�� ���� ��!!� ������ %

� � � � � � � �

� � � � � � � �

� � � � � � � �

� � � � � � � �

� � � � � � � �

� � � � � � � �

� � � � � � � �

*�(#�� ; %Y ? &�� 04 M 4 M ;2 ���#��� ��� W=� ���#� !� ������ �! !�� !������ %B C� �J M QKJ FN L K L T �K QJ FK I � QN T H VJ O U M T H VJ FN L1 2� 23 F �59@ : � �D6@@ �6@@>

&�� �� ��� ���� ��� $ � �!#� �� � ��� �������=� ������,#�� �! ��!=��� �!�� �W����=� �� � �� ����'��!�� % U $���� ��,# ���� ��� "!� �#�� �� � �� ������!� �� � (!! � ���� �! ��!�� ������ ������ ���# �� %�� ���� ���� (!! �� � ���� ���� �� �!�� �!� ��� ������!�� �� �) �! ��� �!� �#����!� % U � �� ��� ��� �� � !�� ����� ���� � ��� +�� � ���� 0*�(#�� ; %./2 � ���!� � ����� �� �� $) ��� � ) ��!=����( �"����$��T ���� "�!� ��� !#��#� !" �� �+ �����( ���!��� ����# �� ���� �! �� ������!�� ���#� %&�#� � �� �+ �����( ���� �� �) �� �!� ��������� 0$#� "��� �� ��,#���� ���� ��� ��������� $) !��2 % ��� (�=�� !(�� ���� � �� �+�����( ����!�� ���� �� ��� ���� $) ��� ���� � ���� � �! ���"!�� � ��� ����!�� "#����!� %� �� !" �� �� ���� ��� ��(��W���� ) ���#�� �� � �� ������!� �!��� �" ����!������ ���� �� ��T�� ������(� 0��� 1������ 12 %

Page 12: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

./< ���� ��� � � ���������� �

� � �

� � �

� � � �

� � � �

� � � �

� � � � � � � � �0: � 52 0Y � :2 04 � 4 � ; 2� � � � �

� � � � � � � �

� � � � � � � �

� � � � � � � � � � �05 � 5 � 5 � : � 42 0: � : � : � : � 12*�(#�� ; %< ? A!� � (����� �0�� �!#����� "�!� A���0� R5XS %

1!������ ��� !� �����!� !" �� N�$�� � # ��� ��� !� �� � �$�� �# ��� ����� 2 ���� �� � �� ���#�� N������ ��! �#��� � ���� !" � $��� � �! ��! ������ ��! �#��� � ���� ��!��(��� ��� ������� �! "!�� ����( � 0��!�#��2 ���# � % &���� !" ��0� � ���#� ) ��=� �!� � $��� !" ����� ������ ��! �#�� ���� "!�� ���� � �'I ���(�� ��� ��,#���� % �!�� ���� "!� $ !�� !��!���� ��� ��(��!���� ��! �#�� $��� ������� ��0� �� ��� %�!� �� ��� ���� !" ��� ��� � � �� ��� ���� ��� ��� � ��,# ���� "!� � # ��� �����!� �� ?

� � � � 5 - 17U 05� $���2 M� ���� � �� �� #� �� (��� �� �)� % +��� �'I ���(� ��� 5 ����� (���� 0�� IJK��� �� $!�� �#� �������) 2 % &�� ��I 05� 2 ���� ���������� ��� �#� $�� !" #��� (��� �� �)� "!� � ����) !!T ��������#��#�� � ��� !� ����� ��0� 5� $��� % U ��#� ) ����� ��� ���� ���(�� �� ��� ��� ��(��W ���� $��� ���� � �� ���� ��� � ��� � $ ��� � ����) ���! ��� ��I "�!� ����� � !����!�� ����=�� ��� )% &�#� � �����I ���� �� �!� �� ��� �!����=���=� %&�� "# �� ��� ���� �� �+� ����=�� ��� � � ������ � !�� �� � !����� � �� �!� ! !(��� ) ��� �# � �!�� � �� ��� % &��� �� � ��(� ����� ��� ��� �# � �! � �� !��! � ���� 0������� � ��� $!����2 ��������� �'I �!� � #������� � ��� ��� !� � � ��� � ������ ��� ������� �! ��� ��(��� !���� � ��� � ��������=�� ������� "�!� � !��� !���� % &��� �! ��� �!� ! !() ������� $ !�� �,/ ��� ��� �# �) 0�" ����� � �� ������!� ��� �� !=�� � ���( � $ !���2 ��� � ��� ��(�� 0�!#���( 2 ��!$ �� � %��������( !� �� � �� ����� ��� $��� ��!� !��� RIJK 1YS �� � �! #��!� % ������� !" �������( N�# ��� �� !" ��� �# ��� ����� �� #�� �� N ,� ���� ��� � ��"!�� � �������!�� !� ���� �� � �� ���� %1!������ ����� �)��� !" ���� �������!�� ?

. % A�� � � �������!� ? �� ���� ���� � ��� N ,� �# ��� �� !" ��� ��$�� �# ��� ����� ��� ���#��� �������� �! "!�� � ���( � ������ ��!�#�� % &��� �� ������ ��� "�� $��T ���! ��� �!� !" ������� "!� ����� � ���!� !� ��� ��+� �������!� %

Page 13: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

� �� � � ������ � ��� ������� �� � ��� ��� ��� � ./X� 5 � . � /� 5 � . � /

� / � � 5 � / �� /� . � � 5 � / � � .� 5 � � . � . � � /

� 5 � � 5 � . � � .� 5 � � /

0�2@ @ @ @ @ @ @ @@ @ @ @ @ @ @ @@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ /�!��@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ � � �@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @

0$ 2� � � � � � � � � � � � � � � �

17U� � � � � � � � � � � � � � � � � � � � � � � �

0�2* �(#�� ; %X ? .5 3 .5 $�� ������ ���#���!� #���( 04 M 4 M ;2 �!#����� % &�� � / � � / � � .� ��� %� ���� ����� ��������� "!#� $��� !" ��� ��(#� ��� % &�#� � ��� ��! �#�� � /� / �� �� <'$�� �#� � ��� %0�2 7����� ��! �#��� ��� (�������� $) ; 3 ; �# ��� ���� R5XS %0$ 2 + �(�� 04 M 4 M ;2� ��� #��� �! �!� ����� ��� �! #� � ���(�� "�!� W=� �! ��! %0�2 U ��I ����� �� #��� �! ��� ��� ��� ��! !������� % &�� !#��#� !" ���� �!#���� �� 0$ 2��! �#��� � ;'$�� ���# � ? 5 $��� !" ��� ��� � ��(��W����� � ��� 5 !" ��(��� % &���� ��� �!�$���� ��0�2 %

&�� �# ��� �����!� ��� � �� �!� ��� �#�$ �� !" �������!�� � � � � �� �� ��� �#� !" ��� �� �) �� ����'I ���� ���(�� 0��! �� �)� � �� �'I 2 ��� ��� ��I �� �)% &�� �'I ���� �� ����!+�� ��� ) !(�!9 !" ��� �#�$ �� !" ���#�� �/� - .� ��=���� $) 5 � ����� ��� ���� �� ���#��� �! �� �!#��#�� � �!� ���% &�� � �+��#� ��0� !" ��� !� ������ �������( ��� ��I !� ��) �������!��� � - �/� - .� 2

� � � �5 !( �!9 N� - . ,5 - ��I �� - N� - .��#��� (��� �� �)� %

5 % ������� !� ���� !� ) ? ��� �$!=� ����� � ��� $� �� ��!=�� $) �=!����( ��� #�� !" ��� ��I#��� ��� ������ ��!�#��� ��� ���#��� �! ��! % &��� ��,#���� ���� ��� 0���"��� 2 ��! ������ ���# �� $ � "�� $��T ���! ��� ���� ��� ��� �������( ��� ��I � 0* �(#�� ; %.52 % &�� �� �"� ��(��� ��,#���� ����� ��� ��� /� ���#� �# ��� �� ��� �� ���� 0�!# � $ � � !�� � ��������( !�

Page 14: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

../ ���� ��� � � ���������� �

*�(#�� ; %./ ? +�� � ���� %

*�(#�� ; %..? A ��� !" � ��� � � �������!� ���� ��!� ��( !�� ��! �#�� $ �� %

Page 15: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

� �� � � ������ � ��� ������� �� � ��� ��� ��� � ...

*�(#�� ; %.5 ? A ��� !" ���� �������!� ��!� ��( !�� ��! �#�� $�� %�# ��� ��� ���! ���(2 /� $��� � !�� ��(��W���� ���� ��� ���=�!#� �������!� % &�#� � ���� ����!" ���#��� ���# �� �� ���#���� �! ��� �!� !" ��� ���� ��� ���"��� �! ��� �!����� ��(��W����� %&����"!�� � �� ��,#��� !� ) !�� ��I ��� � �������!�� !� ��� �'I ���� %&�� ��� � "!� �# ��� �����!� �� �!� ?

� � � �5 !(�!9 N� - 5 ,5� - ��I 05� 2: % ������� !� !���� �=� !" ���� ? �� ���� ���� ��� ������ ��! �#��� ��� ����� � ���� $) ���#����(���� �! ��� !���� �=� !" ��� ���� % � ��� ���) ��� ����� � ���� �! ��! ������ ��! �#����(��� � ���( � ��I �� #��� � 0* �(#�� ; %.:2 % &�#� ?

U � ��� +�� � ���� ��,#���� 0����!+ �� ��� ) 2 � � ���� #� !" "!#� (��� �� �)� "!� � ��� � ������(� � ���#����( ��� �'I !#��#� !�� �=� $��T ���! ��� ���� ��!=���� �� !����#� �� � �'� ������!� 01������ 1 ��!=���� � !�� ����� �� ����#���!� 2 % &�� ���� ���(�� �� ��������� 2$#� !� ) ��� ������ ��� !" � # ��� �� ���� ��� �� �) !" ��� �!�� ���� % A#$��,#��� ���� �������! �#��� �� �����=� � !" "!#� (��� �� �)� � 0* �(#�� ; %.:2 % &�#� � ��� ��� � "!� �# ��� �����!��� �!� ?� � 5 � !( �

N� ,5� - � � ; - 17U 05� 2�!�� ���� � �� � ��� �!�� !" ��� ���� ��� $��� ��(� �W���� ) ���#��� � !� ) ��� � � ; ���� ��W���

Page 16: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

..5 ���� ��� � � ���������� �

*�(#�� ; %.: ? A ��� !" !� �=� ���� �������!� %

Page 17: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

� �� � � �������� ����� � ����� ..:

*�(#�� ; %.; ? �������!� %"�!� ��� "# �� ��� ���� ��� � % A! !�( �� � �� ��!��� �! ���� ���� ���� �!�� �!� �!� ����� ����!�� ��� � � ��������=� �� � �� ������!�� ��� �!���$ � #���( � ���� !" ��0� � � ������� !" � �=� � %�� � !" ����� ����!����� � �� ��� ���#���( ��� ���(�� !" ��� ���� $) ���#���( ��(��W���� )"���� ���� � � �$!#� /� ������� !" N % &���� "���� ���#� ���� � � ��� � � #�� �� � �� ����5 "�����!� �!����� 0�!��2 ��� ,#��T�� (�������!� !" � ������ ���# � � $#� �!� � �������!�� ��� ������ "!�� �!� � ��� ���# � ������� !" � ���( � ���� %

B C� �J M QKJ F�M � QQK� N M IIO&�� � ����+ (�������!�����#���!� ����� � � 0�� ��� ����2 � �� ��� "������ ��) �! � ��"!�� ���� � �# ��� �����!� 2 �!��=�� � �� � �! ��,#���� ��� � !�� �������� % &�� �������=� ����) !" �� � ��,#���� ��� �������� $#� �� �� � !��� % &�� �������� ��,#���� �� ��� �������=� ����!��� ��� $� �� �# ����"�!� ��� "! !� ��( "!��# � ?

�#�$ �� !" $# � ���( $ !�T � L � 3 -N 3 � $

� ���� � � - ��� ��� �#�$ �� !" $��� �� ��� W�� �# ��� �����!� � ��� N � � ��� ��� �#�$ �� !" $����� ���� $#� ���( $ ! �T % *!� �+�� � � � ���� ; 3 ; �# ��� ���� ��� ��,#���� �! � ��"!�� .5 3 .5�# ��� �����!� �� ��� �������=� ����!��� 0����� 0.5 3 .52, 0; 3 ;2 L X2 % P) �!������ � #���( ���� ����+ (�������!� ������,#� �! �! .5 3 .5 � # ��� �����!� ��,#���� .: ������ �� ������!� �! ������� ; 3 ; � # ��� ���� 0��� *�(#�� ; %X2 % �� (����� � ��� �������=� ����) !" �� � �� � !�� ��������=�"!� ��!���� !������ ��(��� ����� ����� �� �) ��������� ����� ) � ��� !� ����� ��(�� � � ������ ����� �) !" ��� � ����+�(�������!� ����!��� ��������� � ��� ��� !( !" ��� !������ ��(�� %&�� ��� � ��� ��) �! �!����#�� �� �������=� ����) !" �� � �� �! #�� .�$�� �� � � � ���� ��� ��� � )"# ������ % * �(#�� ; %.4 ������� ��� �!����#���!� !" � 4 3 4 #���(��� �# ��� �����!� "�!� �#���� � %�� ��� �$!=� �,#���!� � �� ��W�� ��� ������ ���� =� #� 0���(��2 !" � !(��� 0��! ����� �� � ���� !(��� !�� ����� �� 2 ���� � 0� M 2 �� � =����$ � � ��� ������ � ��� % &�#� � � �!�=����!��

Page 18: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

..; ���� ��� � � ���������� �

����)'��=� ����� � ��� #���(��� ���#�� ���"!�� � � 6 - �6 -% 6 L % 8 - +6 � !� 0/ M .2- 0/ M .2- 0/ M .2 L0/ M 52 - 0/ M .2 %�� ��! Q� �!� � �� ��� � ��� � !�� ��(��W ���� $�� !" ��� ��(#� ���� �� ��� ��(� $�� � ��#� "!� 4 3 4 $����! Q� �!� � �� ��� �# ��� �����!� !" ����� 9� 8�6 $) ��� �� 9� 8� 6 � �� ��� �� �������� ��� ��(� %&�#� � ��� ���� �

� 6�� M� 8�� M 4 4 4 M � ������

���� M � �;� 9 M � �� 8 M � ��6��=� ���(� 0/ M V .2 %� 6�� - / - � 8�� �� 0/ M V .2 - / - 0/ M .2 L

&��� ��� $ � �� � �� ����� $) �)� � �� � ? 0/ M .2 - 0/ M V .2 - 0/ M V .2 L 0/ M V52 - 0/ M .2&�� ��(���=� ����) !#� ��� ��� ��(���=� � ��� ��,#���� �)�� �� � ����#��� � !�( ��� ��(�� ���(!�� �#��� ��(���=� ���#� ���� �!�$���� � ��� ���� ��W���( � �)�� � � ���#���!� � ������ � ���#����� 0��! !� ��(���=� %�!� ��� �)� � �� �� ��� �,#���!�� ?

% 8 L " 6$ 6% 6 - �" 6$ 6% 6 - �" �$ 6% 6 - �"$ 6 �% 6+6 L " 6$ 6% 6 - �" 6 �$ 6% 6 - �" 6$ 6 �% 6 - " 6 �$ 6 �%60���� ���� +6 L 0/ M V .2

*�(#�� ; %.4 ��� $� (����� �0�� $) �������( � 5 $�� ����� �� 0*�(#�� ; %.<2 �T �� �! ��� .'$ �� �� !" * �(#�� ; %.1 % *!� #���(��� �#�$ ��� � �� ����) !" ����#��� !" ��� �)�� �� �� � ./ .?" 8 - $ 8 - " 6 - $ 6 - % 6 L % 9 - + 8 - +6

0/ M 52 - 0/ M 52 - 0/ M .2 - 0/ M .2 - 0/ M .2 L 0/ M ;2 - 0/ M 52 - 0/ M .2�� ��,# ���� %�� 0*�(#�� ; %.42 � �" �� ��" 8 L � 6� 9$ 8 L � 8� 8" 6 L � 6� 8$ 6 L � 8�6% 6 L /�� ����#�� ��� #�� �� ��(��� !�� 5'$�� �!����!�� � ��� !�� 5'$�� �� 0*�(#�� ;' .1$ 2 % 1!����#��("!� ��� 4 3 4 #���(��� �# ��� �����!� �� ���� !�� �� " ��� �#�$ �� !" �� � 0� #� .2 �� ��!� � ��*�(#�� ; %.4 % �� ��� �(��� �+���� ���� �! ��! Q� �!� � �� ��� ������ ���� %&! ���"!�� ��(��� 0��! Q� �!� � �� ���2 � # ��� �����!� ��� ����� � �� � �(�� ) � !�� �!� � �+ � ��������$�� �� R�� Y/S % 7�0���� � #������� ��� ����� � $) $#� ���( 4 3 4 �# ��� ���� "�!� ��!�)��� !" ����#��� � #���( ��� "! !� ��( .�$�� ����� �� 0* �(#�� ; %.1 %2 ?

Page 19: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

� �� � � �������� ����� � ����� ..4

*�(#�� ; %.4 ? 4 3 4 #���(��� �# ��� �����!� %

* �(#�� ; %.1 ? .�$�� ����� �� %

Page 20: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

..1 ���� ��� � � ���������� �

*�(#�� ; %.Y ? 4 3 4 ��! Q� �!� � �� ��� � # ��� �����!� R7+� Y/S %

U 6 P 6 16 1 8 A6&�7+ � ?0/ M .2 - 0/ M .2 - 0/ M .2 L 0/ M 52 - 0/ M .2&�7+ �� ?0/ M V .2- 0/ M .2 - 0/ M .2 L 0/ M 52 - 0/ M V .2&�7+ �� � ?0/ M .2 - 0/ M V .2- 0/ M V .2L 0/ M V52- 0/ M .2&�7+ � � ?0/ M V .2- 0/ M V .2- 0/ M V .2L 0/ M V52- 0/ M V .2

&)� � � �� ��� �!�=����!�� ����) ��=� ����� � ��� �� �� ��� !� ) �)�� #��� �� *�(#�� ; %.4 "!���� #���(��� �# ��� �����!� % &)��� � ��� � � �!�����!�� �! �������� ��#�� ��$ �� 0$���#�� �"� - � - � L �

- � � ���� V�V�V� L

V�V� 2 ��� � �����"!�� � �! �������� ����#��� % A�� � �� )� �)� ���� ��� �� � �!����� !�� �! �������� ����#��� % * �(#�� ; %.Y ��!� � ��� ������ 4 3 4 � # ��� �����!� %

7�0���� �+����� ��� .�$�� ����� �� �! � 5�$�� ����� �� � �� ��!� � $ � !� ?�� � �� ������!� !" ���� � ���! � � ��� 5�$�� ������ ��,#���� �� ��� �)� �� !" ����# ��� � 0��� � ./ .�� ./5 � � ./:2 % &�� ������ ���� !� �����!�� � ��"!�� �� $) ����� ����� �)��� ��� (�=�� $ � !� ?

Page 21: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

� �� � �� ������ ������ � ����� �������� � ..Y

*�(#�� ; %.< ? 5�$�� ����� �� %U 8 P 8 U 6 P 6 16 1 9 A8 A6� ./ . ?0/ M 52- 0/ M 52 - 0/ M .2- 0/ M .2 - 0/ M .2L 0/ M ;2- 0/ M 52 - 0/ M .2

� ./5 ?0/ M 52- 0/ M V52- 0/ M .2- 0/ M .2 - 0/ M .2L 0/ M ;2- 0/ M V52- 0/ M .2� ./: ?0/ M 52- 0/ M V52- 0/ M .2- 0/ M V .2- 0/ M .2L 0/ M ;2- 0/ M V52- 0/ M .2

�������=� �# ��� ���� ���"!�� ��� !� �����!�A L � � � - � M� ���� � �� � �!������ �! $� ����� �! ��� ��!�#�� 0� ������ ��� � ����+ (�������!� ����� ��� ��"!�� !� ) A L � � � 2 % &�� ��=��� #��� ��� 0:�$��2 � ! ��W�� P!!�� Q� � (!����� �! �� =���� �#�$ �� " ������ ��!�#��� (�������� % * �(#�� ; %.X ��!� � ��� $ ! �T ���(��� !" ��� �������=��� % &�� � 38 ���#� �� ������ �� �+������( �!��0!��� ) ����� ��� P!!�� ���!��� � �) �� "!�5� � � ���� �� �� � �� ����� $) � �"� �� �"� % &�� � 38 �� # ��� �� ��� !=�� �� $�� �#���( � # ��� ������! ���( % �!�� ���� !#��#�� A� ��� A� ��� ������ !� ) !� ��� � !�� ��(��W���� �!���!� !" ���������� ��! �#�� 0����� 5 $��� ��� #��� "!� ��(� �!������!� 2 % * �(#�� ; %5/ ��!� � ��� �� � �� ������!�!" � .5 3 .5 ��! Q� �!� � �� ��� � # ��� ��� % &��� ����� � ��� $� �+������ �! ��(�� �� � % *!��+�� � � � �� *�(#�� ; %5/ � ��� �!���� ��� ��� !��� �� < 3 < �������=� �� %

B CB � MJ K FIM T � M OF�L N �K Q�M P H IJ F� IFM QO1 21 23 � @>8GA � @7589> : � 5 �� � �� � <978 98@6

�� ���� �����!� � �� ������$� ��� ����(� !" � 1; 31; � # ��� ��� # ���( ��� ������,#� !" ��� # ����!#�(�������!� !" ������ ��! �#��� % &�� ����(� #��� �������� ����(� � ���!� % *!#� �)��� !" � ���!���� ������ �! �� � �� ��� ��� ����� ����� !" � ���� � �# ��� ��� %. % A�� # ����!#� (�������!� !" ������ ��! �#���5 #���( �� < 3 < �# ��� ��� � ���! %5 % ���#���!� !" ��� ������ ��! �#��� �! ��! !� ������5 04 �4 �;2 �!#���� %: % U����( ��� ��! !� ������5 ������ � ��� ����) !!T ����� %

Page 22: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

..< ���� ��� � � ���������� �

*�(#�� ; %.X ? P ! �T ���(��� !" 5 3 ; �������=� � # ��� ��� %* �(#�� ; %5 . ��� ���� ��� (�������!� !" ��� ������ ��! �#��� �� � 1; 3 1; �# ��� �����!� � #���(< 3 < �# ��� ���� % +��� !" ��� ��! 1;'$ �� !� ������ �� � ��� !" < $)��� 0$)�� L < $���2 � � ���� ����#�$ ���� / � .� 5 � % % % Y "�!� ��� ���� �! ��� � !�� ��(��W���� $)�� % &�#� � 1;'$�� �# ��� �����!���=! =�� � # ��� )��( ���� $)�� !" ��� � # ��� ����� 0� 2 $) � < $)��� !" ��� �# ��� ��� 0� 2 %*!� �+�� � � � �� *�(#�� ; %55 � ��� ��(�� ������( �� � ��T�� � ��� � �!� ��� ��!�� (�������� "�!��# ��� )��( $)�� / !" � $) ���� !" ��� < $)��� !" � % �!�� ���� ��� ��!�#�� / .� �� �� �"��� <$��� � ��� ���� ��� �! ��! �#�� // �� �� �� /5� � ��� ���� ��� �! / .�� ��� �! !� % &���� <'$�� ���"����� �#� �! ��� ���"��� � !����!� !" ���� $)�� � ����� ��� 1;'$ �� !� ����� % U �! � �!�� ���� "!� ����� � � �� 0� �L � 2 $)�� �# ��� �����!� � ����� �� � �!����� !����( ��! �#�� � � � � � ��� ��� ��� � ���(�� %&�#� � ��!�#�� / .� �!����� !��� �! ��! �#�� ./� ��� ��! �#�� .5� �!����� !��� �! ��! �#�� 5 .%�U � $�"!�� � "!� � 3 � � # ��� �����!� � ��� �#�$ �� !" N 3 � �# ��� ���� ��,# ���� �� ?

� 3 �N 3 � M��� �� !#� �����W� ���� ?

�#�$ �� !" � # ��� ���� L1; 3 1;< 3 < L 1; �# ��� ���� 4

&�� ��+� ���� �� �! ���#�� ��� ������ ��! �#��� �! ��! !� ������ % U � ��!� � �� *�(#�� ; %5 .� �04 M 4 M ;2 ��� ���#�� ��! �! #� �� � ���� 4 $��� ��(� � �! ��! !������� % &�� � ����+ !" ��� ������ ��! �#��� �� *�(#�� ; %55 ��� $� =����� �� ��(�� (�!#�� !" .1 �! #� �� ���� % &�� ���(�� !" ��� ��(��(�!#�� �� �,#� �! .� : � 4 � Y � X � ..� .: ��� .4 % * �(#�� ; %5: � #������� � ��� � �!� ������������!���� #�� !" 04 �4 �; 2� �! ���#�� ��� =���!#� �! #� � ���(��� �! 5 $��� ��(� % �� �!� ��� �!� �#�� ����!�� �#� $�� !" �!#����� ��,#���� �! ���#�� ��� ������ ��! �#�� � ����+ !" � 1; 31; �# ��� �����!��! ��! !� ������ ?

Page 23: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

� �� � �� ������ ������ � ����� �������� � ..X

*�(#�� ; %5/ ? .5 3 .5 ��! Q� �!� � �� ��� �# ��� �����!� U L � � � - � % U������ "�!� R�O+ Y .S %

Page 24: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

.5/ ���� ��� � � ���������� �

$ � $ � $ � $ � $ � $ � $ $ � � � � � � � � � � � � � �� �

$� �

$ � �

$ �� �

$ � � �

$� �

$ � � �

$ � �

$ � � �

$ �� �

$ � � �

$ �� �

$ � � �

$ �� �

$ �� �

$ �� �

$ �

*�(#�� ; %5 .? U 1; 3 1; �# ��� ��� # ���( < 3 < �# ��� ���� % .� ) .1 !" ��� 1; ������ ��! �#��� �����!� � % +��� < 3 < �# ��� ��� ��! �#��� � .1�$�� ���# � %

YY 11 44 ;; :: 55 .. //1Y 41 ;4 :; 5: .5 / .Y1 14 4; ;: :5 5 . ./

4Y ;1 :4 5; .: /5Y4 1; 4: ;5 : . 5/

; Y :1 54 .; /:Y; 1: 45 ; . :/

:Y 51 .4 /;Y: 15 4 . ;/

5Y .1 /4Y5 1 . 4/

.Y /1Y . 1/

/YY/

*�(#�� ; %55 ? 7����� ��! �#��� (�������!� !" 1; 3 1; � # ��� �����!� #���( < 3 < � # ��� ���� % +���������( � ���������� ��� .1'$�� ��! �#�� !" ���� < 3 < �# ��� ��� % &���� ������ ��! �#��� ��� ���� ���#��� �! ��! !� ������ � � ���� ��� ���� ����� $) � ��I ����� % +��� $!+ ����) �$!=��!����� !��� �! � ������ ��!�#�� ����+ ���� 2 � %( %� ��� Y/ �!����� !��� �! ��� ���� � Y �� / %

Page 25: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

� �� � �� ������ ������ � ����� �������� � .5 .

.4 � 54 1!#�����

.: � 5; 1!#�����

.. � 5: 1!#�����

X � 5: 1!#�����

Y � 55 1!#�����

4 � 5. 1!#����*�(#�� ; %5: ? � ���( 04 �4 �;2� �! ���#�� =���!#� �! #� � ���(��� �! 5 $ ��� ��(� % &�� .4 � 5 ��!� ���� �#� � ���!� �� ��,#���� �� *�(#�� ; %5 . 0���(�� .42 % +��� !���� ���(�� ��,# ���� �� *�(#�� ; %55�� ��!� � �� 4 �4 �; �� � �� ������!� %

Page 26: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

.55 ���� ��� � � ���������� �

� �

� �

� �

� �

� �

� �

� �

� �

� �

� �

� �

� �

� ���� !���!

� ���� !���!

� ���� !���!

�� � �� ��"��� !���!

�� � �� ��"��� !���!

�� � �� ��"��� !���!

*�(#�� ; %5; ? � ���( 04 �4 �;2 �!#����� �! �� � �� ��� ��� ���#���!� !" ��� ������ ��! �#��� !" ���(��.4 � ��!� ��( !� ) ��� W��� �=� ��� ��� !#��#� %&��� � �+��#� ���(�� ! ��#�� � ��� ������ ��! �#��� Y/ 0� Y � � /2 ���!#(� ;; 0!� ::2 ��� �! $ ��#� � �� 0*�(#�� ; %552 % *!� �+�� � � � ��� �!� 4 �4 �; �!#���� �$ !=� �!# � ��=� ���#�� "�!� Y/ � /Y �Y.� .Y � 1 .� ��� � ��� � �!#���� ���#�� "�!� .1 � 15 � 51 � 45 � 54 � ��� ��� !���� "�!� 4: � :4 � ;: � :; ���� ;; % &�� ����� �!#����� �$ !=� ��!=��� ����� ;'$�� !#��#�� 05 $��� !" ��� ��� � ��(��W����� � 5!" ��(���2 % &�#� � ��+ !#��#�� � #�� $ � �#� � �� �� ��� ���!�� �=� ? ����� "�!� ��� ����� ��!� ��!#����� � ��� ����� "�!� ��� ����� !��� !���� �!#����� %

�#�$ �� O ��(�� �#� $�� !" �#�$ �� !"!" !" 1!#����� � �� 1!#����� "!� � 1! #� �� 1! #� �� &�! 1! #� �� 1! #� �� !" A�� � O ��(��.1 .4 4 < 3 4 L ;/.1 .: ; < 3 ; L :5.1 .. : < 3 : L 5;.1 X : < 3 : L 5;.1 Y 5 < 3 5 L .1.1 4 . < 3 . L <.1 : . < 3 . L <.1 . 5 5

&!�� �#�$ �� !" �!#����� .45

Page 27: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

� �� � �� ������ ������ � ����� �������� � .5:&�� ��� ���� �� ��� 1; 3 1; � # ��� �����!� �� �! ��� ��� ��! !� ������ #���( ;'$ �� ������ �������) !!T ����� #���� � �� ������$ �� ��� ��� % A���� ��� �!#$ � ��(�� ��! �#�� �� .5< $��� !�( � �.5<'$�� ����) !!T ����� 0�6I 2 ����� �� #��� %1 21 2� � @>8GA � @7589> : � 5 �� � �� �8AG9@ �@AG7D � <978 98@6

&�� ��� �����!� ������$ �� � 1; 3 1; � # ��� ��� � ��� �!#$ � ��(�� �������!� % �� �� �� �����!� � ��� #������ ��� �� � �� ������!� !" ���( � ��(�� �# ��� �����!� ��� ��� �������� ���#���!� ���! ��'���� � ��� �� � �� �!�������� � ��� �!#$ � ��(�� � # ��� �����!� % �� �� ��� 41 3 41 �# ��� �����!�$ ���#�� 41 $��� �� � �!� � !� ) #��� � ������� ��(�� �� !�( �!����( � !��� "!�� ��� %U ���( � ��(�� �# ��� ��� �� #��� �� "�����!�� � # ��� �����!� � � ���� ��� �������!� !" ��� ��! �#���� �,#� �! ���� !" ���� !" ��� !������� % *!� �+�� � � � �� �� � �� �����( ��� � ������� � # ��� ����� � �������� �!����( � !��� ��! ����!� � ���#� !� ������ ��� ��� !#��#� ��! �#�� ��=� ��� ���(���� ��� �������!� !" ? / 44 � � ������� ���(� � . V 53/ M� ������� �������!� L 53/ M� ���� N �� ��� �#�$ �� !" $��� �� ���� !������ %*�(#�� ; %54 ��!� � ��� ������ ��! �#��� (�������� $) #���( < 3 < � # ��� ���� % &�� �!#$ � ��(����! �#�� �� � ��� !" ;X � # ��� ���� � �����

�#�$ �� !" � # ��� ���� L41 3 41< 3 < L ;X 4

O!��=�� � "!� ���( � �������!� � � �#$������� ��=��( �� ��� �#�$ �� !" �# ��� ���� ��� $� ��� �0��$) ��!����(� ���) � ��� � # ��� ���� �! ��� ��(�� !" ��� 1; � '� � 0������ ����2 2 $#� �� �����! � �T� �#�� ���� ���� ��!����( �!�� �!� �W��� ��� �������!� !" ��� 41 � '� � % U ��#� � � �!������� �!����$#��!� "�!� ��� ��!�� ��� ���� 2 ���� �� � � !��� % &�� � '� !" ��� ��������� ���� ������ ���(�� !" 53�� � ��� ��� �! #� � ���(�� �� ���� $�� � !����!� �� ..% &�#� � ��� W��� "�� ���� �!" ��� ��!����� ���� ��� ?

- �+ ���!� L .. � 053�� - 53�� - 53�. - 4 4 42P#� ? .. 5�&����"!�� ? - �+ ���!� 053�8 - 53�9 - 53�� - 4 4 42*�!� ��� ��� �,#���!� � �� �� !$=�!#� ���� ��!����(� ��(�� !" ��� 1; � '� � � � ( �=� #� 1/ �!������ '� � � � ���� �� � !�� ���� ��!#(� �! ���� � ��� ��,#���� 41 $��� � #� ��� 5 (#��� $��� %�!� �� ��� �!� �#�� ��� �������� ��=��(� !" ���( � ��(�� � # ��� �����!� % *�!� *�(#�� ; %54 � ���!#�� .4 "# ) ������ �# ��� ���� % �� ����!� ��� !=� ��� �� " ������ � # ��� ���� � ����� ����� � !����(��W ���� �� " �� ������ "!� ��� 4<'$ �� �������!� % &�#� � � �!�� !" :; ������� !" ;X � # ��� ���� ��#��� "!� ��� ������ ��! �#�� (�������!� %� ���( ��� ����� �,#� !#� ���� ���=�!#� )� ��� �#� $�� !" �!#����� ������ "!� �! #� � ���#���!� ������ ) �!� �#��� "!� �!#$ � ��� ���( � ��(�� %

Page 28: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

.5; ���� ��� � � ���������� �

11 44 ;; :: 55 .. //����

538 41 � '� �1; � '� � ;< 6'� �

..5 $��� �

L .:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%

%%%%%%%%%

%%%41 ;4 :; 5: .5 / .14 4; ;: :5 5 . ./

;1 :4 5; .: /51; 4: ;5 : . 5/

:1 54 .; /:1: 45 ; . :/

51 .4 /;15 4 . ;/

.1 /41 . 4/

/11/

*�(#�� ; %54 ? 7����� ��!�#��� (�������!� �� � 41 3 41 � # ��� �����!� � #���( < 3 < �# ��� ���� % &�������� � # ��� ���� ��� $� ��� !=�� � ��� � ���( � ��(�� ��! �#�� 041 � '� �2 �� ��,#���� %�#�$ �� O��(�� �#�$ �� !" �#�$ �� !" 1!#�����!" !" 1!#����� � �� "!� U 1! #� ��1! #� �� 1! #� �� &�! 1! #� �� !" A�� � O��(��

0!#$ � A��( � 0!#$ � A��( ����(�� ���(�� ���(�� ���(��.1 .1 .: ; :5 :5.1 < .. : 5; .5.1 < X : 5; .5.1 < Y 5 .1 <.1 < 4 . < ;.1 < : . < ;.1 < . 5 5 5&!�� �#� $�� !" 1!#����� ..5 Y5

*��� )� �����( ��� ���# ���( ��! !������� �� ��� �!#$ � ��(�� ���� 0..5 $ ���2 ��,#���� � ����) !!T ����� 0�6I 2 ����� % *!� ��� ���( � ��(�� ���� � ��� ������!� !" ��� ��! 1; $�� !� ������ �����!� � ����� $) � 1;'$�� �6I ����� % &���� �� � :;� �������� ��=��(� #���( ��� ���( � ��(���# ��� �����!� % O!��=�� � ����� �� �! �� ��� �� ��!=�� ��� �! � W��� ����!+ �� ���!� %

Page 29: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

� �� � ��������� .54B C� �R M QV FOM O

.% 0���(� � � ! ��W�� P!!�� Q� ���!��� "!� � ;'$�� �# ��� ��� %5 % *��� ��� �� �) !" ��� ���! ��� �� ��!$ �� .%: % 1!����#�� �� ����!� ��$ � "!� � ! ��W�� P!!�� Q� � (!����� 05'$�� �# ��� ��� ���! ���2 "!���(� ��� � �(���#�� �#� $��� 0$� ����"# �$!#� ��� ��(� $�� 2 %; % 0���(� � � ! ��W�� P!!�� Q� ���! ��� "!� ��(� ��� � �(���#�� �#� $��� 0;'$�� � # ��� ��� ��'�! ���2 %4 % 1!����#�� ��� � ��� � $�� �����!� !" ��� �'I ���� "!� ;< 3 ;< � # ��� �����!� "!� ?

0�2 A�� � � �������!� %0$ 2 ������� !� ���� %0�2 ������� !� !���� �=� !" ���� %

1 % 1!� �#�� ��� �#�$ �� !" 1AU Q� ��,#���� "!� ?0�2 .'$�� �����!� %0$ 2 &!�� ���� %

Y % 0���=� �� �� ��!=�� �� �) "!��# � 0��T ��( ���! ���!#�� ��� �T���� ��(��W����� !" ��������� ��! �#���2 "!� ?0�2 *# �� ��� ���� %0$ 2 A�� � � �������!� %0�2 ������� !� ���� %0�2 ������� !� !���� �=� !" ���� %

< % A#�� !�� 541 3 < ��� � ��� #��� �! �� � �� ��� .5 $�� 3 .5 $�� �# ��� �����!� % * ��� ��������� ��! �#��� � ��� �������(�� ��! �#�� � ����+ � ��� ��� �� �) ��,#���� �! "!�� � 5; $����! �#�� %X % �" 04 � 4 � ; 2 �!#����� ��� #��� "!� ������ ��! �#�� ���#���!� � �!� �#�� ��� �#� $�� !" �!#���� �=� � ��,#���� "!� �! #� � ���(��� !" < � .1 � :5 � ��� 1; $��� % O!� � ��) �#�� �!#����� �����,# ���� "!� ���� ���(���

./ % A#�� !�� 04 � 4 � ;2 �!#����� ��� $ ���( #��� �! �� � �� ��� �� �������=� � # ��� �����!� � ��� ��! #� � ���(�� !" :5 $��� % �������!� !� ��� ���� !� ) �� �! $� #��� % 1!� ���� ��� ���� �� �)��� �#�$ �� !" �!#����� ��,#���� "!� !�� � ��! � ��� "!#� �������!�� %

..% ��"�� �! *�(#�� ; %5 % 0 �=� !� ��� !(�� !� ��� ", � $, � %, � ��� &, ���� � �! � �� ����� �����,# ���� �#� � ��( !" ����� ���� � �! "!�� ��� ��,# ���� ��!�#�� % U ��#� � � ��� � ��� <'$��#���(��� ����(��� %

.5 % ��"�� �! &�$ � ; %.% A�!� ���� ���� ��$ � �� =� �� "!� ��� ��! Q� �!� � �� ��� "!�� !" ����# ��� ��� %

Page 30: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

.51 ���� ��� � � ���������� �

.: % �� � �� ��� � 04 M 4 M ;2 �!#���� #���( !� ) 1AU � % � �� � � ����#� �#�$ �� !" �=� � ��� ����� � ����#� �#�$ �� !" 1AU � %0�2 A�!� �� �!� ������������!� ���� 1AU �� ���� �=� %0$ 2 �!#� �� � �� ������!� ��� �!� � ��) (��� �� �)��

.; % �� � ��� �! $#� � � .1 3 .1 $�� �# ��� ��� % A�� � � U�0 (���� ��� #��� �! (������� ��������� ��! �#��� 0���� L 5/ �� � �� �� L ./ ��2 %0�2 0 ����� ��� ��� ���(�� !" ��� ������ ��! �#�� ���� %0$ 2 O!� � ��) U�0 (���� ��� ��,#�����0�2 O!� � ��) �=� � !" 04 �4 �;2 �!#����� ��� ��,# ����� + ���� ��� ��� �!�� �#�$ �� !"�!#����� %0�2 �" ��� �!#����� ��=� �� ������ ��� � !" 7��� L :/ �� � 7��� L 55 �� � ������ ��� ��� �����) !" ��� � # ��� ��� 0$�"!�� 17U 2 %0�2 U� � �������=� ����(� "!� ��� �# ��� ��� �!# � #�� �������!� !" ��� ������ ��! �#������ % �" !� ) !�� �=� !" 04 �4 �; 2 �!#����� �� # ��� � �!� � ��) �������!�� ��� ��,#�����

.4 % �� ��� �$ !=� ��!$ �� �!� � ��) (���� ��� ������ "!� 77 (�������!� ��� �!� � ��) �.- Q�"!� 77 ���#���!��

.1 % �� � �� ��� � 0Y M :2 �!#���� #���( !� ) 1AU � % � �� � � ����#� �#� $�� !" �=� � ��� ���� �� ����#� �#�$ �� !" 1AU � %0�2 A�!� �� �!� ������������!� ���� 1AU �� ���� �=� %0$ 2 ������ "!� � 04 �4 �;2 �!#���� %

.Y % �� ���� �! � ��"!�� 1; 3 1; $�� � # ��� ����� #���( < 3 < 77 (������!�� % � ��� �� ��� 7 7���� ���(���A#�� !�� ��� ���� ���#���!� �� �! $ � �!�� $) 0Y �:2 �!#����� % U ��#� � � ����� ���#� 17U ���=�� �$ � % A�!� ��� �!#���� ���#���!� �=� � "!� ��� � �+ �! #� � ���(�� 0 2 % O!� � ��)0Y �:2 �!#���� �=� � ��� ��,#�����A#�� !�� �� �!� � ��� �! ������� !� ��� ���� #���( !�� �=� !" 0Y �:2 �!#����� %A#�� !�� 7 7 (�������!� ��T�� ���� L ;// �� � 0Y �:2 �!#���� ��T�� ���� L 5// �� � ��� ��������#� 17U ��T�� ���� L :// �� %O!� �!# � )!# �����(� �! ����� � ��� 0���#��2 ��� 77 Q� ��� W�� ��� ��! �#��� A�!� ����#�$ �� !" 77 ���#��� "!� ���� �������!� %&�� �!�� ��� � "!� �# ��� �����!� �� �!� � ��) �����

.< % 0���(� � ����#�� �! �!� �#�� ��� �#� !" ��� �#� $�� !" !��� �� � .5<� �!�� � # ���( !� )1;� 3 <� �.- Q� 0�! 17U Q�2 % �!# ��!# � � ���� �0� ��� �#�$ �� !" �=� � � ���� ��� �#�$ ��!" ����� � ���� ��� �#�$ �� !" �)� �� !" �.- �!�W(#����!�� 0�!������2 % � �� �!� �!����!� %

.X % U � ���! � �! � ��"!�� � 0�1 � # ��� ) 0. Q� �!� � �� ���2 ��� $ ��� ��!�!��� % �� #��� ��#���(��� 5 Q� �!� � �� ��� � # ��� ��� � ���� ��T�� ��! N '$�� !� ������ ��� ��! �#��� � 5N '$�����# � � ��� � 1�U ����� � ���� ���� ��� � �(� N '$��� �! ��� !� N '$��� !" ��� � # ��� ���

Page 31: Stanford University · . / 4 m bits of multiplicand Top view of tree Product Slice of tree for middle bit of tree n bits n multiples Entries from tree 2 bits 2 m bits product CPA

� �� � ��������� .5Y!#��#� % 0!� Q� �!��) �$ !#� ����T ��( "!� !=���!� % U ��#� � ��� 0�1 ���# � � � W� �� N$��� %+ ����� ��!=� ���� �� �� � � � ��)� ��!�#�� ��� �!����� 0�1 ���# � � !� (�=� �� �+�� � �� ���� �� � � "�� %