대칭키 암호화 알고리즘과 공개키 암호화 알고리즘

1) 대칭키 암호화 알고리즘

기본적인 대칭키 원리에 기반한 대체왕암호의 사용방법은 다음과 같다. 암호 알고리즘을 설명할 때 항상 여기에 나타나주는 우리 친구들 Alice와 BoB가 잘 해낼 것입니다 ^^

  1. Alice와 Bob은 사용할 대칭 키 암호화 알고리즘에 대해 상호 동의합니다.
  2. Alice와 Bob은 사용할 키에 동의합니다.
  3. Alice는 자신이 약속한 키와 알고리즘으로 평문 메시지를 암호화하여 암호문을 생성합니다.
  4. Alice는 생성된 암호를 Bob에게 보냅니다.
  5. Bob은 암호문을 받고 평문을 얻기로 약속한 알고리즘을 사용하여 해독합니다. 이 시점에서 합의된 키가 사용됩니다.

Alice와 Bob이 대칭키 암호화를 수행하기 위해 선택할 수 있는 많은 대칭키 암호화 알고리즘이 있지만 보통 평문을 처리하는 단위에 따라 스트림 암호와 블록 암호로 분류됩니다. 스트림 암호의 기본 처리 단위는 비트 또는 바이트 단위의 평문이며, 블록 암호의 기본 처리 단위는 64비트 정보의 비트열로 구성된 블록 단위의 평문입니다.

2) 공개키 암호화 알고리즘

공개키 암호화 알고리즘은 암호화에 사용되는 키와 복호화에 사용되는 키가 다른 다음과 같은 수학적 문제를 사용하는 암호화 방법입니다.

  1. 단방향 함수 한 방향으로는 비교적 풀기 쉽지만 그 반대 방향으로는 매우 어려운 문제. 예를 들어, 유리를 깨는 것은 쉽지만 유리 조각을 모아서 원래의 유리를 복구하는 것은 매우 어려운 문제이거나 인쇄된 전화번호부에서 특정 이름의 전화번호를 찾는데 그 이름을 찾는 것은 매우 어려운 문제입니다. 특정 전화번호를 쉽게 찾을 수 있다, 그런 어려운 문제를 의미합니다.
  2. 트랩도어 단방향 기능 : 비밀 다락문이 있는 특별한 형태의 단방향 함수입니다. 즉, 한 방향으로는 계산하기 쉽고 역방향으로는 계산하기 어렵지만, 비밀 정보를 알면 역방향으로는 계산하기가 상대적으로 쉽다는 의미입니다. 예를 들어 시계를 수천 개의 부품으로 분해하는 것은 쉬운 일이고, 반대로 평범한 사람이 수천 개의 부품을 조립하여 원래의 시계를 조립하는 것은 매우 어려운 일입니다.

공개 키 암호화에만 사용되는 Trapdoor 단방향 기능에는 다음이 포함됩니다.

  • 큰 수의 IFP(Integer Factoring Problem)
    y = f(x) : Y = X1 X2 (두 개의 큰 소수의 곱셈)
    위의 관계에서 X1과 X2를 알면 Y를 찾기 쉽지만, Y가 수백 비트 이상 큰 수일 때 Y를 알면 X1과 X2를 찾기가 매우 어렵다. RSA 알고리즘에서
  • 유한 필드의 이산 로그 문제(DLP)
    y = f(x) : Y = AX 모드 B
    위의 관계에서 A와 B를 알면 X를 알면 Y를 찾기는 쉽지만 Y를 안다고 해서 X를 찾기는 쉽지 않다. 많은 사람들은 유한 필드에 대한 이산 로그 문제가 큰 수의 소인수분해 문제보다 더 어렵다고 추측합니다. DSA, ElGamal 등이 이 문제를 악용했습니다.
  • A번째 루트 찾기 문제
    y = f(x) : Y = XA 모드 B
    위의 관계에서 A와 B를 알면 X를 알면 Y를 찾기는 쉽지만 Y를 알더라도 X를 찾기는 어렵다. Rabin의 알고리즘은 이 문제를 이용했습니다.

빈 키 암호는 다음과 같은 경우에 사용됩니다.

사용할 곳 세부 사항
키 분배 대칭키 암호화 키의 가장 약한 부분인 키 분배에 사용됩니다.
전자 서명 부인방지 구현을 위한 전자서명에 사용
암호화 소량의 데이터를 암호화하는 데 사용됩니다. B. 세션 키 또는 비밀 데이터.

또한 암호화는 공개키 암호화를 사용하지만 대칭키 암호화보다 가동 시간이 훨씬 길어 대용량 데이터 암호화에는 부적합하다. 공개 키 암호화.