26 the keys as key pairs. This means that if one key in the pair is used to encrypt |
26 the keys as key pairs. This means that if one key in the pair is used to encrypt |
27 some data, only the other key can decrypt it, and vice versa. </p> <fig id="GUID-B943398C-3D1A-5400-8D6B-0B5CFAA91426"> |
27 some data, only the other key can decrypt it, and vice versa. </p> <fig id="GUID-B943398C-3D1A-5400-8D6B-0B5CFAA91426"> |
28 <title>The diagram above shows the encryption and decryption process using: |
28 <title>The diagram above shows the encryption and decryption process using: |
29 an asymmetric algorithm; a plaintext message, M; a private key, K1, and a |
29 an asymmetric algorithm; a plaintext message, M; a private key, K1, and a |
30 public key, K2 (or vice versa); and the ciphertext, K1(M). </title> |
30 public key, K2 (or vice versa); and the ciphertext, K1(M). </title> |
31 <image href="GUID-B172B71E-10DE-5AC6-9F10-A7EC74CE0B7F_d0e382778_href.png" placement="inline"/> |
31 <image href="GUID-B172B71E-10DE-5AC6-9F10-A7EC74CE0B7F_d0e363629_href.png" placement="inline"/> |
32 </fig> <p>Although it varies depending on the specific algorithm, the generation |
32 </fig> <p>Although it varies depending on the specific algorithm, the generation |
33 of asymmetric keys is much slower than symmetric key generation. </p> <p>There |
33 of asymmetric keys is much slower than symmetric key generation. </p> <p>There |
34 are four basic primitives in asymmetric cryptography: encryption and decryption, |
34 are four basic primitives in asymmetric cryptography: encryption and decryption, |
35 and signing and verification. </p> <p id="GUID-7120B4FA-46C6-5856-AF46-942D959AD34B"><b>Encryption |
35 and signing and verification. </p> <p id="GUID-7120B4FA-46C6-5856-AF46-942D959AD34B"><b>Encryption |
36 schemes</b> </p> <p>In order to encrypt a message with an asymmetric scheme, |
36 schemes</b> </p> <p>In order to encrypt a message with an asymmetric scheme, |
146 Reference material. </p> <p><b>RSA, padding and associated classes</b> </p> <fig id="GUID-6066E2FF-34DA-57F1-A90A-E126887D34A8"> |
146 Reference material. </p> <p><b>RSA, padding and associated classes</b> </p> <fig id="GUID-6066E2FF-34DA-57F1-A90A-E126887D34A8"> |
147 <title>The inheritance diagram above shows the <codeph>RInteger</codeph> and <codeph>CRSAParameters</codeph> classes, |
147 <title>The inheritance diagram above shows the <codeph>RInteger</codeph> and <codeph>CRSAParameters</codeph> classes, |
148 and also the <codeph>CEncryptor</codeph>, <codeph>CDecryptor</codeph> and <codeph>CPadding</codeph> abstract |
148 and also the <codeph>CEncryptor</codeph>, <codeph>CDecryptor</codeph> and <codeph>CPadding</codeph> abstract |
149 classes. Also shown are the following classes from the Cryptography API: <codeph>TInteger</codeph>, <codeph>MCryptoSystem</codeph>, <codeph>CRSAPKCS1v15Decryptor</codeph>, <codeph>CRSAPKCS1v15Encryptor</codeph>, <codeph>CRSAPrivateKey</codeph>, <codeph>CRSAPublicKey</codeph>, <codeph>CRSAPrivateKeyStandard</codeph>, <codeph>CRSAPrivateKeyCRT</codeph>, <codeph>CRSAKeyPair</codeph>, <codeph>CPaddingPKCS7</codeph>, <codeph>CPaddingPKCS1Encryption</codeph>, <codeph>CPaddingNone</codeph>, <codeph>CPaddingPKCS1Signature</codeph>, and <codeph>CPaddingSSLv3</codeph>. |
149 classes. Also shown are the following classes from the Cryptography API: <codeph>TInteger</codeph>, <codeph>MCryptoSystem</codeph>, <codeph>CRSAPKCS1v15Decryptor</codeph>, <codeph>CRSAPKCS1v15Encryptor</codeph>, <codeph>CRSAPrivateKey</codeph>, <codeph>CRSAPublicKey</codeph>, <codeph>CRSAPrivateKeyStandard</codeph>, <codeph>CRSAPrivateKeyCRT</codeph>, <codeph>CRSAKeyPair</codeph>, <codeph>CPaddingPKCS7</codeph>, <codeph>CPaddingPKCS1Encryption</codeph>, <codeph>CPaddingNone</codeph>, <codeph>CPaddingPKCS1Signature</codeph>, and <codeph>CPaddingSSLv3</codeph>. |
150 </title> |
150 </title> |
151 <image href="GUID-2972C100-EE68-5182-927C-3C46E8F5C0DD_d0e383129_href.png" placement="inline"/> |
151 <image href="GUID-2972C100-EE68-5182-927C-3C46E8F5C0DD_d0e363980_href.png" placement="inline"/> |
152 </fig> <fig id="GUID-28D2A983-B665-57ED-AB50-C33A9CE12045"> |
152 </fig> <fig id="GUID-28D2A983-B665-57ED-AB50-C33A9CE12045"> |
153 <title>The inheritance diagram above shows the <codeph>CRSASigner</codeph> and <codeph>CRSAVerifier</codeph> classes. |
153 <title>The inheritance diagram above shows the <codeph>CRSASigner</codeph> and <codeph>CRSAVerifier</codeph> classes. |
154 Also shown are the following classes from the Cryptography API: <codeph>MSignatureSystem</codeph>, <codeph>CSigner</codeph>, <codeph>CRSAPKCS1v15Signer</codeph>, <codeph>CRSAParameters</codeph>, <codeph>CRSAPrivateKey</codeph>, <codeph>CRSAPublicKey</codeph>, <codeph>CPadding</codeph>, <codeph>CPaddingPKCS1Signature</codeph>, <codeph>CVerifier</codeph>, and <codeph>CRSAPKCS1v15Verifier</codeph>. |
154 Also shown are the following classes from the Cryptography API: <codeph>MSignatureSystem</codeph>, <codeph>CSigner</codeph>, <codeph>CRSAPKCS1v15Signer</codeph>, <codeph>CRSAParameters</codeph>, <codeph>CRSAPrivateKey</codeph>, <codeph>CRSAPublicKey</codeph>, <codeph>CPadding</codeph>, <codeph>CPaddingPKCS1Signature</codeph>, <codeph>CVerifier</codeph>, and <codeph>CRSAPKCS1v15Verifier</codeph>. |
155 </title> |
155 </title> |
156 <image href="GUID-860DCACE-4C5A-508F-B94C-12336E96D1C7_d0e383173_href.png" placement="inline"/> |
156 <image href="GUID-860DCACE-4C5A-508F-B94C-12336E96D1C7_d0e364024_href.png" placement="inline"/> |
157 </fig> <p><b>DSA and associated classes</b> </p> <fig id="GUID-97AB5216-F33B-52B6-83B5-08B6FB623DE4"> |
157 </fig> <p><b>DSA and associated classes</b> </p> <fig id="GUID-97AB5216-F33B-52B6-83B5-08B6FB623DE4"> |
158 <title>The inheritance diagram above shows the <codeph>CDSAParameters</codeph> class. |
158 <title>The inheritance diagram above shows the <codeph>CDSAParameters</codeph> class. |
159 Also shown are the following classes from the Cryptography API: <codeph>MSignatureSystem</codeph>, <codeph>TInteger</codeph>, <codeph>RInteger</codeph>, <codeph>CSigner</codeph>, <codeph>CDSASigner</codeph>, <codeph>CDSASignature</codeph>, <codeph>CDSAPrimeCertificate</codeph>, <codeph>CDSAKeyPair</codeph>, <codeph>CDSAPrivateKey</codeph>, <codeph>CDSAPublicKey</codeph>, <codeph>CVerifier</codeph>, |
159 Also shown are the following classes from the Cryptography API: <codeph>MSignatureSystem</codeph>, <codeph>TInteger</codeph>, <codeph>RInteger</codeph>, <codeph>CSigner</codeph>, <codeph>CDSASigner</codeph>, <codeph>CDSASignature</codeph>, <codeph>CDSAPrimeCertificate</codeph>, <codeph>CDSAKeyPair</codeph>, <codeph>CDSAPrivateKey</codeph>, <codeph>CDSAPublicKey</codeph>, <codeph>CVerifier</codeph>, |
160 and <codeph>CDSAVerifier</codeph>. </title> |
160 and <codeph>CDSAVerifier</codeph>. </title> |
161 <image href="GUID-C218732C-E675-5116-96FE-2604495C2C92_d0e383225_href.png" placement="inline"/> |
161 <image href="GUID-C218732C-E675-5116-96FE-2604495C2C92_d0e364076_href.png" placement="inline"/> |
162 </fig> <p><b>DH and associated classes</b> </p> <fig id="GUID-0F963BD7-810F-5D1F-99BC-284DD38AAB1D"> |
162 </fig> <p><b>DH and associated classes</b> </p> <fig id="GUID-0F963BD7-810F-5D1F-99BC-284DD38AAB1D"> |
163 <title> The inheritance diagram above shows the <codeph>CDHParameters</codeph> class. |
163 <title> The inheritance diagram above shows the <codeph>CDHParameters</codeph> class. |
164 Also shown are the following classes from the Cryptography API: <codeph>TInteger</codeph>, <codeph>RInteger</codeph>, <codeph>CDHPrivateKey</codeph>, <codeph>CDHPublicKey</codeph>, <codeph>CDH</codeph>, and <codeph>CDHKeyPair</codeph>. </title> |
164 Also shown are the following classes from the Cryptography API: <codeph>TInteger</codeph>, <codeph>RInteger</codeph>, <codeph>CDHPrivateKey</codeph>, <codeph>CDHPublicKey</codeph>, <codeph>CDH</codeph>, and <codeph>CDHKeyPair</codeph>. </title> |
165 <image href="GUID-A3155AA1-8D42-5855-AD49-089DC510BCB0_d0e383259_href.png" placement="inline"/> |
165 <image href="GUID-A3155AA1-8D42-5855-AD49-089DC510BCB0_d0e364110_href.png" placement="inline"/> |
166 </fig> </section> |
166 </fig> </section> |
167 </conbody></concept> |
167 </conbody></concept> |