큰 정수 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 |