DB
PHP
LLM

S&P 500

SPI@SPX 미국 2025.12.15 16:42 현지시간 기준 |10분 지연제공

6,816.51

전일대비 10.90 ( -0.16% )

나스닥 종합

NAS@IXIC 미국 2025.12.15 16:15 현지시간 기준 |15분 지연제공

23,057.41

전일대비 137.76 ( -0.59% )

다우 산업

DJI@DJI 미국 2025.12.15 16:20 현지시간 기준 |15분 지연제공

48,416.56

전일대비 41.49 ( -0.09% )

RSA

작성자아이디 : skok1025, 2024-02-04 11:19:35
카테고리 : 컴퓨터공학 암호화방식 게시글 수정

RSA

  • Ron Ribest, Adi Shamir, Leonard Adleman 가 개발한 암호 방식

  • 인터넷 보안, 전자상거래에서 널리 사용

  • 2개의 대형 소수의 곱셉은 쉽지만, 그 반대인 소인수분해는 매우 어렵다는 수학적 성질을 기반으로 하고 있습니다.

특징

  • 비대칭성

    • 암호화와 복호화에 사용되는 키가 다르기 때문에 비대칭성을 가진다고 표현

    • "공개키 암호화" -> "비밀키 복호화"

    • "비밀키 암호화" -> "공개키 복호화"

  • 안정성

    • RSA의 안전성은 큰 소수의 곱 분해 문제에 기반을 두고 있습니다. 이론적으로, 공개 키와 비밀 키를 생성하기 위해 사용되는 두 개의 큰 소수를 알지 못하면, 비밀 키를 효율적으로 계산하는 것은 매우 어렵습니다. 이로 인해 RSA는 현재 사용 가능한 컴퓨터로는 실질적으로 깨트리기 어렵다고 여겨집니다.

  • 확장성

    • RSA 암호화는 키의 크기가 커질수록 보안성이 향상됩니다. 일반적으로 사용되는 키의 길이는 1024비트, 2048비트, 3072비트 등입니다. 키가 길수록 안전하지만, 그만큼 계산에 더 많은 시간이 소요됩니다.

      1) "공개키 암호화" -> "비밀키 복호화"

      • 공개 키는 누구에게나 공개될 수 있으며, 데이터를 암호화하는데 사용됩니다.

      • 비밀키는 비밀로 유지되며 암호화된 데이터를 복호화하는데 사용됩니다.

      • 비밀키를 가진 사용자만이 복호화를 할 수 있습니다. (데이터 유출 방지)

      • 예시 >>

        • A사B사에게 민감한 데이터를 보내야 할 경우에

        • A사는 "B사의 공개키" 로 데이터를 암호화하여 암호화된 데이터를 보내고

        • B사는 자신이 가진 "B사의 비밀키" 로 복호화하여 데이터를 읽습니다.

        • 비밀로 유지되는 비밀키로 복호화하기에 데이터 유출이 방지될 수 있다고 보는겁니다. (공개키를 알고 있다고 해서 데이터를 알 방법이 없음.)




      2) "비밀키 암호화" -> "공개키 복호화"

      • JWT (Json Web Token), 공인인증체계 와 같은 디지털서명을 만드는데 사용합니다.

        • 디지털서명

          • 발급자 인증 : 간단하게 표현하자면 디지털서명은 "내가 발급한 토큰이다!" 라고 증명하는 것입니다. 말그대로 디지털서명 발급자가 비밀키로 암호화를 하기 때문에 발급자를 인증할 수 있다는겁니다.

          • 데이터 무결성: 데이터가 변조되지 않았고 신뢰할 수 있다는 의미입니다.

      • 공개키를 안다면 누구나 열 수 있기에 보안 위험성 존재하지만, 발급자가 보낸것이 100% 신뢰 가능하다는 점