ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 난수
    정보보호론 2022. 6. 11. 14:23

    용도

    키 생성

    - 대칭 암호나 메시지 인증 코드

    키 쌍 생성

    - 공개 키 암호나 디지털 서명

    초기화 벡터(IV) 생성

    -  블록 암호 모드인 CBC, CFB, OFB

    비표(nonce) 생성

    재전송 공격 방지나 블록 암호의 CRT 모드

    솔트 생성

    - 패스워드를 기초로 한 암호화(PBE)

    일회용 패드

    패딩에 사용되는 열을 생성

    난수값이 제공해야 하는 기본적 성질

    무작위성, 예측 불가능성, 재현 불가능성

    예측 불가능성 == 강한 의사난수

    • 공격자에게 간파당하지 않기 위해서는 "예측 불가능성"이 필요하다.
    • 알고리즘은 공격자에게 알려져 있다고 가정하고 종자(seed)를 사용하여 난수를 생성한다.
    • seed: 공격자에게 비밀
    • SW로 구현 가능하다.

    재현 불가능성

    SW만으로는 재현 불가능성을 갖는 난수열 생성 불가능하다.

    진성 난수

    재현 불가능한 난수

    (무작위성, 예측 불가능성, 재현 불가능성) 3가지 성질을 모두 가진다.

    의사난수 생성기(PRNG)

    소프트웨어로 생성, 초기값(seed 값)을 이용한다.

    주기성을 가진다.

    작동방법

    • 무작위 방법: 상당히 긴 주기가 필요하다.
    • 선형 합동법(보통은 잘 쓰지 않는다.)

    암호를 이용하는 방법

    • Cryptographically Secure PRNGs
    • RSA Generator
    • Blum-Micali Generator
    • Blum-Blum-Shub Generator

    선형합동법

    • 일반적으로 가장 많이 사용되는 의사난수 생성기
    • 하지만, 암호 기술에 사용하면 안된다.
    • Xi = (A*Xi-1 + C) mod M

    X0 생성: Seed를 이용하여 생성

    예제)

    빠르게 생성할 수 있다. 하지만, 안전하지 않다.

    1. a,b,b 선택에 따라 주기가 짧아진다.

    2. 짧은 주기

    일방향 해시함수를 이용하는 방법

    == 의사난수 생성기의 예측 불가능성을 보장한다.

    하지만, 공격자가 seed 값을 알게 된다면, 예측 불가능성 기능을 미제공한다.

    RSA 공개키 암호 알고리즘을 이용한 난수 생성

    Blum-Micali 알고리즘 기반 난수 생성

     

    '정보보호론' 카테고리의 다른 글

    PGP(Pretty Good Privacy)  (0) 2022.06.11
    인증서  (0) 2022.05.23
    디지털 서명  (0) 2022.05.23
    메시지 인증코드  (0) 2022.05.16
    일방향 해시 함수  (0) 2022.05.04

    댓글

Designed by Tistory.