• 제목/요약/키워드: 비트표현

검색결과 283건 처리시간 0.019초

SEED 형식 암호에서 공격에 강한 S 박스와 G 함수의 실험적 설계 (Experimental Design of S box and G function strong with attacks in SEED-type cipher)

  • 박창수;송홍복;조경연
    • 한국정보통신학회논문지
    • /
    • 제8권1호
    • /
    • pp.123-136
    • /
    • 2004
  • 본 논문에서는 $GF({2^n})$상 곱셈의 복잡도와 규칙도를 GF(2)상의 다항식 곱셈을 표현하는 행렬식의 행과 열의 해밍 가중치를 이용하여 정의한다 차분공격에 강한 블록 암호 알고리즘을 만들기 위해서는 치환계층과 확산계층의 $GF({2^n})$상 곱셈의 복잡도와 규칙도가 높아야함을 실험을 통하여 보인다. 실험 결과를 활용하여 우리나라 표준인 128 비트 블록 암호 알고리즘인 SEED의 S 박스와 G 함수를 구성하는 방식을 제안한다. S 박스는 비 선형함수와 아핀변환으로 구성한다. 비 선형함수는 차분공격과 선형공격에 강한 특성을 가지며, '0'과 '1'을 제외하고 입력과 출력이 같은 고정점과 출력이 입력의 1의 보수가 되는 역고정점을 가지지 않는 $GF({2^8})$ 상의 역수로 구성한다. 아핀변환은 입력과 출력간의 상관을 최저로 하면서 고정점과 역고정점이 없도록 구성한다. G 함수는 4개의 S 박스 출력을 $GF({2^8}) 상의 4 {\times} 4$ 행렬식을 사용하여 선형변환한다. 선형변환 행렬식 성분은 높은 복잡도와 규칙도를 가지도록 구성한다 또한 MDS(Maximum Distance Separable) 코드를 생성하고, SAC(Strict Avalanche Criterion)를 만족하고, 고정점과 역고정점 및 출력이 입력의 2의 보수가 되는 약한 입력이 없도록 G 함수를 구성한다. 비선형함수와 아핀변환 및 G 함수의 원시다항식은 각기 다른 것을 사용한다. 본 논문에서 제안한 S 박스와 G 함수는 차분공격과 선형공격에 강하고, 약한 입력이 없으며, 확산 특성이 우수하므로 안전성이 높은 암호 방식의 구성 요소로 활용할 수 있다.

가변 시간 뉴톤-랍손 부동소수점 역수 제곱근 계산기 (A Variable Latency Newton-Raphson's Floating Point Number Reciprocal Square Root Computation)

  • 김성기;조경연
    • 정보처리학회논문지A
    • /
    • 제12A권5호
    • /
    • pp.413-420
    • /
    • 2005
  • 부동소수점 제곱근 계산에 많이 사용하는 뉴톤-랍손 부동소수점 역수 제곱근 알고리즘은 일정한 횟수의 곱셈을 반복하여 역수 제곱근을 계산한다. 본 논문에서는 뉴톤-랍손 역수 제곱근 알고리즘의 반복 과정의 오차를 예측하여 오차가 정해진 값보다 작아지는 시점까지 반복 연산하는 알고리즘을 제안한다. `F`의 역수 제곱근 계산은 초기값 '$X_0={\frac{1}{\sqrt{F}}}{\pm}e_0$'에 대하여, '$X_{i+1}=\frac{{X_i}(3-e_r-{FX_i}^2)}{2}$, $i\in{0,1,2,{\ldots}n-1}$'을 반복한다. 중간 곱셈 결과는 소수점 이하 p 비트 미만을 절삭하며, 절삭 오차는 '$e_r=2^{-p}$' 보다 작다. p는 단정도실수에서 28, 배정도실수에서 58이다. '$X_i={\frac{1}{\sqrt{F}}}{\pm}e_i$'라고 하면 '$X_{i+1}={\frac{1}{\sqrt{F}}}-e_{i+1}$, $e_{i+1}{<}{\frac{3{\sqrt{F}}{{e_i}^2}}{2}}{\mp}{\frac{{Fe_i}^3}{2}}+2e_r$이 된다. '$|{\frac{\sqrt{3-e_r-{FX_i}^2}}{2}}-1|<2^{\frac{\sqrt{-p}{2}}}$'이면,'$e_{i+1}<8e_r$이 부동소수점으로 표현 가능한 최소값보다 작아지며, '$X_{i+1}\fallingdotseq{\frac{1}{\sqrt{F}}}$'이다. 본 논문에서 제안한 알고리즘은 입력 값에 따라서 곱셈 횟수가 다르므로, 평균 곱셈 횟수를 계산하는 방식을 도출하고, 여러 크기의 근사 역수 제곱근 테이블($X_0={\frac{1}{\sqrt{F}}}{\pm}e_0$)에서 단정도실수 및 배정도실수의 역수 제곱근 계산에 필요한 평균 곱셈 횟수를 계산한다 이들 평균 곱셈 횟수를 종래 알고리즘과 비교하여 본 논문에서 제안한 알고리즘의 우수성을 증명한다. 본 논문에서 제안한 알고리즘은 오차가 일정한 값보다 작아질 때까지만 반복하므로 역수 제곱근 계산기의 성능을 높일 수 있다. 또한 최적의 근사 역수 제곱근 테이블을 구성할 수 있다. 본 논문의 연구 결과는 디지털 신호처리, 컴퓨터 그라픽스, 멀티미디어, 과학 기술 연산 등 부동소수점 계산기가 사용되는 분야에서 폭 넓게 사용될 수 있다.

가변 시간 뉴톤-랍손 부동소수점 역수 계산기 (A Variable Latency Newton-Raphson's Floating Point Number Reciprocal Computation)

  • 김성기;조경연
    • 정보처리학회논문지A
    • /
    • 제12A권2호
    • /
    • pp.95-102
    • /
    • 2005
  • 부동소수점 나눗셈에서 많이 사용하는 뉴톤-랍손 부동소수점 역수 알고리즘은 일정한 횟수의 곱셈을 반복하여 역수를 계산한다. 본 논문에서는 오차가 정해진 값보다 작아질 때까지 곱셈을 반복해서 역수를 계산하는 가변 시간 뉴톤-랍손 부동소수점 역수 알고리즘을 제안한다. 'F'의 역수 계산은 초기값 $'X_0=\frac{1}{F}{\pm}e_0'$에 대하여, $'X_{i+1}=X=X_i*(2-e_r-F*X_i),\;i\in\{0,\;1,\;2,...n-1\}'$을 반복한다. 중간 곱셈 견과는 소수점 이하 p비트 미만을 절삭하며, 절삭 오차는 $'e_r=2^{-p}'$보다 작다. p는 단정도실수에서 27, 배정도실수에서 57이다. $'X_i=\frac{1}{F}+e_i{'}$라 하면 $'X_{i+1}=\frac{1}{F}-e_{i+1},\;e_{i+1}이 된다. $'\mid(2-e_r-F*X_i)-1\mid<2^{\frac{-p+2}{2}}{'}이면, $'e_{i+1}<4e_r{'}$이 부동산소수점으로 표현 가능한 최소값보다 작이지며, $'X_{i+1}\fallingdotseq\frac{1}{F}'$이다. 본 논문에서 제안한 알고리즘은 입력 값에 따라서 곱셈 횟수가 다르므로, 평균 곱셈 횟수를 계산하는 방식을 유도하고, 여러 크기의 근사 역수 테이블$(X_0=\frac{1}{F}{\pm}e_0)$에서 단정도실수 및 배정도실수의 역수 계산에 필요한 평균 곱셈 횟수를 계산한다. 이들 평균 곱셈 횟수를 종래 알고리즘과 비교하여 본 논문에서 제안한 알고리즘의 우수성을 증명한다. 본 논문에서 제안한 알고리즘은 오차가 일정한 값보다 작아질 때까지만 반복 연산을 수행하므로 역수 계산기의 성능을 높일 수 있다. 또한 최적의 근사 역수 테이블을 구성할 수 있다. 본 논문의 연구 결과는 디지털 신호처리, 컴퓨터 그라픽스, 멀티미디어, 과학 기술 연산 등 부동소수점 계산기가 사용되는 분야에서 폭 넓게 사용될 수 있다.