본문 바로가기

C 알고리즘4

ARIA 블럭 암호 알고리즘 출처 : IT 보안 인증 사무국 ( http://service2.nis.go.kr/pw_certified/aria_open.jsp ) ( http://teamcrak.tistory.com/69 ) ARIA 소개 ARIA는 경량 환경 및 하드웨어 구현을 위해 최적화된, Involutional SPN 구조를 갖는 범용 블록 암호 알고리즘입니다. ARIA의 주요 특성은 다음과 같습니다. 블록 크기 : 128비트 키 크기 : 128/192/256비트 (AES와 동일 규격) 전체 구조: Involutional Substitution-Permutation Network 라운드 수 : 12/14/16 (키 크기에 따라 결정됨) ARIA는 경량 환경 및 하드웨어에서의 효율성 향상을 위해 개발되었으며, ARIA가 사용하.. 2011. 1. 25.
유클리드의 알고리즘 ( 최대 공약수 찾기 ) 최대공약수 (GCD : Greatest Common divisor)를 구하는 방법은 약 2천년 전의 고대 그리이스 수학자인 유클리드에 의해 발견 되었다. 최대 공약수는 주어지는 두 정수의 약수 중에서 가장 큰 공통되는 약수를 말한다. 예를 들어 280과 30의 최대 공약수를 구한다고 하자. 280의 약수 : 1, 2, 4, 5,7 8, 10 , 14, 20 , 28, 40, 56, 70, 140, 280 30의 약수: 1, 2, 3, 5, 6, 10, 15, 30 280의 약수와 30의 약수 중 공통되는 것은 1, 2, 5,10 이며 이 중에서 제일 큰것은 10이며 이것이 바로 최대공약수이다. 수학 교과서 에서 최대 공약수를 구할 떄에는 소인수 분해를 이용하여 구한다. 다음과 같이 280과 30을 소인수.. 2009. 2. 24.
시간 소요량과 공간 소요량 알고리즘의 성능을 말할 때 시간을 얼마나 잡아먹느냐만 따졋었다. 어떤 알고리즘이 얼마만큼의 시간을 필요로 하는가를 시간 소요량(Time Complexity)이라고 한다. 반면에 알고리즘의 수행을 위해서 얼마만큼의 공간(메모리나 디스크)을 필요로 하는 지도 중요한 점이다. 이렇게 알고리즘이 얼마만큼의 공간을 필요로 하는가를 공간 소요량(Space Complexity)이라고 한다. 시간 소요량과 공간 소요량 모두 O표기법이나 Ω 표기법이나 Θ( 원안에 |ㅡ| 요거인대...알아볼수잇을라나;;) 표기법을 이용하여 나타내어 질수 있다. 일반적으로 시간 소요량이 적은 알고리즘은 공간 소요량이 많으며, 공간 소요량이 적은 알고리즘ㅇ느 시간 소요량이 만핟. 실행 시간의 단축이 중요한가 공간의 절약이 중요한가에 따라서 .. 2009. 2. 24.
알고리즘.... 알고리즘이란 주어진 문제를 해결하기 위한 잘 정의도니 동작들의 유한 집합이다. 알고리즘에는 우선 주어지는 문제가 있고 이 문제를 해결하기 위한 순서적ㅇ니 동작들이 있다. 이 동작들은 또한 자료 구조를 필요로한다. 알고리즘을 개발하는데 가장 먼저 선행되어야 할 것은 바로 주어진 문제를 잘 이해하는 것이다. 주어지는 문제는 문제 그 자체만이 아니라 문제가 주어지는 상황도 포함이 된다. 문제가 주어지는 상황은 문제를 해결하는 데 이용할 수 있는 자원들을 포함하고 있고, 문제를 해결하는데에 제한이 되는 요소들도 포함할 수 있다. 이러한 문제를 잘 이해하고 난 후에야 알고리즘을 생각할 수 있다. - 알고리즘을 가장 적절히 한글로 표현한다면 방법이 될 것이다. 두 정수의 곱셈 에 대한 알고리즘 a la russe .. 2009. 2. 23.