diff --git a/book/source/diag/Component_Key.png b/book/source/diag/Component_Key.png new file mode 100644 index 0000000..630e5ba Binary files /dev/null and b/book/source/diag/Component_Key.png differ diff --git a/book/source/diag/Component_Key.svg b/book/source/diag/Component_Key.svg new file mode 100644 index 0000000..ed3ffaf --- /dev/null +++ b/book/source/diag/Component_Key.svg @@ -0,0 +1,266 @@ + +Component Key- key creation time diff --git a/book/source/diag/Signature_Creation.png b/book/source/diag/Signature_Creation.png new file mode 100644 index 0000000..69b2fdc Binary files /dev/null and b/book/source/diag/Signature_Creation.png differ diff --git a/book/source/diag/Signature_Creation.svg b/book/source/diag/Signature_Creation.svg new file mode 100644 index 0000000..1c8f4d8 --- /dev/null +++ b/book/source/diag/Signature_Creation.svg @@ -0,0 +1,794 @@ + +Signature creationComponent KeySigner private key- key creation timeA cryptographic signature is calculated over the hash digest, using the private key material of the signer.Signing mechanismhash digestA hash digest is calculated from the input data packets and the signature metadata.Signature typeSignature over:Input data packetsSignature metadata- ...This cryptographic signature is then stored in the signature packet.One or more packetsInput Data packetsHash mechanism diff --git a/book/source/diag/Signature_Verification.png b/book/source/diag/Signature_Verification.png new file mode 100644 index 0000000..3f99878 Binary files /dev/null and b/book/source/diag/Signature_Verification.png differ diff --git a/book/source/diag/Signature_Verification.svg b/book/source/diag/Signature_Verification.svg new file mode 100644 index 0000000..30f6721 --- /dev/null +++ b/book/source/diag/Signature_Verification.svg @@ -0,0 +1,825 @@ + +Signature verificationComponent KeySigner public key- key creation timeThe cryptographic signature is verified against the hash digest, using the public key of the signer.Signature verification mechanismhash digestA hash digest is calculated from the input data packets and the signature metadata.Signature typeSignature over:Input data packetsSignature metadata- ...One or more packetsInput Data packetsHash mechanism diff --git a/book/source/diag/diag_library_draft.svg b/book/source/diag/diag_library_draft.svg index 5b001a5..98a5202 100644 --- a/book/source/diag/diag_library_draft.svg +++ b/book/source/diag/diag_library_draft.svg @@ -13,7 +13,92 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">AAA1 8CBB 2546 85C5 8358 3205 63FD 37B6 AAA1 8CBB 2546 85C5 8358 3205 63FD 37B6 7F33 00F9 FB0E C457 378C D29F 1026 98B37F33 00F9 FB0E C457 378C D29F 1026 98B3Certificate packet listCertificate packet listCertifying self-signature for User IDCertifying self-signature for User IDSecret-Key packetSecret-Key packetsecret key materialSecret Key Materials2k_usage (encryption information)S2K Usage (Secret Key Encryption)Public Key Materialpk_algoPublic-Key Algorithm1010101creation_timeCreation TimeversionVersionPublic-Key packetPublic-Key packetpublic key materialPublic Key Materialpk_algoPublic-Key AlgorithmCreation TimeVersionsignatureCryptographic Signatureby the primary key over primary key, by the primary key over primary key, subkey and signature metadata subkey and signature metadata unhashed areaUnhashed areaHashed areafeaturesFeaturesissuer fingerprintIssuer Fingerprintkey flagsKey Flagspref hash algosPreferred Hash Algorithms1010101issuerPreferred Symmetric Ciphers for v1 SEIPDpref sym algosKey Expiration Timesig creation time Signature Creation Time1010101hashed areahash_algoHash Algorithm1010101pk_algoPublic-Key Algorithm1010101versionVersionSubkey binding signatureSubkey binding signatureC0A5 8384 A438 E5A1 4F73 7124 26A4 D45D C0A5 8384 A438 E5A1 4F73 7124 26A4 D45D BAEE F4A3 9E6B 30B0 9D55 13F9 78AC CA94BAEE F4A3 9E6B 30B0 9D55 13F9 78AC CA94Primary key creates a Primary key creates a subkey subkey binding signaturebinding signature to bind the to bind the subkey to the primary keysubkey to the primary keyAAA1 8CBB 2546 85C5 8358 3205 63FD 37B6 AAA1 8CBB 2546 85C5 8358 3205 63FD 37B6 7F33 00F9 FB0E C457 378C D29F 1026 98B37F33 00F9 FB0E C457 378C D29F 1026 98B3Subkey binding Subkey binding signaturesignature- signature creation time- signature creation time- key expiration time- key expiration time- key flags- key flags- issuer fingerprint- issuer fingerprintPrimary keyPrimary keySubkeySubkeySignature metadata:Signature metadata:Subkey binding signature for Subkey binding signature for signing subkeyssigning subkeysPrimary key creates a Primary key creates a subkey subkey binding signaturebinding signature to bind the to bind the subkey to the primary keysubkey to the primary keyAAA1 8CBB 2546 85C5 8358 3205 63FD 37B6 AAA1 8CBB 2546 85C5 8358 3205 63FD 37B6 7F33 00F9 FB0E C457 378C D29F 1026 98B37F33 00F9 FB0E C457 378C D29F 1026 98B3Subkey binding Subkey binding signaturesignature- signature creation time- signature creation time- key expiration time- key expiration time- key flags- key flags- issuer fingerprint- issuer fingerprintPrimary keyPrimary keySubkeySubkeySignature metadata:Signature metadata:- signature creation time- signature creation time- issuer fingerprint- issuer fingerprintPrimary keyPrimary keySigning SubkeySigning Subkey- Embedded signature: - Embedded signature: Primary key binding Primary key bindingSigning key creates a Signing key creates a primaryprimary binding signaturebinding signature to associate to associate the primary keythe primary key to the subkey to the subkeyD07B 24EC 91A1 4DD2 40AC 2D53 E6C8 A9E0 D07B 24EC 91A1 4DD2 40AC 2D53 E6C8 A9E0 5494 9A41 222E A738 576E D19C AEA3 DC995494 9A41 222E A738 576E D19C AEA3 DC99User ID binding signatureUser ID binding signatureAAA1 8CBB 2546 85C5 8358 3205 63FD 37B6 AAA1 8CBB 2546 85C5 8358 3205 63FD 37B6 7F33 00F9 FB0E C457 378C D29F 1026 98B37F33 00F9 FB0E C457 378C D29F 1026 98B3Primary key creates a Primary key creates a User ID User ID binding signaturebinding signature to associate to associate the User ID with the primary keythe User ID with the primary keyUser ID binding User ID binding signaturesignature- signature creation time- signature creation time- key expiration time- key expiration time- primary User ID flag- primary User ID flag- algorithm preferences- algorithm preferences- key expiration time - key expiration time (primary key) (primary key)- key flags (primary key)- key flags (primary key)Primary keyPrimary keyUser IDUser IDSignature metadata:Signature metadata:Types of signaturesSignature typeSignature typeSignature dataSignature dataSignature metadataSignature metadataRaw signaturesCryptographic signatureOpenPGP OpenPGP signature signature packetpacket- signature type- signature type- signature over signature data- signature over input data- additional metadata- additional metadata- raw cryptographic signature- cryptographic signatureMeanings of signature in OpenPGPSignature creationComponent KeySigner private key- key creation timeA cryptographic signature is calculated over the hash digest, using the private key material of the signer.Signing mechanismhash digestA hash digest is calculated from the input data packets and the signature metadata.Signature typeSignature over:Input data packetsSignature metadata- ...This cryptographic signature is then stored in the signature packet.One or more packetsInput Data packetsHash mechanismSignature verificationComponent KeySigner public key- key creation timeThe cryptographic signature is verified against the hash digest, using the public key of the signer.Signature verification mechanismhash digestA hash digest is calculated from the input data packets and the signature metadata.Signature typeSignature over:Input data packetsSignature metadata- ...One or more packetsInput Data packetsHash mechanismD07B 24EC 91A1 4DD2 40AC 2D53 E6C8 A9E0 D07B 24EC 91A1 4DD2 40AC 2D53 E6C8 A9E0 5494 9A41 222E A738 576E D19C AEA3 DC995494 9A41 222E A738 576E D19C AEA3 DC99C0A5 8384 A438 E5A1 4F73 7124 26A4 D45D C0A5 8384 A438 E5A1 4F73 7124 26A4 D45D BAEE F4A3 9E6B 30B0 9D55 13F9 78AC CA94BAEE F4A3 9E6B 30B0 9D55 13F9 78AC CA94AAA1 8CBB 2546 85C5 8358 3205 63FD 37B6 AAA1 8CBB 2546 85C5 8358 3205 63FD 37B6 7F33 00F9 FB0E C457 378C D29F 1026 98B37F33 00F9 FB0E C457 378C D29F 1026 98B3D07B 24EC 91A1 4DD2 40AC 2D53 E6C8 A9E0 D07B 24EC 91A1 4DD2 40AC 2D53 E6C8 A9E0 5494 9A41 222E A738 576E D19C AEA3 DC995494 9A41 222E A738 576E D19C AEA3 DC99C0A5 8384 A438 E5A1 4F73 7124 26A4 D45D C0A5 8384 A438 E5A1 4F73 7124 26A4 D45D BAEE F4A3 9E6B 30B0 9D55 13F9 78AC CA94BAEE F4A3 9E6B 30B0 9D55 13F9 78AC CA94AAA1 8CBB 2546 85C5 8358 3205 63FD 37B6 AAA1 8CBB 2546 85C5 8358 3205 63FD 37B6 7F33 00F9 FB0E C457 378C D29F 1026 98B37F33 00F9 FB0E C457 378C D29F 1026 98B3Converting a passphrase Converting a passphrase into a symmetric keyinto a symmetric key(string-to-key) (string-to-key) S2K mechanismS2K mechanismcorrect horse battery staplecorrect horse battery stapleD07B 24EC 91A1 4DD2 40AC 2D53 E6C8 A9E0 D07B 24EC 91A1 4DD2 40AC 2D53 E6C8 A9E0 5494 9A41 222E A738 576E D19C AEA3 DC995494 9A41 222E A738 576E D19C AEA3 DC99C0A5 8384 A438 E5A1 4F73 7124 26A4 D45D C0A5 8384 A438 E5A1 4F73 7124 26A4 D45D BAEE F4A3 9E6B 30B0 9D55 13F9 78AC CA94BAEE F4A3 9E6B 30B0 9D55 13F9 78AC CA94AAA1 8CBB 2546 85C5 8358 3205 63FD 37B6 AAA1 8CBB 2546 85C5 8358 3205 63FD 37B6 7F33 00F9 FB0E C457 378C D29F 1026 98B37F33 00F9 FB0E C457 378C D29F 1026 98B3Fingerprint of an OpenPGP Fingerprint of an OpenPGP component key component key C0A5 8384 A438 E5A1 4F73 7124 26A4 D45D C0A5 8384 A438 E5A1 4F73 7124 26A4 D45D BAEE F4A3 9E6B 30B0 9D55 13F9 78AC CA94BAEE F4A3 9E6B 30B0 9D55 13F9 78AC CA94Component Key Component Key AAA1 8CBB 2546 85C5 8358 3205 63FD 37B6 AAA1 8CBB 2546 85C5 8358 3205 63FD 37B6 7F33 00F9 FB0E C457 378C D29F 1026 98B37F33 00F9 FB0E C457 378C D29F 1026 98B3D07B 24EC 91A1 4DD2 40AC 2D53 E6C8 A9E0 D07B 24EC 91A1 4DD2 40AC 2D53 E6C8 A9E0 5494 9A41 222E A738 576E D19C AEA3 DC995494 9A41 222E A738 576E D19C AEA3 DC99C0A5 8384 A438 E5A1 4F73 7124 26A4 D45D C0A5 8384 A438 E5A1 4F73 7124 26A4 D45D BAEE F4A3 9E6B 30B0 9D55 13F9 78AC CA94BAEE F4A3 9E6B 30B0 9D55 13F9 78AC CA94D07B 24EC 91A1 4DD2 40AC 2D53 E6C8 A9E0 D07B 24EC 91A1 4DD2 40AC 2D53 E6C8 A9E0 5494 9A41 222E A738 576E D19C AEA3 DC995494 9A41 222E A738 576E D19C AEA3 DC99C0A5 8384 A438 E5A1 4F73 7124 26A4 D45D C0A5 8384 A438 E5A1 4F73 7124 26A4 D45D BAEE F4A3 9E6B 30B0 9D55 13F9 78AC CA94BAEE F4A3 9E6B 30B0 9D55 13F9 78AC CA94- key creation timeComponent KeyComponent Key- key creation timeAAA1 8CBB 2546 85C5 8358 3205 63FD 37B6 AAA1 8CBB 2546 85C5 8358 3205 63FD 37B6 7F33 00F9 FB0E C457 378C D29F 1026 98B37F33 00F9 FB0E C457 378C D29F 1026 98B3Public part of an Public part of an asymmetric keypairasymmetric keypair Direct Key Signature packetSignature packet Direct Key Signature (type ID 0x1F) signatureCryptographic Signatureby the primary key over primary key, subkey and signature metadata by the primary key over primary key, subkey and signature metadata unhashed areaUnhashed areaHashed areafeaturesFeaturesissuer fingerprintIssuer Fingerprintkey flagsKey Flagspref hash algosPreferred Hash Algorithms1010101issuerPreferred Symmetric Ciphers for v1 SEIPDpref sym algosKey Expiration Timesig creation time Signature Creation Time1010101hashed areahash_algoHash Algorithm1010101pk_algoPublic-Key Algorithm1010101versionVersionTypes of signaturesSignature typeSignature typeSignature dataSignature dataSignature metadataSignature metadataRaw signaturesCryptographic signatureOpenPGP OpenPGP signature signature packetpacket- signature type- signature type- signature over signature data- signature over input data- additional metadata- additional metadata- raw cryptographic signature + id="tspan13">- cryptographic signatureMeanings of signature in OpenPGP diff --git a/book/source/diag/public-key_packet.png b/book/source/diag/public-key_packet.png index bf42be8..df31ed3 100644 Binary files a/book/source/diag/public-key_packet.png and b/book/source/diag/public-key_packet.png differ diff --git a/book/source/diag/public-key_packet.svg b/book/source/diag/public-key_packet.svg index 4de8301..1582837 100644 --- a/book/source/diag/public-key_packet.svg +++ b/book/source/diag/public-key_packet.svg @@ -102,15 +102,15 @@ inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" inkscape:lockguides="false" - inkscape:zoom="0.77037643" - inkscape:cx="956.67516" - inkscape:cy="-256.36817" - inkscape:window-width="2560" - inkscape:window-height="1371" - inkscape:window-x="0" - inkscape:window-y="305" - inkscape:window-maximized="1" - inkscape:current-layer="layer3-5" + inkscape:zoom="8" + inkscape:cx="4229.0625" + inkscape:cy="590.6875" + inkscape:window-width="1677" + inkscape:window-height="1243" + inkscape:window-x="270" + inkscape:window-y="404" + inkscape:window-maximized="0" + inkscape:current-layer="layer26" showgrid="false" inkscape:export-bgcolor="#ffffff00" showguides="false">public key materialPublic Key Materialpk_algoPublic-Key AlgorithmCreation TimeVersionsecret key materialSecret Key Materials2k_usage (encryption information)S2K Usage (Secret Key Encryption)Public Key Materialpk_algoPublic-Key Algorithm1010101creation_timeCreation TimeversionVersion