Gpg4win 8192 Bit Key Generation
- Gpg4win 8192 Bit Key Generation 2
- Gpg4win 8192 Bit Key Generation 3
- Gpg4win 8192 Bit Key Generation Free
- Gpg4win 8192 Bit Key Generation 10
Next: GPG Key related Options, Up: GPG Options [Contents][Index]
- RandomKeygen is a free mobile-friendly tool that offers randomly generated keys and passwords you can use to secure any application, service or device. KEY RandomKeygen - The Secure Password & Keygen Generator.
- 7.5.5 Generating Keys. That this parameter takes an unsigned long value and not a timet to avoid problems on systems which use a signed 32 bit timet. Note further that the OpenPGP protocol uses 32 bit values for timestamps and thus can only encode dates up to the year 2106. GnuPG will generate a key pair and add it to the standard key.
4.2.1 How to change the configuration
These options are used to change the configuration and are usually foundin the option file.
Download and install the GPG command line tools for your operating system. We generally recommend installing the latest version for your operating system. Open Terminal Terminal Git Bash. Generate a GPG key pair. Since there are multiple versions of GPG, you may need to consult the relevant man page to find the appropriate key generation command. Your key must use RSA. Nov 29, 2014 There is a little known feature of GnuPG that allows one to generate 8192-bit keys without any modification. It supports unattended key generation that reads the configuration form an input file, and this esoteric feature is not subject to the limitation mentioned above. Sep 22, 2015 If you want to create a 4096 key you need to use the cmd in Windows. So here is a tutorial to do it. Start the command prompt: Start Run cmd OK.Windows 7, type cmd in Search Programs and Features. A black box should pop up. Type in gpg -gen-key. Enter 1 and press Enter. The default key is 2048, I recommend 4096. Creating a 8192 bit GPG key to replace my 1024 bit one As some of you will have heard, there's been some new research into the security of the SHA-1 hash, which has found a faster way to locate collisions.
--default-key name
Use name as the default key to sign with. If this option is notused, the default key is the first key found in the secret keyring.Note that -u or --local-user overrides this option.This option may be given multiple times. In this case, the last keyfor which a secret key is available is used. If there is no secretkey available for any of the specified values, GnuPG will not emit anerror message but continue as if this option wasn’t given.
--default-recipient name
Use name as default recipient if option --recipient isnot used and don’t ask if this is a valid one. name must benon-empty.
--default-recipient-self
Use the default key as default recipient if option --recipient is notused and don’t ask if this is a valid one. The default key is the firstone from the secret keyring or the one set with --default-key.
--no-default-recipient
Reset --default-recipient and --default-recipient-self.
-v, --verbose
Give more information during processing. If usedtwice, the input data is listed in detail.
--no-verbose
Reset verbose level to 0.
-q, --quiet
Try to be as quiet as possible.
--batch
--no-batch
Use batch mode. Never ask, do not allow interactive commands.--no-batch disables this option. Note that even with afilename given on the command line, gpg might still need to read fromSTDIN (in particular if gpg figures that the input is adetached signature and no data file has been specified). Thus if youdo not want to feed data via STDIN, you should connect STDIN tog/dev/null.
It is highly recommended to use this option along with the options--status-fd and --with-colons for any unattended use ofgpg
.
--no-tty
Make sure that the TTY (terminal) is never used for any output.This option is needed in some cases because GnuPG sometimes printswarnings to the TTY even if --batch is used.
--yes
Assume 'yes' on most questions.
--no
Assume 'no' on most questions. https://skyeylogs408.weebly.com/blog/download-free-nfs-game-for-mobile.
--list-options parameters
This is a space or comma delimited string that gives options used whenlisting keys and signatures (that is, --list-keys,--check-signatures, --list-public-keys,--list-secret-keys, and the --edit-key functions).Options can be prepended with a no- (after the two dashes) togive the opposite meaning. The options are:
Causes --list-keys, --check-signatures, --list-public-keys, and --list-secret-keys to display any photo IDs attached to the key. Defaults to no. See also --photo-viewer. Does not work with --with-colons: see --attribute-fd for the appropriate way to get photo data for scripts and other frontends.
Show usage information for keys and subkeys in the standard key listing. This is a list of letters indicating the allowed usage for a key (E
=encryption, S
=signing, C
=certification, A
=authentication). Defaults to yes.
Show policy URLs in the --check-signatures listings. Defaults to no.
Show all, IETF standard, or user-defined signature notations in the --check-signatures listings. Defaults to no.
Show any preferred keyserver URL in the --check-signatures listings. Defaults to no.
Display the calculated validity of user IDs during key listings. Defaults to yes.
Show revoked and expired user IDs in key listings. Defaults to no.
Show revoked and expired subkeys in key listings. Defaults to no.
Display the keyring name at the head of key listings to show which keyring a given key resides on. Defaults to no.
Show signature expiration dates (if any) during --check-signatures listings. Defaults to no.
Include signature subpackets in the key listing. This option can take an optional argument list of the subpackets to list. If no argument is passed, list all subpackets. Defaults to no. This option is only meaningful when using --with-colons along with --check-signatures.
For each user-id which has a valid mail address print only the fingerprint followed by the mail address.
--verify-options parameters
This is a space or comma delimited string that gives options used whenverifying signatures. Options can be prepended with a ‘no-’ to givethe opposite meaning. The options are:
Display any photo IDs present on the key that issued the signature. Defaults to no. See also --photo-viewer.
Show policy URLs in the signature being verified. Defaults to yes.
Show all, IETF standard, or user-defined signature notations in the signature being verified. Defaults to IETF standard.
Show any preferred keyserver URL in the signature being verified. Defaults to yes.
Display the calculated validity of the user IDs on the key that issued the signature. Defaults to yes.
Show revoked and expired user IDs during signature verification. Defaults to no.
Show only the primary user ID during signature verification. That is all the AKA lines as well as photo Ids are not shown with the signature verification status.
Enable PKA lookups to verify sender addresses. Note that PKA is based on DNS, and so enabling this option may disclose information on when and what signatures are verified or to whom data is encrypted. This is similar to the 'web bug' described for the --auto-key-retrieve option.
Raise the trust in a signature to full if the signature passes PKA validation. This option is only meaningful if pka-lookups is set.
--enable-large-rsa
--disable-large-rsa
With –generate-key and –batch, enable the creation of RSA secret keys aslarge as 8192 bit. Note: 8192 bit is more than is generallyrecommended. These large keys don’t significantly improve security,but they are more expensive to use, and their signatures andcertifications are larger. This option is only available if thebinary was build with large-secmem support.
--enable-dsa2
--disable-dsa2
Enable hash truncation for all DSA keys even for old DSA Keys up to1024 bit. This is also the default with --openpgp. Notethat older versions of GnuPG also required this flag to allow thegeneration of DSA larger than 1024 bit.
--photo-viewer string
This is the command line that should be run to view a photo ID. '%i'will be expanded to a filename containing the photo. '%I' does thesame, except the file will not be deleted once the viewer exits.Other flags are '%k' for the key ID, '%K' for the long key ID, '%f'for the key fingerprint, '%t' for the extension of the image type(e.g. 'jpg'), '%T' for the MIME type of the image (e.g. 'image/jpeg'),'%v' for the single-character calculated validity of the image beingviewed (e.g. 'f'), '%V' for the calculated validity as a string (e.g.'full'), '%U' for a base32 encoded hash of the user ID,and '%%' for an actual percent sign. If neither %i or %I are present,then the photo will be supplied to the viewer on standard input.
On Unix the default viewer isxloadimage -fork -quiet -title 'KeyID 0x%k' STDIN
with a fallback todisplay -title 'KeyID 0x%k' %i
and finally toxdg-open %i
.On Windows!ShellExecute 400 %i
is used; here the command is a metacommand to use that API call followed by a wait time in millisecondswhich is used to give the viewer time to read the temporary image filebefore gpg deletes it again. Note that if your image viewer programis not secure, then executing it from gpg does not make it secure.
--exec-path string
Sets a list of directories to search for photo viewers If not providedphoto viewers use the PATH
environment variable.
--keyring file
Add file to the current list of keyrings. If file beginswith a tilde and a slash, these are replaced by the $HOME directory. Ifthe filename does not contain a slash, it is assumed to be in the GnuPGhome directory ('~/.gnupg' if --homedir or $GNUPGHOME is notused).
Note that this adds a keyring to the current list. If the intent is touse the specified keyring alone, use --keyring along with--no-default-keyring.
If the option --no-keyring has been used no keyrings willbe used at all.
--secret-keyring file
This is an obsolete option and ignored. All secret keys are stored inthe private-keys-v1.d directory below the GnuPG home directory.
--primary-keyring file
Designate file as the primary public keyring. This means thatnewly imported keys (via --import or keyserver--recv-from) will go to this keyring.
--trustdb-name file
Use file instead of the default trustdb. If file beginswith a tilde and a slash, these are replaced by the $HOME directory. Ifthe filename does not contain a slash, it is assumed to be in the GnuPGhome directory (~/.gnupg if --homedir or $GNUPGHOME isnot used).
--homedir dir
Set the name of the home directory to dir. If this option is notused, the home directory defaults to ~/.gnupg. It is onlyrecognized when given on the command line. It also overrides any homedirectory stated through the environment variable GNUPGHOME
or(on Windows systems) by means of the Registry entryHKCUSoftwareGNUGnuPG:HomeDir.
On Windows systems it is possible to install GnuPG as a portableapplication. In this case only this command line option isconsidered, all other ways to set a home directory are ignored.
To install GnuPG as a portable application under Windows, create anempty file named gpgconf.ctl in the same directory as the toolgpgconf.exe. The root of the installation is then thatdirectory; or, if gpgconf.exe has been installed directly belowa directory named bin, its parent directory. You also need tomake sure that the following directories exist and are writable:ROOT/home for the GnuPG home and ROOT/usr/local/var/cache/gnupgfor internal cache files.
--display-charset name
Set the name of the native character set. This is used to convertsome informational strings like user IDs to the proper UTF-8 encoding.Note that this has nothing to do with the character set of data to beencrypted or signed; GnuPG does not recode user-supplied data. Ifthis option is not used, the default character set is determined fromthe current locale. A verbosity level of 3 shows the chosen set.Valid values for name are:
This is the Latin 1 set.
The Latin 2 set.
This is currently an alias for the Latin 1 set.
The usual Russian set (RFC-1489).
Bypass all translations and assume that the OS uses native UTF-8 encoding.
--utf8-strings
--no-utf8-strings
Assume that command line arguments are given as UTF-8 strings. Thedefault (--no-utf8-strings) is to assume that arguments areencoded in the character set as specified by--display-charset. These options affect all followingarguments. Both options may be used multiple times.
--options file
Read options from file and do not try to read them from thedefault options file in the homedir (see --homedir). Thisoption is ignored if used in an options file.
--no-options
Shortcut for --options /dev/null. This option is detectedbefore an attempt to open an option file. Using this option will alsoprevent the creation of a ~/.gnupg homedir.
-z n
--compress-level n
--bzip2-compress-level n
Set compression level to n for the ZIP and ZLIB compressionalgorithms. The default is to use the default compression level of zlib(normally 6). --bzip2-compress-level sets the compression levelfor the BZIP2 compression algorithm (defaulting to 6 as well). This is adifferent option from --compress-level since BZIP2 uses asignificant amount of memory for each additional compression level.-z sets both. A value of 0 for n disables compression.
--bzip2-decompress-lowmem
Use a different decompression method for BZIP2 compressed files. Thisalternate method uses a bit more than half the memory, but also runsat half the speed. This is useful under extreme low memorycircumstances when the file was originally compressed at a high--bzip2-compress-level.
--mangle-dos-filenames
--no-mangle-dos-filenames
Older version of Windows cannot handle filenames with more than onedot. --mangle-dos-filenames causes GnuPG to replace (ratherthan add to) the extension of an output filename to avoid thisproblem. This option is off by default and has no effect on non-Windowsplatforms.
--ask-cert-level
--no-ask-cert-level
When making a key signature, prompt for a certification level. If thisoption is not specified, the certification level used is set via--default-cert-level. See --default-cert-level forinformation on the specific levels and how they areused. --no-ask-cert-level disables this option. This optiondefaults to no.
--default-cert-level n
The default to use for the check level when signing a key.
0 means you make no particular claim as to how carefully you verifiedthe key.
1 means you believe the key is owned by the person who claims to ownit but you could not, or did not verify the key at all. This isuseful for a 'persona' verification, where you sign the key of apseudonymous user.
2 means you did casual verification of the key. For example, thiscould mean that you verified the key fingerprint and checked theuser ID on the key against a photo ID.
3 means you did extensive verification of the key. For example, thiscould mean that you verified the key fingerprint with the owner of thekey in person, and that you checked, by means of a hard to forgedocument with a photo ID (such as a passport) that the name of the keyowner matches the name in the user ID on the key, and finally that youverified (by exchange of email) that the email address on the keybelongs to the key owner.
Note that the examples given above for levels 2 and 3 are just that:examples. In the end, it is up to you to decide just what 'casual'and 'extensive' mean to you.
This option defaults to 0 (no particular claim).
--min-cert-level
When building the trust database, treat any signatures with acertification level below this as invalid. Defaults to 2, whichdisregards level 1 signatures. Note that level 0 'no particularclaim' signatures are always accepted.
--trusted-key long key ID
Assume that the specified key (which must be givenas a full 8 byte key ID) is as trustworthy as one ofyour own secret keys. This option is useful if youdon’t want to keep your secret keys (or one of them)online but still want to be able to check the validity of a givenrecipient’s or signator’s key.
--trust-model {pgp classic tofu tofu+pgp direct always auto}
Set what trust model GnuPG should follow. The models are:
This is the Web of Trust combined with trust signatures as used in PGP 5.x and later. This is the default trust model when creating a new trust database.
This is the standard Web of Trust as introduced by PGP 2.
TOFU stands for Trust On First Use. In this trust model, the first time a key is seen, it is memorized. If later another key with a user id with the same email address is seen, both keys are marked as suspect. In that case, the next time either is used, a warning is displayed describing the conflict, why it might have occurred (either the user generated a new key and failed to cross sign the old and new keys, the key is forgery, or a man-in-the-middle attack is being attempted), and the user is prompted to manually confirm the validity of the key in question.
Because a potential attacker is able to control the email address and thereby circumvent the conflict detection algorithm by using an email address that is similar in appearance to a trusted email address, whenever a message is verified, statistics about the number of messages signed with the key are shown. In this way, a user can easily identify attacks using fake keys for regular correspondents.
When compared with the Web of Trust, TOFU offers significantly weaker security guarantees. In particular, TOFU only helps ensure consistency (that is, that the binding between a key and email address doesn’t change). A major advantage of TOFU is that it requires little maintenance to use correctly. To use the web of trust properly, you need to actively sign keys and mark users as trusted introducers. This is a time-consuming process and anecdotal evidence suggests that even security-conscious users rarely take the time to do this thoroughly and instead rely on an ad-hoc TOFU process.
Sims 3 activation key generator. In the TOFU model, policies are associated with bindings between keys and email addresses (which are extracted from user ids and normalized). There are five policies, which can be set manually using the --tofu-policy option. The default policy can be set using the --tofu-default-policy option.
The TOFU policies are: auto
, good
, unknown
, bad
and ask
. The auto
policy is used by default (unless overridden by --tofu-default-policy) and marks a binding as marginally trusted. The good
, unknown
and bad
policies mark a binding as fully trusted, as having unknown trust or as having trust never, respectively. The unknown
policy is useful for just using TOFU to detect conflicts, but to never assign positive trust to a binding. The final policy, ask
prompts the user to indicate the binding’s trust. If batch mode is enabled (or input is inappropriate in the context), then the user is not prompted and the undefined
trust level is returned.
This trust model combines TOFU with the Web of Trust. This is done by computing the trust level for each model and then taking the maximum trust level where the trust levels are ordered as follows: unknown < undefined < marginal < fully < ultimate < expired < never
.
By setting --tofu-default-policy=unknown, this model can be used to implement the web of trust with TOFU’s conflict detection algorithm, but without its assignment of positive trust values, which some security-conscious users don’t like.
Key validity is set directly by the user and not calculated via the Web of Trust. This model is solely based on the key and does not distinguish user IDs. Note that when changing to another trust model the trust values assigned to a key are transformed into ownertrust values, which also indicate how you trust the owner of the key to sign other keys.
Skip key validation and assume that used keys are always fully valid. You generally won’t use this unless you are using some external validation scheme. This option also suppresses the '[uncertain]' tag printed with signature checks when there is no evidence that the user ID is bound to the key. Note that this trust model still does not allow the use of expired, revoked, or disabled keys.
Select the trust model depending on whatever the internal trust database says. This is the default model if such a database already exists. Note that a tofu trust model is not considered here and must be enabled explicitly.
--auto-key-locate mechanisms
--no-auto-key-locate
GnuPG can automatically locate and retrieve keys as needed using thisoption. This happens when encrypting to an email address (in the'user@example.com' form), and there are no 'user@example.com' keyson the local keyring. This option takes any number of the mechanismslisted below, in the order they are to be tried. Instead of listingthe mechanisms as comma delimited arguments, the option may also begiven several times to add more mechanism. The option--no-auto-key-locate or the mechanism 'clear' resets thelist. The default is 'local,wkd'.
Locate a key using DNS CERT, as specified in RFC-4398.
Locate a key using DNS PKA.
Locate a key using DANE, as specified in draft-ietf-dane-openpgpkey-05.txt.
Locate a key using the Web Key Directory protocol.
Using DNS Service Discovery, check the domain in question for any LDAP keyservers to use. If this fails, attempt to locate the key using the PGP Universal method of checking ‘ldap://keys.(thedomain)’.
Locate a key using a keyserver.
In addition, a keyserver URL as used in the dirmngr
configuration may be used here to query that particular keyserver.
Locate the key using the local keyrings. This mechanism allows the user to select the order a local key lookup is done. Thus using ‘--auto-key-locate local’ is identical to --no-auto-key-locate.
This flag disables the standard local key lookup, done before any of the mechanisms defined by the --auto-key-locate are tried. The position of this mechanism in the list does not matter. It is not required if local
is also used.
Clear all defined mechanisms. This is useful to override mechanisms given in a config file. Note that a nodefault
in mechanisms will also be cleared unless it is given after the clear
.
--auto-key-retrieve
--no-auto-key-retrieve
These options enable or disable the automatic retrieving of keys froma keyserver when verifying signatures made by keys that are not on thelocal keyring. The default is --no-auto-key-retrieve.
The order of methods tried to lookup the key is:
1. If a preferred keyserver is specified in the signature and theoption honor-keyserver-url is active (which is not thedefault), that keyserver is tried. Note that the creator of thesignature uses the option --sig-keyserver-url to specify thepreferred keyserver for data signatures.
2. If the signature has the Signer’s UID set (e.g. using--sender while creating the signature) a Web Key Directory(WKD) lookup is done. This is the default configuration but can bedisabled by removing WKD from the auto-key-locate list or by using theoption --disable-signer-uid.
3. If the option honor-pka-record is active, the legacy PKAmethod is used.
4. If any keyserver is configured and the Issuer Fingerprint is partof the signature (since GnuPG 2.1.16), the configured keyservers aretried.
Note that this option makes a 'web bug' like behavior possible.Keyserver or Web Key Directory operators can see which keys yourequest, so by sending you a message signed by a brand new key (whichyou naturally will not have on your local keyring), the operator cantell both your IP address and the time when you verified thesignature.
--keyid-format {none short 0xshort long 0xlong}
Select how to display key IDs. 'none' does not show the key ID at allbut shows the fingerprint in a separate line. 'short' is thetraditional 8-character key ID. 'long' is the more accurate (but lessconvenient) 16-character key ID. Add an '0x' to either to include an'0x' at the beginning of the key ID, as in 0x99242560. Note that thisoption is ignored if the option --with-colons is used.
--keyserver name
This option is deprecated - please use the --keyserver indirmngr.conf instead.
Use name as your keyserver. This is the server that--receive-keys, --send-keys, and --search-keyswill communicate with to receive keys from, send keys to, and search forkeys on. The format of the name is a URI:‘scheme:[//]keyservername[:port]’ The scheme is the type of keyserver:'hkp' for the HTTP (or compatible) keyservers, 'ldap' for the LDAPkeyservers, or 'mailto' for the Graff email keyserver. Note that yourparticular installation of GnuPG may have other keyserver typesavailable as well. Keyserver schemes are case-insensitive. After thekeyserver name, optional keyserver configuration options may beprovided. These are the same as the global --keyserver-optionsfrom below, but apply only to this particular keyserver.
Most keyservers synchronize with each other, so there is generally noneed to send keys to more than one server. The keyserverhkp://keys.gnupg.net
uses round robin DNS to give a differentkeyserver each time you use it.
--keyserver-options {name=value}
This is a space or comma delimited string that gives options for thekeyserver. Options can be prefixed with a ‘no-’ to give the oppositemeaning. Valid import-options or export-options may be used here aswell to apply to importing (--recv-key) or exporting(--send-key) a key from a keyserver. While not all optionsare available for all keyserver types, some common options are:
When searching for a key with --search-keys, include keys that are marked on the keyserver as revoked. Note that not all keyservers differentiate between revoked and unrevoked keys, and for such keyservers this option is meaningless. Note also that most keyservers do not have cryptographic verification of key revocations, and so turning this option off may result in skipping keys that are incorrectly marked as revoked.
When searching for a key with --search-keys, include keys that are marked on the keyserver as disabled. Note that this option is not used with HKP keyservers.
This is an obsolete alias for the option auto-key-retrieve. Please do not use it; it will be removed in future versions.
When using --refresh-keys, if the key in question has a preferred keyserver URL, then use that preferred keyserver to refresh the key from. In addition, if auto-key-retrieve is set, and the signature being verified has a preferred keyserver URL, then use that preferred keyserver to fetch the key from. Note that this option introduces a 'web bug': The creator of the key can see when the keys is refreshed. Thus this option is not enabled by default.
If --auto-key-retrieve is used, and the signature being verified has a PKA record, then use the PKA information to fetch the key. Defaults to 'yes'.
When receiving a key, include subkeys as potential targets. Note that this option is not used with HKP keyservers, as they do not support retrieving keys by subkey id.
These options have no more function since GnuPG 2.1. Use the dirmngr
configuration options instead.
The default list of options is: 'self-sigs-only, import-clean,repair-keys, repair-pks-subkey-bug, export-attributes,honor-pka-record'.
--completes-needed n
Number of completely trusted users to introduce a newkey signer (defaults to 1).
--marginals-needed n
Number of marginally trusted users to introduce a newkey signer (defaults to 3) Cisco asa ssh crypto key generate.
--tofu-default-policy {auto good unknown bad ask}
The default TOFU policy (defaults to auto
). For moreinformation about the meaning of this option, see trust-model-tofu.
--max-cert-depth n
Maximum depth of a certification chain (default is 5).
--no-sig-cache
Do not cache the verification status of key signatures.Caching gives a much better performance in key listings. However, ifyou suspect that your public keyring is not safe against writemodifications, you can use this option to disable the caching. Itprobably does not make sense to disable it because all kind of damagecan be done if someone else has write access to your public keyring.
--auto-check-trustdb
--no-auto-check-trustdb
If GnuPG feels that its information about the Web of Trust has to beupdated, it automatically runs the --check-trustdb commandinternally. This may be a time consumingprocess. --no-auto-check-trustdb disables this option.
--use-agent
--no-use-agent
This is dummy option. gpg
always requires the agent.
--gpg-agent-info
This is dummy option. It has no effect when used with gpg
.
--agent-program file
Specify an agent program to be used for secret key operations. Thedefault value is determined by running gpgconf
with theoption --list-dirs. Note that the pipe symbol () isused for a regression test suite hack and may thus not be used in thefile name.
--dirmngr-program file
Specify a dirmngr program to be used for keyserver access. Thedefault value is /usr/local/bin/dirmngr.
Gpg4win 8192 Bit Key Generation 2
--disable-dirmngr
Entirely disable the use of the Dirmngr.
--no-autostart
Do not start the gpg-agent or the dirmngr if it has not yet beenstarted and its service is required. This option is mostly useful onmachines where the connection to gpg-agent has been redirected toanother machines. If dirmngr is required on the remote machine, itmay be started manually using gpgconf --launch dirmngr
.
--lock-once
Lock the databases the first time a lock is requestedand do not release the lock until the processterminates.
Gpg4win 8192 Bit Key Generation 3
--lock-multiple
Release the locks every time a lock is no longerneeded. Use this to override a previous --lock-oncefrom a config file.
--lock-never
Disable locking entirely. This option should be used only in veryspecial environments, where it can be assured that only one processis accessing those files. A bootable floppy with a stand-aloneencryption system will probably use this. Improper usage of thisoption may lead to data and key corruption.
--exit-on-status-write-error
This option will cause write errors on the status FD to immediatelyterminate the process. That should in fact be the default but it neverworked this way and thus we need an option to enable this, so that thechange won’t break applications which close their end of a status fdconnected pipe too early. Using this option along with--enable-progress-filter may be used to cleanly cancel longrunning gpg operations.
--limit-card-insert-tries n
With n greater than 0 the number of prompts asking to insert asmartcard gets limited to N-1. Thus with a value of 1 gpg won’t atall ask to insert a card if none has been inserted at startup. Thisoption is useful in the configuration file in case an application doesnot know about the smartcard support and waits ad infinitum for aninserted card.
--no-random-seed-file
GnuPG uses a file to store its internal random pool over invocations.This makes random generation faster; however sometimes write operationsare not desired. This option can be used to achieve that with the cost ofslower random generation.
--no-greeting
Suppress the initial copyright message.
--no-secmem-warning
Suppress the warning about 'using insecure memory'.
--no-permission-warning
Suppress the warning about unsafe file and home directory (--homedir)permissions. Note that the permission checks that GnuPG performs arenot intended to be authoritative, but rather they simply warn aboutcertain common permission problems. Do not assume that the lack of awarning means that your system is secure.
Note that the warning for unsafe --homedir permissions cannot besuppressed in the gpg.conf file, as this would allow an attacker toplace an unsafe gpg.conf file in place, and use this file to suppresswarnings about itself. The --homedir permissions warning may only besuppressed on the command line.
--require-secmem
--no-require-secmem
Refuse to run if GnuPG cannot get secure memory. Defaults to no(i.e. run, but give a warning).
--require-cross-certification
--no-require-cross-certification
When verifying a signature made from a subkey, ensure that the crosscertification 'back signature' on the subkey is present and valid. Thisprotects against a subtle attack against subkeys that can sign.Defaults to --require-cross-certification forgpg
.
--expert
--no-expert
Allow the user to do certain nonsensical or 'silly' things likesigning an expired or revoked key, or certain potentially incompatiblethings like generating unusual key types. This also disables certainwarning messages about potentially incompatible actions. As the nameimplies, this option is for experts only. If you don’t fullyunderstand the implications of what it allows you to do, leave thisoff. --no-expert disables this option.
Next: GPG Key related Options, Up: GPG Options [Contents][Index]
A readme and a script to generate PGP keys using GnuPG, using the current best practices.
Its goal is to provide a concise and up-to-date description of best practices regarding the usage of GnuPG. A basic understanding of public key cryptography, and GnuPG in particular is assumed.
If something is not clear or you're new to PGP, then make sure to start with the Glossary below.
Some quick insights
- Public key cryptography happens between two encryption keys, which is not necessarily only two humans, unless enough care has been taken when exchanging public keys and to keep the secret keys indeed secret.
- In a digital networked world it's not possible to delete any published information, it must be assumed to be just there forever. This also applies to PGP keys.
- Properly authenticated revocation requests can be published, though. If such requests are digitally signed (authenticated), then they will be honored by programs handling e.g. PGP keys (key servers, client programs), and the revoked data will be ignored/hidden from the user accordingly.
- Having a separately stored revocation certificate in your backup comes very handy if your key gets compromised or lost. By publishing it you can tell your peers that your key should not be used anymore.
- The most precious part of a PGP key block is its master signing key.
- The master signing key of a PGP key block is rarely needed (mostly when editing/extending the PGP key block itself and when signing other people's keys).
- You can only trust you generated PGP key to the extent you trust the software environment and/or the computer generating it. Opensource is a minimum in security, so use a Linux live cd or something similar from a trusted source to generate and/or use your master signing key, preferably while being offline (see live CD's in the Glossary)!
- Specialized hardware solutions offer much better protection for secret keys. See below.
- If you forget the passphrase for your already published key, and you don't have a revocation certificate either, then your key will be lingering on the keyservers confusing your peers, who will annoy you by sending you messages you cannot read.
- Passphrases: three to five word long sentences that you make up yourself (based on a non-trivial vocabulary, personal experiences, dreams, preferably with s0me typ0s) are easier to remember than a bunch of random characters, and are better passphrases. You can even build a little story around them to have separate but semantically interconnected passphrases (for the keys, for the revocation certificate, etc.). A vivid dream or delightful fantasies can be a good basis for something you won't forget. :)
- .but at the end of the day it'll always be a tradeoff between security and convenience. Assess your risks and act accordingly.
The PGP algorithm needs an extra parameter, a key, to sign or encrypt data. That parameter is a cryptographic keypair, usually one of the subkeys from a PGP key block. New subkeys can be freely generated and published, so forward secrecy can be achieved by publishing new subkeys, as long as the secret part of the master signing keypair has not been compromised. Therefore the most precious part of a PGP key block is its master signing key, because whenever new information is attached to the key block (e.g. a new subkey is generated), this new data must be signed by the secret part of the master signing keypair, otherwise conforming programs will reject the new unsigned or improperly signed part of the PGP key block. In this scheme publishing valid additions to the key block is only possible by people who know the secret part of the master signing key. This is ideally you, and you only.
So, to conclude: keep the secret part of your master signing key safe!
Generating a key
The aim is to generate a digital identity that can serve to identify you and to facilitate secret communication with you in the future.
Things to consider:
- If a valid signing subkey exists, then the master signing key is rarely used (only to sign internal parts of the key block itself, when explicitly selected, or when signing other people's keys), so the size of the signatures it generates is not a major concern.
- Having a strong master signing key (and taking good care of it) can provide a long time span for your digital identity (possibly 10+ years) and for forward secrecy.
- The security of RSA keys does not scale well beyond 2048 bits, use ECC (Elliptic curve cryptography) instead as recommended. Unfortunately it requires GnuPG 2.1+ (2014 Nov).
- Longer signing keys generate longer signatures.
- Signature length: RSA > DSA = ECDSA (Elliptic Curve DSA) (but there's more to this story).
- Some GnuPG configuration parameters affect newly generated keys (although not in a permanent way); e.g. see setpref to set the preferred hash algorithms for identities here.
Even more thoughts here.
Using GnuPG
GnuPG properly operates with a PGP key block that is missing the secret part of its master signing key, as long as it's not needed for an operation. Therefore it's a good idea not to store the secret part of the master signing key in the regularly used gpg home directory, but rather generate and handle it in a safer environment; e.g. generate and handle it using a live CD without Internet connection, and store it on a pendrive dedicated to this purpose. Then only attach it when needed (e.g. when signing other people's keys or when your own keyblock needs to be modified).
This script generates (with defaults in parens):
- a master signing key (RSA 4096 bit, no expiration date marked)
- a subkey for signing (RSA 4096 bit, 3 years)
- a subkey for encryption (RSA 2048 bit, 3 years)
- export the secret part of the master signing key into the file
secret-master-key.gpg
- export the secret parts of the two generated subkeys into the file
secret-subkeys.gpg
- export the public parts of all the three generated keys into the file
public-keys.gpg
- generate and symmetrically encrypt a revocation certificate into the file
revocation-certificate-for-[keyid]-passphrase-protected.gpg
- (planned: support for
ssss-split
to generate secret sharing to backup the master key and the revocation certificate in a distributed manner)
Once the exported files have been generated, you can import them into the gpg homedir's on your devices (by default ~/.gnupg
). Where you should import and what depends on the level of security you want to achieve, but keeping the master key offline is advised as described above.
(the '#' character in the output shows that the secret part of the master signing key is missing)
SmartCards and other hardware keys
SmartCards and USB cryptographic tokens are specialized simple computers that perform cryptographic operations. They are designed to keep the secret keys secret even against physical attacks. They are much more secure than storing a key on a personal computer, but they are not flawless ⁽¹⁾⁽²⁾. Usually they can store three separate keys for signing, encryption, and authentication. The secret keys can be either uploaded or generated on the cards themselves, so that they never get exposed to less secure environments.
Gpg4win 8192 Bit Key Generation Free
- The OpenPGP Card version 2.0 - a SmartCard with extensive documentation and thus stable Linux support. You can also get one by joining the FSFE Fellowship. Supports three 4096 bit keys and on-card key generation⁽¹⁾.
- Crypto Stick - a tiny OpenSource USB computer and firmware with an integrated proprietary smart card chip. Supports OATH TOTP as described here.
- gnuk - a portable OpenSource implementation of the OpenPGP Card specification that can run on e.g. this tiny ARM based OpenSource USB computer.
Some laptops have internal smart card readers, and higher security external readers have their own PIN entry keyboard.
Further information on using smart cards on Linux: Debian wiki, Using an OpenPGP SmartCard, OpenSC – tools and libraries for smart cards, GnuPG wiki.
Gpg4win 8192 Bit Key Generation 10
Glossary
- PGP key - It's usually a shorthand for PGP key block, which will be the case in this document, too. Not to be confused with asymmetric cryptographic keypairs, which are merely parts of PGP key blocks.
- PGP key block - a complex structure of information (normally stored in ~/.gnupg/). Examples of the information it can contain: multiple cryptographic (sub)keys; multiple identities (email addresses, photgraphs, etc); digital signatures on various parts of the key block (potentially made by other people's keys, e.g. to communicate the belief to the rest of the world that the same real world person owns the listed digital identities, and also the secret part of the key).
- subkey - PGP key blocks can have, among other things, multiple asymmetric cryptographic keypairs. One such asymmetric cryptographic keypair is mandatory for normal operation. It's called the master signing key, and it's used to sign various information inside the key block, e.g. identities and/or other cryptographic keys, which are called subkeys.
- asymmetric cryptographic keypair - they are basically pairs of very big interconnected random numbers, one of them should be made public, while the other one should be kept secret. Asymmetric encryption algorithms use the public part to encrypt data and to verify signature blocks, while use the secret part to decrypt data and to generate signature blocks.
- OATH is short for Initiative for Open Authentication. Among other things it defines a Time-based One-time Password (TOTP) authentication standard, supported by more and more websites.
- Live CD is a bootable read-only operating system, like these security focused Linux Live CDs (bootable from USB pendrives also):
- Liberté Linux.
Alternatives and/or further reading
Credits
Written by Attila Lendvai attila.lendvai@gmail.com (Key fingerprint: 2FA1 A9DC 9C1E BA25 A59C 963F 5D5F 45C7 DFCD 0A39).
If you've found this useful, then tips are welcome:
- Bitcoin (BTC):
1Ej8SeMNTkwjSwhKLu7H1XLVRPZ3HUjM4J
(0 BTC as of 2014-01-18) - Ripple (XRP):
r33NEgyd7HqvrUeB98rQ4VoBxP438gC74Q
(0 XRP as of 2014-01-18) - Paypal: (0 USD as of 2015-11-10)