본문 바로가기
학과 공부/암호모듈

4/3

by sonysame 2018. 4. 3.

큰 정수 a,b 더하기

c=a+b

(c,a,b)

a>b 로 구현!

a-b: 부호가 없는 절댓값을 기본으로 구현

|a|>=|b|


               carry

    a4 a3 a2 a1 a0

+          b2 b1 b0

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

c5 c4 c3 c2 c1 c0


c0=a0+b0

carry=c0<a0


c1=a1+b1+carry;

carry=



if(carry){

a1+b1+1>=2^32

a1+b1>=2^32-1

a1>=(2^32-1)-b1

}

if(carry)carry=a1>=(~b1);

else    carry=c1<a1;




<add>

a+b

+ + => add_new(c,a,b)

+ -  => sub_new(c,a,b)

-  + => sub_new(c,b,a)=>sub_new(c,a,b)*(-1)

-  -  => add_new(c,a,b) * -1



<sub>

a-b

+ +=>sub_new(c,a,b)

+ -  =>add_new(c,a,b)

- +  =>add_new(c,a,b)*-1

- -   =>sub_new(c,b,a)

'학과 공부 > 암호모듈' 카테고리의 다른 글

4/17  (0) 2018.04.18
4/17 지금까지 한거 정리  (0) 2018.04.18
3/27  (0) 2018.03.27