전통문화대전망 - 전통 미덕 - 공개키 암호화 시스템과 RSA 공개키 알고리즘

공개키 암호화 시스템과 RSA 공개키 알고리즘

공개키 암호체계와 RSA 공개키 알고리즘

이 글에서는 공개키 암호체계의 아이디어와 특징을 간략하게 소개하고, 구체적으로 이론적 기초, 작동원리, 구체적인 구현과정을 소개한다. 제공되며, 알고리즘이 구현되는 방법을 설명하기 위해 간단한 예가 사용됩니다. 이 기사의 끝 부분에는 RSA 알고리즘의 현재 단점과 솔루션이 요약되어 있습니다.

키워드 : 공개키암호화, 공개키, 개인키, RSA

§1 서문

컴퓨터 네트워킹의 점진적인 실현과 함께 인터넷의 전망 미래는 점점 더 좋아지고 있습니다. 글로벌 경제 발전은 정보 경제 시대로 접어들고 있으며, 지식 경제가 구체화되기 시작했습니다. 개인정보통신이든 전자상거래의 발전이든 컴퓨터정보의 비밀유지 문제는 점점 더 중요해지고 있으며, 인터넷상의 정보전송에 대한 보안과 정보보안의 확보가 시급히 요구되고 있습니다. 정보 보안 기술은 정보 이론, 컴퓨터 과학, 암호화 및 기타 지식 측면을 포함하는 포괄적인 학문입니다. 주요 임무는 정보의 보안, 기밀성 및 신뢰성을 달성하기 위해 컴퓨터 시스템 및 통신 네트워크의 정보 보호 방법을 연구하는 것입니다. 시스템. 그 중 정보보안의 핵심은 암호기술이다. 암호화 기술은 수학, 컴퓨터 과학, 전자 및 통신 및 기타 여러 분야를 통합하는 학제간 주제입니다. 기밀 정보의 암호화를 보장할 수 있을 뿐만 아니라 디지털 서명, 신원 확인, 시스템 보안 및 기타 기능을 실현할 수 있습니다. 현대화 발전의 중요한 과학 중 하나입니다. 이 기사에서는 공개 키 암호화 시스템과 현재 시스템에서 가장 널리 사용되는 RSA 알고리즘에 대해 간략하게 소개합니다.

§2 공개 키 암호화 시스템

공개 키 암호화 시스템을 설명하기 위해 먼저 다양한 암호화 알고리즘을 이해해 보겠습니다. 현재 암호화 알고리즘은 다음과 같은 방식에 따라 단일 키 암호화로 나눌 수 있습니다. 키 방법 알고리즘과 공개 키 암호화 알고리즘.

2.1. 단일 키 암호

대칭 암호라고도 하며 암호화 작업과 복호화 작업이 동일한 키를 사용하며 보낸 사람의 정보는 비교적 전통적인 암호화 방법입니다. 정보 수신자는 정보를 전송하고 처리할 때 비밀번호(대칭 비밀번호라고 함)를 모두 보유해야 합니다. 따라서 통신 당사자 모두 키를 획득하고 키를 비밀로 유지해야 합니다.

단일 키 암호화 시스템의 보안은 다음 두 가지 요소에 따라 달라집니다. 첫째, 암호화 알고리즘은 충분히 강력해야 하며, 암호문 자체만을 기반으로 정보를 해독하는 것은 사실상 불가능합니다. 암호화 알고리즘은 충분히 강력해야 하며, 암호화 방법의 보안은 알고리즘의 비밀이 아닌 키의 비밀에 달려 있습니다. 따라서 우리는 알고리즘의 비밀을 보장할 필요가 없습니다(실제로 많은 단일 키). 실제로 사용되는 암호 시스템 알고리즘은 공개되어 있지만 키의 기밀성을 보장해야 합니다.

이러한 단일 키 암호화의 특성을 통해 우리는 두 가지 주요 문제가 있음을 쉽게 알 수 있습니다. 첫째, 키 수량 문제입니다. 단일 키 암호 시스템에서는 각 쌍의 커뮤니케이터에 한 쌍의 키가 필요합니다. 사용자 수가 증가하면 키의 개수도 기하급수적으로 늘어납니다. 따라서 네트워크 통신에서는 많은 수의 키를 생성하고 저장해야 합니다. 그리고 할당은 해결하기 어려운 문제가 될 것입니다. 둘째, 키 분배 문제가 있습니다. 단일 키 암호화 시스템에서 암호화의 보안은 전적으로 키 보호에 달려 있습니다. 그러나 두 통신 당사자가 동일한 키를 사용하므로 사람들은 보안을 보장하기 위해 서로 키를 교환해야 합니다. 일부 추가 키를 사용하여 키를 전송하기 위해 특수 메신저를 사용하는 등 보안 채널을 통해 키를 배포하려면 이 방법은 비용이 많이 들고 매우 비현실적이라고 할 수도 있습니다. 특히 사람들이 키를 사용하는 컴퓨터 네트워크 환경에서는 더욱 그렇습니다. 암호화된 키 파일을 전송하기 위해 네트워크를 사용하지만 키를 배포하려면 또 다른 보안 채널이 필요합니다. 이는 분명히 매우 현명하지 못하고 터무니없는 일입니다.

2.2 공개키 암호화

단일키 암호화 시스템은 해결하기 어려운 단점을 갖고 있기 때문에 보다 새롭고, 보다 효과적이며, 더 발전된 암호화 시스템이 필요합니다. 이 경우, 수많은 과학자들을 괴롭혔던 키 배포 문제를 획기적으로 해결한 새로운 공개 키 암호화 시스템이 등장했습니다. 실제로 이 시스템에서는 키를 엄격하게 비밀로 유지해야 하는 키를 배포할 필요도 없습니다. , 이 획기적인 발전은 지난 2000년 동안 단일 코드 대체 암호가 발명된 이후 암호학 역사상 가장 큰 성과로 간주됩니다.

이 새로운 아이디어는 1970년대 미국 스탠포드 대학의 학자인 Diffie와 Hellman이 제안한 것입니다. 이 시스템과 단일 키 암호화의 가장 큰 차이점은 다음과 같습니다.

공개 키 암호화 시스템에서 암호화와 복호화는 서로 다른 키를 사용합니다(대칭 키와 비교하여 사람들은 이를 비대칭 키라고 부릅니다). 즉, 두 키 중 하나를 사용하는 것입니다. 하나의 키로 암호화된 정보입니다. 다른 키로만 복호화할 수 있습니다. 이를 통해 통신 당사자는 사전에 키를 교환하지 않고도 비밀리에 통신할 수 있습니다. 암호화 키와 알고리즘은 공개됩니다. 누구나 이 키를 사용하여 파일을 암호화하고 수신자에게 보낼 수 있습니다. 이 암호화 키는 공개 키라고도 하며, 수신자는 암호화된 파일을 암호화하는 데 사용할 수 있습니다. 파일을 복호화 키로 복호화하는데, 이 키는 자신이 개인적으로 제어하므로 배포할 필요가 없으므로 키 배포 문제를 해결하는 개인 키라고도 합니다.

이 아이디어를 설명하기 위해 다음 비유를 고려해 볼 수 있습니다.

안전하지 않은 채널에서 통신하는 두 사람은 Alice(수신자)와 Bob(발신자)으로 가정됩니다. 라이벌인 오스카의 방해를 받지 않고 안전하게 통신할 수 있습니다. 앨리스는 한 번의 클릭으로 누구나 잠글 수 있는 자물쇠(공개 키에 해당)를 사용했는데, 그 열쇠는 오직 앨리스의 키(개인 키에 해당)로만 열 수 있습니다. 그런 다음 Alice는 수많은 자물쇠를 외부 세계로 보냅니다. Bob과 같은 누군가가 그녀에게 편지를 보내고 싶을 때 그는 상자를 찾아 Alice의 자물쇠 중 하나로 잠근 다음 Alice에게 보내기만 하면 됩니다. 이번에는 누구라도 (밥을 포함하여 열쇠를 가지고 있는 앨리스를 제외하고는 더 이상 상자를 열 수 없기 때문에 오스카가 앨리스의 자물쇠를 찾아낸다고 해도 오스카가 통신 과정에서 상자를 가로챌 수 있다고 하더라도 그는 상자를 열지 않고는 열 수 없습니다. 앨리스의 키, 그리고 앨리스의 키는 배포할 필요가 없으므로 오스카는 이 "개인 키"를 얻을 수 없습니다.

위의 소개를 보면 공개키 암호화의 개념이 복잡하지 않다는 것을 알 수 있으며, 이를 구현하는데 있어서 핵심적인 문제는 공개키와 개인키를 어떻게 결정하는지와 암호화/복호화 알고리즘, 즉 "앨리스의 자물쇠와 열쇠" 문제를 찾는 방법입니다. 이 시스템에서 PK는 공개 정보이며 암호화 키로 사용되는 반면 SK는 사용자에게 비밀로 유지되어야 하며 암호 해독 키로 사용된다고 가정합니다. 암호화 알고리즘 E와 암호 해독 알고리즘 D도 공개됩니다. SK와 PK가 쌍으로 나타나더라도 PK를 기준으로 SK를 계산할 수는 없습니다.

① 암호화 키 PK가 평문 X를 암호화한 후, 복호화 키 SK로 복호화한 후 평문을 복구하거나 DSK(EPK( X)) = X

②암호화 키를 복호화에 사용할 수 없음, 즉 DPK(EPK(X))≠X

③PK와 SK의 쌍은 쉽게 생성 가능 컴퓨터에서.

④ 알려진 PK로부터 SK를 추론하는 것은 사실상 불가능하다.

⑤암호화 및 복호화 작업은 역으로 수행될 수 있습니다. 즉, EPK(DSK(X)) = X

위의 조건에서 공개 키 암호화 방식을 사용함을 알 수 있습니다. 시스템, 암호화 키가 암호 해독 키와 동일하지 않습니다. 암호화 키는 공개할 수 있으므로 모든 사용자가 공개 키를 사용하여 이 사용자에게 전송된 정보를 암호화하고 보낼 수 있습니다. 사용자가 저장한 유일한 개인 키는 기밀이며 암호문을 복원하고 해독할 수 있습니다. 이론적으로는 암호화 키로부터 복호화 키를 추론할 수 있지만 이러한 알고리즘 설계는 실제로 불가능하거나, 추론할 수는 있지만 시간이 오래 걸려 실행 불가능하게 됩니다. 따라서 암호화 키를 공개해도 키 보안이 손상되지는 않습니다.

이 시스템 아이디어는 간단하지만 이 시스템을 구현하는 데 적합한 알고리즘을 찾는 방법은 암호 해독가를 정말로 괴롭히는 문제입니다. Pk와 SK가 쌍이므로 상호 상호 작용이 있기 때문입니다. PK에서 SK를 파생시키면 시스템은 더 이상 안전하지 않습니다. 따라서 적절한 Pk와 SK를 생성하고, PK에서 SK를 도출하는 것을 불가능하게 만드는 적절한 알고리즘을 어떻게 찾는지는 암호학자들이 시급히 해결해야 할 어려운 문제입니다. 이 문제는 공개 키 암호화 시스템의 개발을 오랫동안 지연시켰습니다.

이 문제를 해결하기 위해 암호학자들은 수학적 트랩도어 단방향 함수를 고려했습니다. 아래에서는 이에 대한 비공식적 정의를 제시할 수 있습니다.

Alice의 공개 암호화 함수는 계산하기 쉬워야 합니다. , 그 역(즉, 암호 해독 기능)을 계산하는 것은 (Alice가 아닌 다른 사람에게는) 어려울 것입니다. Y=f(x) 형식의 많은 함수의 경우, 주어진 독립 변수 x 값에 대해 함수 Y의 값을 계산하는 것이 쉽고, 주어진 Y 값으로부터 많은 경우 함수에 따라 계산됩니다. f(x) x 값의 관계는 매우 어렵습니다. 계산하기는 쉽지만 반전하기 어려운 함수를 종종 단방향 함수라고 합니다. 암호화 과정에서 암호화 함수 E가 단항주사 함수로 되어 복호화될 수 있기를 바랍니다. 아직 단방향으로 입증된 기능은 없지만 단방향으로 간주되는 단사 기능이 많이 있습니다.

예를 들어, 다음 함수는 단방향 함수로 간주됩니다. n은 두 개의 큰 소수 p와 q의 곱이고 b는 양의 정수라고 가정합니다.

f (x )= x b mod n

(gcd(b,ψ(n))=1이면 실제로 이것은 아래에서 설명할 RSA 암호화 기능입니다.)

p>

공개키 암호 시스템을 구축하려면 단방향 주입 함수를 제공하는 것만으로는 충분하지 않습니다. Alice의 관점에서 E는 수신된 메시지를 효율적인 방법으로 해독해야 하기 때문에 단방향일 필요가 없습니다. 따라서 Alice는 E를 쉽게 찾을 수 있도록 함수의 비밀 정보가 포함된 트랩도어를 가져야 합니다. 즉, Alice는 복호화 기능 D를 제공할 수 있는 추가적인 비밀 지식 SK를 가지고 있기 때문에 효과적으로 복호화할 수 있습니다. 따라서 단방향 함수이고 특정 트랩도어에 대한 지식이 주어지면 그 역함수를 쉽게 찾을 수 있는 경우 함수를 트랩도어 단방향 함수라고 부릅니다.

위의 함수 f(x) =?xb mod n을 고려해보세요. 우리는 역함수 f -1이 적절한 값 a에 대해 f(x) = xa?mod n과 유사한 형태를 갖는다는 것을 알 수 있습니다. 트랩도어는 n의 인수분해를 사용하여 (주어진 b에 대해) 올바른 인덱스 a를 효과적으로 계산합니다.

편의상 특정 유형의 트랩도어 단방향 함수를 ?로 간주합니다. 그런 다음 공개 암호화 기능인 f-1이 비밀 암호 해독 기능이므로 ?에 속하는 기능 f를 무작위로 선택합니다. 그러면 공개키 암호화 시스템이 실현될 수 있다.

트랩도어 단방향 함수에 대한 위의 아이디어를 바탕으로 학자들은 많은 공개 키 암호화 방법을 제안했으며, 그 보안은 복잡한 수학적 문제에 기반을 두고 있습니다. 그들이 기반으로 하는 수학적 문제에 따르면, 적어도 다음 세 가지 유형의 시스템이 현재 안전하고 효율적인 것으로 간주됩니다: 큰 정수 인수분해 시스템(대표적으로 RSA), 타원 곡선 이산 로그 시스템(ECC) 및 이산 로그 시스템(대표적인 것) DSA입니다).

§3 RSA 알고리즘

3.1 소개

가장 유명하고 널리 사용되는 공개 키 시스템 RSA는 1978년 MIT에서 개발되었습니다. Rivest, MIT의 Shamir와 Adleman은 "Methods for Obtaining Digital Signatures and Public Key Cryptosystems"라는 제목의 논문에서 이를 제안했습니다. 수론과 블록 암호화 시스템을 기반으로 한 비대칭(공개 키) 암호화 시스템입니다. 그 이름은 세 명의 발명가의 이니셜에서 유래되었습니다. 그 보안성은 대정수 소인수분해의 어려움에 기반을 두고 있으며, 대정수 인수분해 문제는 수학에서 유명한 문제로 현재까지 이를 해결할 수 있는 효과적인 방법이 없기 때문에 RSA 알고리즘의 보안이 보장될 수 있다. RSA 시스템은 공개키 시스템의 가장 일반적인 방식으로, 암호화 및 디지털 서명에 공개키 암호화를 사용하는 대부분의 제품과 표준은 RSA 알고리즘을 사용합니다.

RSA 알고리즘은 데이터 암호화와 디지털 서명에 모두 사용할 수 있는 최초의 알고리즘으로, 공용 네트워크에서 정보를 암호화하고 인증하는 기본 방법을 제공합니다. 일반적으로 먼저 한 쌍의 RSA 키를 생성합니다. 그 중 하나는 사용자가 저장한 비밀 키이고, 다른 하나는 외부 세계에 공개되거나 네트워크 서버에 등록될 수도 있는 공개 키입니다. 키를 사용하여 파일을 암호화하고 개인에게 전송하면 개인은 개인 키를 사용하여 암호를 해독하고 수락할 수 있습니다. 기밀성을 높이려면 RSA 키 길이가 500비트 이상이어야 하며 일반적으로 1024비트가 권장됩니다.

이 알고리즘은 RSA 알고리즘의 보안과 효율성을 보장하는 다음 두 가지 사실을 기반으로 합니다.

1) 숫자가 소수인지 여부를 결정하는 빠른 알고리즘이 있습니다.

p>

2) 합성수의 소인수를 결정하는 빠른 알고리즘은 아직 발견되지 않았습니다.

3.2 작동 원리

1) 서로 다른 두 개의 큰 소수 p와 q를 무작위로 선택하고 r=p*q를 계산합니다.

2) 무작위로; A 큰 정수 e를 선택하고, e는 (p-1)*(q-1)과 상대적으로 소수이며, 정수 e는 암호화 키로 사용됩니다. 참고: e를 선택하는 것은 쉽습니다. 예를 들어 p와 q보다 큰 모든 소수를 사용할 수 있습니다.

3) 암호 해독 키 d 결정: d * e = 1 모듈로 (p - 1) * (q - 1) d는 e, p 및 q를 기반으로 쉽게 계산할 수 있습니다.

4) 정수 r과 e는 공개하지만 d는 공개하지 않습니다.

5) 일반 텍스트 P(P가 r보다 작은 정수라고 가정)를 암호문 C로 암호화합니다. is:

C = Pe 모듈로 r

6) 암호문 C를 일반 텍스트 P로 해독합니다. 계산 방법은 다음과 같습니다.

P = Cd 모듈로 r

p> p>

그러나 r과 e만을 기준으로 d를 계산하는 것은 불가능합니다(p와 q는 아님). 따라서 누구나 일반 텍스트를 암호화할 수 있지만 d를 아는 승인된 사용자만 암호 텍스트를 해독할 수 있습니다.

3.3 간단한 예

이 알고리즘의 작동 과정을 설명하기 위해 아래에 간단한 예를 제시합니다. 물론 여기서는 소수만 사용할 수 있지만 위에서 언급한 것처럼 안전을 보장하기 위해 실제 응용 프로그램에서는 훨씬 더 많은 숫자를 사용합니다.

예: p=3, q=5, r=15, (p-1)*(q-1)=8을 선택합니다. e=11(p와 q보다 큰 소수)을 선택하고 d =3부터 d * 11 = 1 모듈로 8까지 계산합니다.

일반 텍스트가 정수 13이라고 가정합니다.

그러면 암호문 C는

C = Pe 모듈로 r

= 1311 모듈로 15

= 1,792,160,394,037 모듈로 15

= 7

= 7

= 1입니다. p>

일반 텍스트 P를 다음과 같이 복구합니다.

P = Cd 모듈로 r

= 73 모듈로 15

= 343 모듈로 15

= 13

e와 d는 서로 반대이기 때문에 공개 키 암호화 방법을 사용하면 수신자가 서명이 아닌지 확인할 수 있는 방식으로 암호화된 정보를 "서명"할 수 있습니다. 서서히 나아가는.

A와 B가 공개키 암호화를 통해 데이터를 전송하려고 한다고 가정하자. A와 B는 각각 암호화 알고리즘과 해당 키를 공개하지만, 복호화 알고리즘과 해당 키는 공개하지 않는다. A와 B의 암호화 알고리즘은 각각 ECA와 ECB이고, 복호화 알고리즘은 각각 DCA와 DCB이며, ECA와 DCA는 상호적이며, ECB와 DCB는 상호적입니다. A가 B에게 일반 텍스트 P를 보내려면 단순히 ECB(P)를 보내는 것이 아니라 먼저 자신의 복호화 알고리즘 DCA를 P에 적용한 다음 암호화 알고리즘 ECB를 사용하여 결과를 암호화한 후 보냅니다.

암호문 C는 다음과 같습니다.

C = ECB(DCA (P))

B는 C를 수신한 후 복호화 알고리즘 DCB 및 암호화를 순차적으로 적용합니다. ECA, 일반 텍스트 P 가져오기:

ECA(DCB(C))

= ECA(DCB(ECB(DCA(P))))

= ECA (DCA (P)) /*DCB와 ECB가 서로 취소*/

=

P? /*DCB와 ECB가 서로 취소*/

암호화 프로세스에서 DCA 알고리즘을 사용하는 경우에만 ECA를 사용하여 P를 얻을 수 있으므로 B는 메시지가 실제로 A에서 전송되었음을 확신합니다. A만이 DCA 알고리즘을 알고 B도 누구도 알 수 없습니다. , A의 서명을 위조할 수 있습니다.

3.4 장점과 단점

3.4.1 장점

RSA 알고리즘은 암호화와 디지털 서명 모두에 사용할 수 있는 최초의 알고리즘이기도 합니다. 이해하고 운영하기 쉽습니다. RSA는 가장 널리 연구된 공개 키 알고리즘으로, 제안된 지 거의 20년이 지났으며 다양한 공격을 경험했으며 일반적으로 현재 최고의 공개 키 체계 중 하나로 간주됩니다. 알고리즘의 암호화 키와 암호화 알고리즘이 분리되어 있어 키 분배가 더욱 편리해졌습니다. 특히 컴퓨터 네트워크 환경에 적합합니다. 인터넷 사용자 수가 많은 경우 암호화 키를 전화번호부에 인쇄할 수 있습니다. 사용자가 다른 사용자와 은밀하게 통신하고 싶다면 공개키북에서 상대방의 암호화 키를 찾아 이를 이용해 전송되는 정보를 암호화하면 된다. 상대방은 메시지를 받은 후 자신만 알고 있는 복호화 키를 사용하여 메시지를 복호화하고 메시지 내용을 파악합니다. RSA 알고리즘은 다수의 네트워크 사용자의 키 관리 문제를 해결한다는 것을 알 수 있습니다. 이는 대칭 암호화 시스템에 비해 공개 키 암호화 시스템의 가장 두드러진 장점입니다.

3.4.2 단점

1) 키 생성이 번거롭다. 소수 생성 기술의 한계로 인해 일회성 암호화가 어렵다.

2) 보안성, RSA의 보안은 큰 수의 인수분해에 의존하지만, RSA를 해독하는 어려움이 큰 수의 인수분해의 어려움과 동일하다는 것은 이론적으로 입증되지 않았으며, 대부분의 사람들은 암호화 커뮤니티에서는 팩토링이 NPC 문제가 아닌 경향이 있습니다. 현재 사람들은 십진수 140자리가 넘는 큰 소수를 분해할 수 있기 때문에 더 긴 키와 느린 속도를 사용해야 합니다. 또한 사람들은 현재 선택된 암호문 공격과 같은 RSA 공격 방법을 적극적으로 찾고 있습니다. 및 일반 공격자 특정 정보를 위장(Blind)하여 개인키를 가진 주체에게 서명하게 하는 것입니다. 그러면 계산 후에 원하는 정보를 얻을 수 있다. 실제로 공격은 동일한 약점을 이용합니다. 즉, 지수화는 입력의 곱셈 구조를 유지한다는 사실입니다.

(XM)d = Xd *Md mod n

언급한 바와 같이 앞서 이 고유한 문제는 공개 키 암호화의 가장 유용한 기능에서 비롯되었습니다. 즉, 누구나 공개 키를 사용할 수 있습니다. 그러나 이 문제는 알고리즘적으로 해결될 수 없습니다. 두 가지 주요 방법이 있습니다. 하나는 좋은 공개 키 프로토콜을 사용하여 작업 과정에서 다른 엔터티가 임의로 생성한 정보를 엔터티가 해독하지 않도록 하고 자신이 알고 있는 정보에 서명하지 않도록 하는 것입니다. 하나는 낯선 사람이 보낸 임의의 문서에 절대로 서명하지 않는 것입니다. 서명할 때 먼저 단방향 해시 기능을 사용하여 문서를 해시하거나 동시에 다른 서명 알고리즘을 사용하십시오. 공개 *** 모듈러스를 사용하는 것 외에도 사람들은 암호 해독 인덱스 또는 Φ(n) 및 기타 공격을 사용하려고 합니다.

3) RSA의 패킷 길이가 너무 느리기 때문입니다. 너무 크면 보안을 보장하기 위해 n이 600비트x 이상이어야 하며, 이는 작업 비용을 매우 비싸게 만들고, 특히 속도가 느리기 때문에 대칭 암호화 알고리즘보다 몇 배나 느리고 대규모 분해가 가능합니다. 기술적으로 이 길이는 여전히 증가하고 있으며 이는 표준화된 데이터 형식에 도움이 되지 않습니다.

현재 SET(Secure Electronic Transaction) 프로토콜에서는 CA가 2048비트 키를 사용하고 다른 엔터티가 1024비트 키를 사용하도록 요구합니다. 속도를 위해 사람들은 현재 단일 키와 공개 키 암호화의 조합을 널리 사용하고 있으며 이는 상호 보완적인 장점과 단점이 있습니다. 단일 키 암호화는 암호화 속도가 빠르며 사람들은 이를 사용하여 더 긴 파일을 암호화한 다음 RSA를 사용하여 파일 키를 암호화합니다. 이는 단일 키 암호화의 키 배포 문제에 대한 매우 좋은 솔루션입니다.

§4 결론

현재 전자상거래 및 기타 인터넷 애플리케이션에 대한 수요가 증가함에 따라 공개 키 시스템이 대중화되었습니다. 이러한 요구에는 주로 서버 리소스에 대한 액세스 제어 및 전자 보호가 포함됩니다. 비즈니스 거래뿐만 아니라 권리 보호, 개인 정보 보호, 무선 거래 및 콘텐츠 무결성(예: 뉴스 보도 또는 주식 시세의 신뢰성 보장)과 같은 측면도 포함됩니다. 오늘날 공개 키 기술이 발전함에 따라 시장에서 분명한 발전 추세는 PKI와 운영 체제의 통합입니다. PKI는 "공개 키 인프라"를 의미하는 "공개 키 인프라"의 약어입니다. 공개 키 시스템은 CA 인증, 디지털 서명, 키 교환 및 기타 분야에서 널리 사용됩니다.

가장 널리 사용되는 공개 키 암호화 알고리즘은 RSA입니다. RSA 알고리즘 개발의 원래 개념과 목표는 인터넷을 안전하고 신뢰할 수 있게 만드는 것이었고, DES 알고리즘의 비밀 키가 개방형 채널을 통해 전송 및 배포되는 문제를 해결하는 것을 목표로 했습니다. 실제 결과는 이 문제를 잘 해결할 뿐만 아니라 메시지의 거부 및 거부에 저항하기 위해 메시지의 디지털 서명을 완성하는 데에도 사용할 수 있으며, 디지털 서명을 사용하여 공격자의 불법 행위를 쉽게 발견할 수도 있습니다. 메시지의 변조. 데이터 정보의 무결성을 보호합니다. 지금까지 많은 암호화 기술은 보안 인터넷 연결을 설정하기 위해 웹 브라우저에 필요한 SSL(Secure Interface Layer) 표준을 포함하여 인터넷의 여러 측면에서 널리 사용되는 RSA 알고리즘을 사용합니다. 또한 RSA 암호화 시스템은 스마트 IC 카드, 네트워크 보안 제품에도 적용할 수 있다.

하지만 현재 RSA 알고리즘의 특허기간이 곧 종료되어 타원곡선 기반의 암호화 방식(ECC 알고리즘)으로 대체될 예정이다. RSA 알고리즘과 비교할 때 ECC는 상대적인 장점을 갖고 있어 빠른 대응이 요구되는 오늘날의 전자상거래 발전 추세에 ECC의 특성이 더 적합합니다. 또한 새로운 양자암호화 기술도 개발 중이다.

실제 응용에서 어떤 암호화 알고리즘을 사용해야 하는지는 특정 응용 환경 및 시스템과 결합되어야 하며 단순히 암호화 강도만으로 판단할 수는 없습니다. 실제 환경에서는 암호화 알고리즘 자체 외에도 키의 합리적인 분배, 기존 시스템과의 암호화 효율성 통합, 입출력 분석 등이 구체적으로 고려되어야 하기 때문이다. 네트워크의 발전과 함께 암호화 기술이 발전함에 따라 더욱 안전하고 구현하기 쉬운 알고리즘이 계속해서 생산되어 정보 보안에 대한 더욱 강력한 보장을 제공할 것입니다. 우리는 여기서 암호화 기술이 어디로 갈지 두고 지켜봐야 할 것입니다.

참고 자료:

[1] Douglas R.Stinson. "암호화의 원리와 실제". 베이징: Electronic Industry Press, 2003, 2: 131-132

[2] Simon Singer. "Cryptozoology Story". Haikou: Hainan Publishing House, 2001, 1:271-272

[3] Ying Zhengtianxia. RSA 알고리즘. a2.htm

[5] 해커 중급 자습서 시리즈 No. 10./jiaocheng/10.html