rsa 알고리즘은 비대칭 암호화 알고리즘입니다. 비대칭은 실제로 두 개의 다른 키,즉 공개 키와 개인 키에서 작동한다는 것을 의미합니다. 이름은 공개 키가 모든 사람에게 주어지고 개인 키가 비공개로 유지된다는 것을 설명합니다.

비대칭 암호화의 예:

  1. 클라이언트(예:브라우저)는 공개 키를 서버에 보내고 일부 데이터를 요청합니다.
  2. 서버는 클라이언트의 공개 키를 사용하여 데이터를 암호화하고 암호화 된 데이터를 전송합니다.
  3. 클라이언트는이 데이터를 수신하여 해독합니다.,

이므로 비대칭,아무도 다른 사람을 제외하고 브라우저 데이터를 해독하는 경우에도 제삼자가 공공의 열쇠 브라우저입니다.

아이디어! RSA 의 아이디어는 큰 정수를 인수 분해하기가 어렵다는 사실에 근거합니다. 공개 키는 하나의 숫자가 두 개의 큰 소수의 곱셈 인 두 개의 숫자로 구성됩니다. 또한 개인 키는 동일한 두 소수에서 파생됩니다. 그래서 누군가가 큰 숫자를 인수 분해 할 수 있다면 개인 키가 손상됩니다., 따라서 암호화 완전히 거짓말을 키 크기 그리고 우리는 더블룸 또는 트리플 키 크기,힘의 암호화를 기하 급수적으로 증가합니다. RSA 키는 일반적으로 1024 또는 2048 비트 길이 일 수 있지만 전문가들은 가까운 장래에 1024 비트 키가 깨질 수 있다고 생각합니다. 그러나 지금까지는 실행 불가능한 작업 인 것 같습니다.

우리는 배우 뒤에 메커니즘 RSA 알고리즘:

    >>생성 공개 키:

  • 선택이 두 가지 주요 없습니다. 가정 P=53Q=59.,이제 공개 키의 첫 번째 부분:n=P*Q=3127.
  • 의 공개 키를 만든 n 및 전자
  • >>생성하는 개인 키:

    
    
  • 우리는 우리를 계산해야 Φ(n):는 Φ(n)=(P-1)(Q-1)그래서, Φ(n)=3016
  • 금을 계산하는 개인 키,d:d=(k*Φ(n)+1)/전자에 대한 어떤 정수 기 k=2,값 d2011.,
  • 이제 우리는 우리의 공개키(n=3127,e=3)개인 키(d=2011)

    이제 우리는 우리를 암호화”안녕”:

    
    
  • 번호로 문자를 변환:H=8I=9
  • 따라서 암호화된 데이터 c=89e 모 n. 따라서 우리의 암호화된 데이터를 제공하 1394
  • 이제 우리는 해독 1394:

  • 암호 해독 데이=cd 모 n. 따라서 우리의 암호화된 데이터를 제공하 89
  • 8=H I=9 즉,”HI”.,

    아래는 C 의 구현 RSA 알고리즘에 대한 작은 값:

    
    
    
    

    출력:

    Message data = 12.000000Encrypted data = 3.000000Original Message Sent = 12.000000

    이 문서에 기여하 Mohit Gupta_OMG🙂. 는 경우 다음과 같 GeeksforGeeks 및 참여하고 싶다면,당신은 또한 수를 사용하여 문서를 써주세요 contribute.geeksforgeeks.org 또는 메일로서 귀하의 문서 [email protected]. 시 기사에 나오는 GeeksforGeeks 메인 페이지 및 도움말 기타 괴짜입니다.