Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Home
Quick Start
Recent changes
Contributors
Start Contributing
Modify Existing Pages
Add New Pages
Display elements markup
More Markup Help
Translators
Get a Translator Account
Languages represented
Working with Languages
Start Translating
Request Release
Search
Search
English
Appearance
Log in
Personal tools
Log in
Export translations
Translate
English
Language statistics
Message group statistics
Export
Tools
Tools
move to sidebar
hide
Actions
Language statistics
Message group statistics
Export
General
Special pages
Printable version
Appearance
move to sidebar
hide
Settings
Group
Accessibility
Accessibility/Application Overview
Accessibility/Plasma
Adding an entry to the Create New menu
Akonadi
Akonadi and AddressBook
Akonadi/Postgres update
Akregator
Akregator/Tutorials/How to get RSS from a Wordpress blog?
Amarok
Amarok Manual
Amarok/Manual
Amarok/Manual/AmarokWindow
Amarok/Manual/AmarokWindow/ContextPane
Amarok/Manual/AmarokWindow/MediaSources
Amarok/Manual/AmarokWindow/PlaylistPane
Amarok/Manual/AmarokWindow/Toolbar
Amarok/Manual/ConfiguringAmarok
Amarok/Manual/ConfiguringAmarok/ChangingLayout
Amarok/Manual/Introduction
Amarok/Manual/Organization
Amarok/Manual/Organization/Applets
Amarok/Manual/Organization/Collection
Amarok/Manual/Organization/Collection/ExternalDatabase
Amarok/Manual/Organization/Collection/OrganizeCollection
Amarok/Manual/Organization/Collection/RemoteCollections
Amarok/Manual/Organization/Collection/RemoteCollections/Ampache
Amarok/Manual/Organization/Collection/RemoteCollections/DAAP
Amarok/Manual/Organization/Collection/RemoteCollections/Samba
Amarok/Manual/Organization/Collection/RemoteCollections/UPnP
Amarok/Manual/Organization/Collection/SearchInCollection
Amarok/Manual/Organization/Collection/StatisticsSynchronization
Amarok/Manual/Organization/Collection/WorkingWithMediaDevices
Amarok/Manual/Organization/CollectionScanning
Amarok/Manual/Organization/CoverManager
Amarok/Manual/Organization/ScriptManager
Amarok/Manual/Organization/TagEditor
Amarok/Manual/Organization/Transcoding
Amarok/Manual/Playlist
Amarok/Manual/Playlist/AutomaticPlaylistGenerator
Amarok/Manual/Playlist/DynamicPlaylists
Amarok/Manual/Playlist/PlaylistFiltering
Amarok/Manual/Playlist/QueueManager
Amarok/Manual/Playlist/SavedPlaylists
Amarok/Manual/References
Amarok/Manual/References/Credits and License
Amarok/Manual/References/KeybindingReference
Amarok/Manual/References/KeybindingReference/AmarokShortcuts
Amarok/Manual/References/KeybindingReference/GlobalShortcuts
Amarok/Manual/References/MenuAndCommandReference
Amarok/Manual/References/MenuAndCommandReference/AmarokMenu
Amarok/Manual/References/MenuAndCommandReference/Help
Amarok/Manual/References/MenuAndCommandReference/Playlist
Amarok/Manual/References/MenuAndCommandReference/Settings
Amarok/Manual/References/MenuAndCommandReference/Tools
Amarok/Manual/References/MenuAndCommandReference/ViewMenu
Amarok/Manual/Various
Amarok/Manual/Various/AmarokOnOtherPlatforms
Amarok/Manual/Various/AmarokOnOtherPlatforms/NonKDE Desktops
Amarok/Manual/Various/AmarokOnOtherPlatforms/OSX
Amarok/Manual/Various/AmarokOnOtherPlatforms/Windows
Amarok/Manual/Various/FAQ
Amarok/Manual/Various/Moodbar
Amarok/Manual/Various/ReplayGain
Amarok/Manual/Various/TroubleshootingAndCommonProblems
Amarok/QuickStartGuide
Amarok/QuickStartGuide/GettingStarted
Amarok/QuickStartGuide/Glossary
Amarok/QuickStartGuide/HowToDealWithProblems
Amarok/QuickStartGuide/Playlists
Amarok/QuickStartGuide/TheAmarokWindow
Amarok/QuickStartGuide/TheContextView
Amarok/QuickStartGuide/TheMusicCollection
An introduction to KDE
Apper
Applications
Applications/Accessibility
Applications/Desktop
Applications/Development
Applications/Education
Applications/Games
Applications/Graphics
Applications/Internet
Applications/Multimedia
Applications/Office
Applications/Science
Applications/System
Applications/Utilities
Archive:Artikulate
Archive:Browser Configuration/Firefox Dialog Integration
Archive:Build your first KDE application on Kubuntu
Archive:ChoqoK
Archive:KColorChooser
Archive:Kde-pim
Archive:Kdenlive/Manual/Capturing
Archive:Kdenlive/Manual/CapturingAudio
Archive:Kdenlive/Manual/Clip Menu
Archive:Kdenlive/Manual/Credits and License
Archive:Kdenlive/Manual/Edit Menu
Archive:Kdenlive/Manual/Edit Menu/Copy
Archive:Kdenlive/Manual/Edit Menu/Paste
Archive:Kdenlive/Manual/Edit Menu/Paste Effects
Archive:Kdenlive/Manual/Edit Menu/Redo
Archive:Kdenlive/Manual/Edit Menu/Undo
Archive:Kdenlive/Manual/Effects/Alpha manipulation
Archive:Kdenlive/Manual/Effects/Alpha manipulation/Alpha operations
Archive:Kdenlive/Manual/Effects/Alpha manipulation/Alpha shapes
Archive:Kdenlive/Manual/Effects/Alpha manipulation/Blue Screen
Archive:Kdenlive/Manual/Effects/Alpha manipulation/Color Selection
Archive:Kdenlive/Manual/Effects/Alpha manipulation/Rotoscoping
Archive:Kdenlive/Manual/Effects/Analysis and Data
Archive:Kdenlive/Manual/Effects/Artistic
Archive:Kdenlive/Manual/Effects/Audio channels
Archive:Kdenlive/Manual/Effects/Audio Correction
Archive:Kdenlive/Manual/Effects/Blur and hide
Archive:Kdenlive/Manual/Effects/Blur and hide/Auto Mask
Archive:Kdenlive/Manual/Effects/Colour Correction
Archive:Kdenlive/Manual/Effects/Colour Correction/RGB adjustment
Archive:Kdenlive/Manual/Effects/Crop and transform
Archive:Kdenlive/Manual/Effects/Crop and transform/Pan and Zoom
Archive:Kdenlive/Manual/Effects/Custom
Archive:Kdenlive/Manual/Effects/Distort
Archive:Kdenlive/Manual/Effects/Enhancement
Archive:Kdenlive/Manual/Effects/Fade
Archive:Kdenlive/Manual/Effects/Fun
Archive:Kdenlive/Manual/Effects/Misc
Archive:Kdenlive/Manual/Effects/Motion
Archive:Kdenlive/Manual/File Menu
Archive:Kdenlive/Manual/File Menu/DVD Wizard
Archive:Kdenlive/Manual/File Menu/New
Archive:Kdenlive/Manual/File Menu/Open
Archive:Kdenlive/Manual/File Menu/Open Recent
Archive:Kdenlive/Manual/File Menu/Quit
Archive:Kdenlive/Manual/File Menu/Revert
Archive:Kdenlive/Manual/File Menu/Save
Archive:Kdenlive/Manual/File Menu/Save As
Archive:Kdenlive/Manual/File Menu/Transcode Clips
Archive:Kdenlive/Manual/Introduction
Archive:Kdenlive/Manual/KdenliveOnOtherPlatforms
Archive:Kdenlive/Manual/KdenliveOnOtherPlatforms/Non-KDE Desktops
Archive:Kdenlive/Manual/KdenliveOnOtherPlatforms/OSX
Archive:Kdenlive/Manual/Menu
Archive:Kdenlive/Manual/Monitor Menu
Archive:Kdenlive/Manual/Monitors
Archive:Kdenlive/Manual/Project Menu
Archive:Kdenlive/Manual/Project Menu/Render
Archive:Kdenlive/Manual/Project Menu/Render/Render Profile Parameters
Archive:Kdenlive/Manual/Projects and Files
Archive:Kdenlive/Manual/Projects and Files/Archiving
Archive:Kdenlive/Manual/Projects and Files/Backup
Archive:Kdenlive/Manual/Projects and Files/Clips
Archive:Kdenlive/Manual/Projects and Files/Importing
Archive:Kdenlive/Manual/Projects and Files/Management
Archive:Kdenlive/Manual/Projects and Files/Notes
Archive:Kdenlive/Manual/Projects and Files/Project
Archive:Kdenlive/Manual/Projects and Files/Project Settings
Archive:Kdenlive/Manual/Projects and Files/Project Tree
Archive:Kdenlive/Manual/Rendering
Archive:Kdenlive/Manual/Settings Menu
Archive:Kdenlive/Manual/ShootingHints
Archive:Kdenlive/Manual/Timeline
Archive:Kdenlive/Manual/Timeline Menu
Archive:Kdenlive/Manual/Timeline/Grouping
Archive:Kdenlive/Manual/Timeline/Guides
Archive:Kdenlive/Manual/Timeline/Right Click Menu
Archive:Kdenlive/Manual/Titles
Archive:Kdenlive/Manual/Tool Menu
Archive:Kdenlive/Manual/Toolbars
Archive:Kdenlive/Manual/Transitions
Archive:Kdenlive/Manual/Troubleshooting and Common Problems
Archive:Kdenlive/Manual/Tutorials
Archive:Kdenlive/Manual/Tutorials/Split Screen How To
Archive:Kdenlive/Manual/Useful Information
Archive:Kdenlive/Manual/Useful Information/FAQ
Archive:Kdenlive/Manual/Useful Information/Shortcuts
Archive:Kdenlive/Manual/Useful Information/Surround Sound
Archive:Kdenlive/Manual/Useful Information/Tips Tricks
Archive:Kdenlive/Manual/Useful Information/Useful Resources
Archive:Kdenlive/Manual/View Menu
Archive:Kdenlive/Manual/Windows Issues
Archive:Kdessh
Archive:KOffice
Archive:KOrganizer/Download
Archive:Obsolete
Archived
Ark
Artwork
Asking Questions
Audex
Bangarang
BasKet
BlinKen
Blogilo
Bluedevil
Braindump
Browser Configuration
Browser Configuration/Mousegestures for all Browsers
Browser Configuration/Opera
Calligra
Calligra/Download
Calligra/Handbooks
Cantor
ChoqoK/Using ChoqoK
Color Management
Common Tasks
Concepts/OpenPGP For Beginners
Concepts/OpenPGP Getting Started
Concepts/OpenPGP Help Spread
Configure your desktop
Create a Page
Desktop Effects Performance
digiKam
Digikam
Digikam/Adding Borders To Your Photos
Digikam/AddTextures
Digikam/AspectRatios
Digikam/Assign Keyboard Shortcuts to Tags in digiKam
Digikam/Basic RAW Processing
Digikam/Batch Process
Digikam/Batch Queue Manager and Script
Digikam/Black and White
Digikam/BleachBypassEffect
Digikam/Bugs
Digikam/Calendars
Digikam/Calibrate and Profile Monitor
Digikam/ChangeFormat
Digikam/Check Database
Digikam/Color Labels and Picks
Digikam/Compress
Digikam/Configure the Main Toolbar in digiKam
Digikam/Duplicates
Digikam/Effects
Digikam/Exif
Digikam/Export via DNLA
Digikam/Exposure Blending
Digikam/Face Detection
Digikam/Face Recognition
Digikam/Facebook
Digikam/Faded Effect
Digikam/Geotag Photos with Android
Digikam/Geotagging
Digikam/Geotagging in digiKam 2.0
Digikam/Import Photos in Digikam
Digikam/Lens Correction Using digiKam
Digikam/Lens Distortion
Digikam/Levels Adjust
Digikam/LightTable
Digikam/Local Contrast
Digikam/Maintenance
Digikam/Manage Photos from Multiple digiKam Installations
Digikam/Metadata
Digikam/MetadataToRaw
Digikam/Negatives
Digikam/Noise Reduction
Digikam/Optimise
Digikam/Panorama
Digikam/Performing Fuzzy Searches In digiKam
Digikam/Photoshop Preset Curves
Digikam/Picasa
Digikam/Process RAW Files
Digikam/Quick Tip:Disable Certain File Types
Digikam/RedEye
Digikam/Renaming Photos
Digikam/Sharpening
Digikam/Simple Toning
Digikam/Soft Proofing
Digikam/Straighten
Digikam/TaggingEfficient
Digikam/Tethered Shooting
Digikam/Thumbnails
Digikam/Tour
Digikam/Tutorials
Digikam/Using digiKam with MySQL
Digikam/Using the Advanced Search Tool In digiKam
Digikam/Using XMP Sidecar support in digiKam 2
Digikam/Versioning
Digikam/Vintage Effect
Digikam/Watermark
Digikam/Wikimedia Commons
Digikam/Windows
Discover
Dolphin
Dolphin/Batch Rename
Dolphin/Customize Folder Icon
Dolphin/File Management
Dragon Player
Edit Markup
File transfers
Filelight
Flow
GCompris
General KDE Software FAQs
Getting Help
Getting started with KAlgebra
Glossary
Gluon
Google Talk support
Gwenview
Gwenview/Hidden Configuration Options
Help:Wiki Structure
History of KDE
Homerun
How to chat with other KDE users
How To Convert a UserBase Manual to Docbook
Image Kimdaba
Installing KDE neon
Introduction to new contributors
IRC Channels
Jargon File
Jovie
Juk
K3b
K3b/Burn an Audio Cd with K3b
K9Copy
KAddressBook
KAddressBook/index
KAddressBook/Tutorials/How to add a new contact?
KAddressBook/Tutorials/How to create a new address book?
Kaffeine
Kaffeine-TV
KAlarm
KAlgebra
KAlgebra/Console Tab
KAlgebra/Homework
KAlgebra/Probabilities
Kalzium
Kalzium/Other Chemistry-Applications
Kamoso
Kanagram
KAppTemplate
Karbon
Karbon/Tutorials/Artistic Text Shape
Kate
Kbarcode
KBibTeX
KBibTeX/Development
Kbluetooth
KBruch
KCalc
KCells
KCharSelect
KChart
KColorEdit
KDbg
KDE Connect/Tutorials/Adding commands
KDE Connect/Tutorials/Useful commands
KDE Partition Manager
KDE preinstalled
KDE SVN
KDE System Administration
KDE Wallet Manager
KDE Wiki Sandbox:About
KDE Wiki Sandbox:General disclaimer
KDE Wiki Sandbox:Privacy policy
KDEConnect
Kdenlive
Kdenlive/Manual
Kdenlive/Manual/alpha operation transitions
Kdenlive/Manual/BugReporting
Kdenlive/Manual/Clip Menu/Delete Clip
Kdenlive/Manual/Clip Menu/Edit Clip
Kdenlive/Manual/Clip Menu/Extract Audio
Kdenlive/Manual/Clip Menu/Locate Clip
Kdenlive/Manual/Clip Menu/Rename Clip
Kdenlive/Manual/Clip Menu/Stabilize
Kdenlive/Manual/Edit Menu/Find
Kdenlive/Manual/Effects
Kdenlive/Manual/Effects And Transitions
Kdenlive/Manual/Effects/Audio
Kdenlive/Manual/Full Luma
Kdenlive/Manual/Installation
Kdenlive/Manual/Project Menu/Create Folder
Kdenlive/Manual/Project Menu/Online Resources
Kdenlive/Manual/QuickStart
Kdenlive/Manual/Timeline Menu/Insert Clip Zone
Kdenlive/Manual/Timeline Menu/Tracks
Kdenlive/Manual/Timeline/Editing
Kdenlive/Manual/Titles/Download New Title Templates
Kdenlive/Manual/Transitions/Affine
Kdenlive/Manual/Transitions/alphaxor
Kdenlive/Manual/Transitions/Composite
Kdenlive/Manual/Transitions/Hue
Kdenlive/Manual/Transitions/screen
Kdenlive/Manual/Transitions/Wipe
Kdenlive/Manual/View Menu/Audio Spectrum
Kdenlive/Manual/View Menu/Clip Monitor
Kdenlive/Manual/View Menu/Effect List
Kdenlive/Manual/View Menu/Load Layout
Kdenlive/Manual/View Menu/Save Layout As
Kdenlive/Manual/View Menu/Screen Grab
Kdenlive/Manual/View Menu/Show Title Bars
Kdenlive/Manual/View Menu/Undo History
Kdesvn
KDevelop
KDevelop/Install4.5
KDevelop4
KDevelop4/FAQ
KDevelop4/Manual
KDevelop4/Manual/Appendix A: Building KDevelop from Sources
KDevelop4/Manual/Building (compiling) projects with custom Makefiles
KDevelop4/Manual/Code generation with templates
KDevelop4/Manual/Customizing KDevelop
KDevelop4/Manual/Debugging programs
Kdevelop4/Manual/Meet KDevelop
KDevelop4/Manual/Running programs
KDevelop4/Manual/Sessions and projects
KDevelop4/Manual/Working with source code
KDevelop4/Manual/Working with version control systems
KDevelop4/TipsAndTricks
KDevelop5 Manual
KDevelop5/Manual
KDevelop5/Manual/Appendix A: Building KDevelop from Sources
KDevelop5/Manual/Building (compiling) projects with custom Makefiles
KDevelop5/Manual/Code generation with templates
KDevelop5/Manual/Customizing KDevelop
KDevelop5/Manual/Debugging programs
Kdevelop5/Manual/Meet KDevelop
KDevelop5/Manual/Running programs
KDevelop5/Manual/Sessions and projects
KDevelop5/Manual/Working with source code
KDevelop5/Manual/Working with version control systems
KDiff3
KDirStat
KDiskFree
KEuroCalc
Kexi
Kexi Handbook
Kexi/Handbook
Kexi/Handbook/Appendix B. Comparing Kexi to other database applications
Kexi/Handbook/Building Simple Databases
Kexi/Handbook/Building Simple Databases/Designing Database Queries
Kexi/Handbook/Building Simple Databases/Designing Database Tables
Kexi/Handbook/Building Simple Databases/Designing Database Tables/The Table Designer window
Kexi/Handbook/Building Simple Databases/Designing Forms
Kexi/Handbook/Building Simple Databases/Designing Forms/Actions
Kexi/Handbook/Building Simple Databases/Designing Forms/Assigning data sources
Kexi/Handbook/Building Simple Databases/Designing Forms/Forms versus tables
Kexi/Handbook/Building Simple Databases/Designing Forms/Inserting text labels
Kexi/Handbook/Building Simple Databases/Designing Forms/Inserting widgets - text fields
Kexi/Handbook/Building Simple Databases/Designing Forms/Most important terms
Kexi/Handbook/Building Simple Databases/Designing Forms/Setting the tab order
Kexi/Handbook/Building Simple Databases/Designing Forms/Setting widgets size and position by hand
Kexi/Handbook/Building Simple Databases/Designing Forms/Using the Widgets tab
Kexi/Handbook/Building Simple Databases/Designing Forms/Widget layouts
Kexi/Handbook/Building Simple Databases/Designing Forms/Working with form design
Kexi/Handbook/Building Simple Databases/Entering Data Into Tables
Kexi/Handbook/Building Simple Databases/Entering Data Using Forms
Kexi/Handbook/Configuring Kexi
Kexi/Handbook/Configuring Kexi/Docking and undocking side panels
Kexi/Handbook/Credits and License
Kexi/Handbook/Introduction
Kexi/Handbook/Introduction to Databases/Database and Spreadsheet
Kexi/Handbook/Introduction to Databases/Database Creation Software
Kexi/Handbook/Introduction to Databases/Database Design
Kexi/Handbook/Introduction to Databases/What Is a Database?
Kexi/Handbook/Introduction to Databases/Who Needs a Database?
Kexi/Handbook/Kexi Basics
Kexi/Handbook/Kexi Basics/Creating a New Database File
Kexi/Handbook/Kexi Basics/Kexi Databases
Kexi/Handbook/Kexi Basics/Opening an existing Kexi database file
Kexi/Handbook/Kexi Basics/Opening an existing Kexi database file/Opening a database file in the Open Existing Project dialog
Kexi/Handbook/Kexi Basics/Opening an existing Kexi database file/Opening an existing Kexi database file by clicking on .kexi file's icon
Kexi/Handbook/Kexi Basics/The Kexi Main Window
Kexi/Handbook/Kexi Basics/Using built-in help
Kexi/Handbook/References/Command-Line Options
Kexi/Handbook/Where to go next
Kexi/Tutorials
Kexi/Tutorials/Drilling Down on Facebook Data
Kexi/Tutorials/Importing SQLite database into Kexi
Kexi/Tutorials/Reports/Kexi Reports for Beginners
KFileReplace
KFind
KFloppy
KFormula
KFTPgrabber
KGeography
KGeography/Making Maps
KGet
KGpg
KGraphviewer
KHangMan
KHelpCenter
KIconEdit
Kid3
Kig
Kig/FAQ
Kig/Screenshots
Kile
KImageMapEditor
KInfoCenter
Kio gopher
Kio-audiocd
KIPI
Kiten
Kivio
KJots
KJots/Import KNowIt Into KJots
KJots/Recover Deleted KJots Books
Kleopatra
KLettres
KLinkStatus
Klipper
Klipper/How to search in phone books using Klipper
Klipper/Pastebins
KMag
KMail
KMail/Account Wizard
KMail/Backup Options
Kmail/Configuring Kmail
Kmail/Configuring Kmail/Identities
KMail/Courses Information Openpgp
KMail/Devs
Kmail/Distributions/Gentoo
Kmail/Distributions/OpenSUSE
KMail/FAQs Hints and Tips
Kmail/Folder Properties
Kmail/Getting Started
KMail/gpg
KMail/Import Options
KMail/PGP MIME
KMail/Screenshots
KMail/Tools
Kmail/Using Folders
Kmail/Using Kmail General
KMediaFactory
KMess
KMid
KMix
KMLDonkey
KMouseTool
KMouth
KMPlayer
KmPlot
KmPlot/Using Sliders
KMyMoney
KNemo
KNetworkManager
KNode
KNode/KNode for mailing lists
KNotes
Koko
KolorManager
KolourPaint
Kompare
Konqueror
Konqueror/Web Shortcuts
Konsole
KonsoleDevelopment
KonsoleKalendar
Kontact
Kontact Touch
Kontact Touch/About
Kontact Touch/Harmattan
Kontact Touch/Maemo5
Kontact Touch/MeeGo
Kontact Touch/Screenshots
Kontact Touch/WinCE
Kontact/Kontact Palm Pre Sync
Kontact/SMS
Konversation
Konversation/Browsers
Konversation/Configuring SASL authentication
Konversation/Distributions
Konversation/Distributions/ArchLinux
Konversation/Distributions/ArkLinux
Konversation/Distributions/Chakra
Konversation/Distributions/Exherbo
Konversation/Distributions/Fedora
Konversation/Distributions/Gentoo
Konversation/Distributions/Kubuntu
Konversation/Distributions/Mageia
Konversation/Distributions/openSUSE
Konversation/Distributions/PCLinuxOS
Konversation/Distributions/Slackware
Konversation/Distributions/Xandros
Konversation/FAQ
Konversation/KDE3 Sources
Konversation/KDE4 Sources
Konversation/Releases
Konversation/Scripts/Ghosttrick
Konversation/Scripts/Import mIRC server list
Konversation/Scripts/Media
Konversation/Scripts/Scripting guide
Konversation/Sources
Konversation/Tips and Tricks
Kooka
Kopete
Kopete/AIM
Kopete/Auto Replace
Kopete/Firewall
Kopete/ICQ
Kopete/ICQ/About ICQ
Kopete/ICQ/add friends
Kopete/ICQ/connect through kopete
Kopete/ICQ/creating an account
Kopete/Jabber
Kopete/Jabber Muc
Kopete/Jabber Transport
Kopete/Jabber/About Jabber XMPP
Kopete/Jabber/Adding friends
Kopete/Jabber/Create your Jabber account
Kopete/Jabber/Fill in your account data in Kopete
Kopete/Jabber/First steps
Kopete/Jabber/Messaging and sending files
Kopete/Jabber/More info on Kopete
Kopete/Jabber/Useful configuration hints
Kopete/MSN
Kopete/OTR
Kopete/Skype Plugin
Kopete/Supported Protocols Overview
Kopete/Webcam Support
Kopete/Winpopup
Kopete/Yahoo
KOrganizer
KOrganizer/Alarms
KOrganizer/Appointments
KOrganizer/Calendar
KOrganizer/Custom
KOrganizer/Future
KOrganizer/ImpData
KOrganizer/Links
KOrganizer/Screenshots
KOrganizer/ToDo
KOrganizer/Web
KPackage
KPackageKit
KPager
KPDF
KPhotoAlbum
KPhotoAlbum FAQ
KPilot
KPlato
KPlayer
KPPP
Kraft
Krdc
Krecipes
KRename
Krfb
Kronometer
KrossWordPuzzle
KrossWordPuzzle/Crossword Types
KrossWordPuzzle/Settings
KrossWordPuzzle/Using KrossWordPuzzle
KRuler
Krusader
Krusader/How To Add Folder Shortcuts on Krusader Toolbar
KsCD
KSnapshot
KSniffer
KStars
KSysGuard
KSystemLog
KTechlab
KtikZ
KTimer
KTimeTracker
KTorrent
KTouch
KTouch/HowTo/DifferentKeyboardLayout
KTurtle
KTurtle/Examples
KTux
Kubuntu
Kubuntu/Advanced
Kubuntu/Advanced/Repositories
Kubuntu/Basic
Kubuntu/Contribute
Kubuntu/Installation
Kubuntu/Software
Kubuntu/Software/Games/Steam
Kubuntu/Support
Kubuntu/Welcome
KuickShow
KUIViewer
KUser
Kwave
KWin
KWin Rules
KWin Rules Application Workarounds
KWin Rules Examples
KWin Rules Window Attributes
KWin Rules Window Matching
KWin/Gallery
Kwlan
KWord
KWord/Manual
KWord/Manual/Introduction
KWord/Manual/IntroGUI
KWord/Tutorials
KWord/Tutorials/BasicLayout
KWord/Tutorials/SecondLayout
KWord/Tutorials/ThirdLayout
KWordQuiz
KWrite
KXStitch
LabPlot
Lancelot
Lancelot/Comparison
Lancelot/Discover Lancelot
Latte Dock
LatteDock
LatteDock/FAQ
LatteDock/How to report multi screen issues
LatteDock/HowToReportCrashes
LatteDock/TipsAndTricks
LemonPOS
List of KDE themes with GTK ports
Live CDs - a way to choose your distro
Lokalize
Mailing Lists
Marble
Marble/Bookmarks
Marble/Maemo/GuidanceMode
Marble/Maemo/Installation
Marble/Maemo/OfflineRouting
Marble/MapThemes
Marble/Search
Marble/Tracking
Minuet
Modify a Page
Neon/Installation/OEM
Neon/LTS/EOL
Nepomuk
Nepomuk/FileIndexer
Nepomuk/kioslaves/tags
NetworkManagement
Off-line Translation
Okteta
Okteta/Tutorials
Okular
PageLayout
Pairs
Parley
Parley/Manual
Parley/Manual/How to study vocabulary in multiple choice mode
Peruse
Phonon
Phonon/Handbook
Plan
Plan/Engineering To Order project tutorial
Plan/Engineering To Order project tutorial/executing
Plan/Engineering To Order project tutorial/planning
Plan/Manual/Definitions
Plan/Manual/Introduction
Plan/Tutorials
Plasma
Plasma application launchers
Plasma-browser-integration
Plasma/Application Dashboard
Plasma/Clocks
Plasma/ColorPicker
Plasma/Create a Global Theme Package
Plasma/DeviceNotifier
Plasma/FAQ/4.4
Plasma/FAQ/4.4/Configuration
Plasma/FAQ/5.10
Plasma/FAQ/5.10/Configuration
Plasma/FAQ/Index
Plasma/GroupingDesktop
Plasma/HowTo/4.5
Plasma/HowTo/Index
Plasma/Installing Plasmoids
Plasma/Kicker
Plasma/Kickoff
Plasma/Krunner
Plasma/Netbooks
Plasma/NetworkMonitor
Plasma/Pager
Plasma/Panels
Plasma/PictureFrame
Plasma/Plasmoids
Plasma/Public Transport
Plasma/Public Transport/CreateServiceProviders
Plasma/Public Transport/NewServiceProviders
Plasma/Public Transport/ServiceProviders
Plasma/SystemTray
Plasma/Tasks
Plasma/TweakingPlasma
Plasmate
PulseAudio
QCA
Quanta
Quanta RefreshDoc
Quanta RefreshDoc script
Quassel
Quick Start
Raptor
Raw to DNG
Rekonq
Rekonq/FAQs
Rekonq/Manual
Rekonq/Manual/Introduction
Rekonq/Manual/UI
RKWard
Rocs
RSIBreak
Semantik
Session Environment Variables
Sheets
Showcase
Showfoto
Showfoto/Brightness
Showfoto/Curves Adjust
Showfoto/Levels Adjust
Showfoto/Perspective
Showfoto/White Balance
Simon/Installation
Simon/Shadow dictionary
Skanlite
Skrooge
Smb4K
SMPlayer
Software from Source
Sound Problems
Sound Problems/External Sound Cards
Spectacle
Spectacle/Tutorials/Invoking Spectacle with custom shortcuts
Stage
Step
Summary
Sweeper
SymbolEditor
System Activity
System Settings
System Settings/Accessibility
System Settings/Account Details
System Settings/Activities
System Settings/Appearance
System Settings/Application Style
System Settings/Applications
System Settings/Autostart
System Settings/Color
System Settings/Connections
System Settings/Date & Time
System Settings/Default Applications
System Settings/Desktop Behavior
System Settings/Desktop Effects
System Settings/Desktop Session
System Settings/Emoticon Theme
System Settings/File Associations
System Settings/File Search
System Settings/Font
System Settings/Font Management
System Settings/Fonts (Category)
System Settings/Formats
System Settings/GNOME Application Style (GTK)
System Settings/Icon Theme
System Settings/Icons
System Settings/Input Devices
System Settings/KDE Wallet
System Settings/Keyboard
System Settings/Language
System Settings/Launch Feedback
System Settings/Locale/How To Install and Apply Interface Translation
System Settings/Locations
System Settings/Login Screen
System Settings/Look And Feel
System Settings/Mouse
System Settings/Mouse Cursor Theme
System Settings/Notifications
System Settings/Online Accounts
System Settings/Plasma Search
System Settings/Plasma Theme
System Settings/Power Management
System Settings/Printers
System Settings/Regional Settings
System Settings/Removable Storage
System Settings/Screen Edges
System Settings/Screen Locking
System Settings/Search
System Settings/Search Desktop
System Settings/Shortcuts
System Settings/Shortcuts and Gestures
System Settings/Spell Check
System Settings/Splash Screen
System Settings/Startup and Shutdown
System Settings/Task Scheduler
System Settings/Task Switcher
System Settings/Touch Screen
System Settings/Touchpad
System Settings/User Manager
System Settings/Virtual Desktops
System Settings/Web Shortcuts
System Settings/Widget Style
System Settings/Window Behavior
System Settings/Window Behaviour
System Settings/Window Rules
System Settings/Windows Decorations
System Settings/Windows Management
System Settings/Workspace
System Settings/Workspace Appearance
System Settings/Workspace Behaviour
System Settings/Workspace Theme
Table of equivalent applications
Taking Screenshots
Tasks and Tools
Telepathy
Tellico
Tellico/Compiling
Tellico/Templates
Test
Toolbox
Toolbox/Tables
Tools
Translate a Page
Translation Workflow
Trojitá
Troubleshooting
Troubleshooting/Peripherals Problems
Troubleshooting/Samsung scx-4500W
Tutorials
Tutorials/Access another computer's display
Tutorials/Change the color of the blue folder icon
Tutorials/Compose Key Old Version
Tutorials/ComposeKey
Tutorials/Flatpak
Tutorials/Force Transparency And Blur
Tutorials/hotkeys
Tutorials/Install KDE software
Tutorials/KDE3 to KDE SC 4
Tutorials/Keyboard
Tutorials/Kimpanel
Tutorials/Kontact/Office365
Tutorials/MIDI on Linux
Tutorials/Modify KDE Software Defaults
Tutorials/Mouse pointer settings for large displays
Tutorials/Open a console
Tutorials/Shared Database
Tutorials/Using Other Window Managers with Plasma
Typographical Guidelines
Umbrello
Umbrello/FAQ
Update an Image
User:Claus chr/Test
UserBase/Guidelines
Wacomtablet
Websites
Welcome to KDE UserBase
What is a distribution
What is KDE
Words
Working with GMail
Working with Google Calendar
Working with Google Contacts
Working with MyKolab
Workspace Configuration/Desktop Configuration
Writing an Application Manual
Yakuake
Zanshin
Language
aa - Afar
aae - Arbëresh
ab - Abkhazian
abs - Ambonese Malay
ace - Acehnese
acf - Saint Lucian Creole
acm - Iraqi Arabic
ady - Adyghe
ady-cyrl - Adyghe (Cyrillic script)
aeb - Tunisian Arabic
aeb-arab - Tunisian Arabic (Arabic script)
aeb-latn - Tunisian Arabic (Latin script)
af - Afrikaans
aln - Gheg Albanian
alt - Southern Altai
am - Amharic
ami - Amis
an - Aragonese
ang - Old English
ann - Obolo
anp - Angika
apc - Levantine Arabic
ar - Arabic
arc - Aramaic
arn - Mapuche
arq - Algerian Arabic
ary - Moroccan Arabic
arz - Egyptian Arabic
as - Assamese
ase - American Sign Language
ast - Asturian
atj - Atikamekw
av - Avaric
avk - Kotava
awa - Awadhi
ay - Aymara
az - Azerbaijani
azb - South Azerbaijani
ba - Bashkir
ban - Balinese
ban-bali - Balinese (Balinese script)
bar - Bavarian
bbc - Batak Toba
bbc-latn - Batak Toba (Latin script)
bcc - Southern Balochi
bci - Baoulé
bcl - Central Bikol
bdr - West Coast Bajau
be - Belarusian
be-tarask - Belarusian (Taraškievica orthography)
bew - Betawi
bg - Bulgarian
bgc - Haryanvi
bgn - Western Balochi
bh - Bhojpuri
bho - Bhojpuri
bi - Bislama
bjn - Banjar
blk - Pa'O
bm - Bambara
bn - Bangla
bo - Tibetan
bpy - Bishnupriya
bqi - Bakhtiari
br - Breton
brh - Brahui
bs - Bosnian
btm - Batak Mandailing
bto - Iriga Bicolano
bug - Buginese
bxr - Russia Buriat
ca - Catalan
cbk-zam - Chavacano
ccp - Chakma
cdo - Mindong
ce - Chechen
ceb - Cebuano
ch - Chamorro
chn - Chinook Jargon
cho - Choctaw
chr - Cherokee
chy - Cheyenne
ckb - Central Kurdish
co - Corsican
cps - Capiznon
cpx - Puxian
cpx-hans - Puxian (Simplified Han script)
cpx-hant - Puxian (Traditional Han script)
cpx-latn - Puxian (Latin script)
cr - Cree
crh - Crimean Tatar
crh-cyrl - Crimean Tatar (Cyrillic script)
crh-latn - Crimean Tatar (Latin script)
crh-ro - Dobrujan Tatar
cs - Czech
csb - Kashubian
cu - Church Slavic
cv - Chuvash
cy - Welsh
da - Danish
dag - Dagbani
de - German
de-at - Austrian German
de-ch - Swiss High German
de-formal - German (formal address)
dga - Dagaare
din - Dinka
diq - Zazaki
dsb - Lower Sorbian
dtp - Central Dusun
dty - Doteli
dua - Duala
dv - Divehi
dz - Dzongkha
ee - Ewe
efi - Efik
egl - Emilian
el - Greek
eml - Emiliano-Romagnolo
en - English
en-ca - Canadian English
en-gb - British English
eo - Esperanto
es - Spanish
es-419 - Latin American Spanish
es-formal - Spanish (formal address)
et - Estonian
eu - Basque
ext - Extremaduran
fa - Persian
fat - Fanti
ff - Fula
fi - Finnish
fit - Tornedalen Finnish
fj - Fijian
fo - Faroese
fon - Fon
fr - French
frc - Cajun French
frp - Arpitan
frr - Northern Frisian
fur - Friulian
fy - Western Frisian
ga - Irish
gaa - Ga
gag - Gagauz
gan - Gan
gan-hans - Gan (Simplified Han script)
gan-hant - Gan (Traditional Han script)
gcf - Guadeloupean Creole
gcr - Guianan Creole
gd - Scottish Gaelic
gl - Galician
gld - Nanai
glk - Gilaki
gn - Guarani
gom - Goan Konkani
gom-deva - Goan Konkani (Devanagari script)
gom-latn - Goan Konkani (Latin script)
gor - Gorontalo
got - Gothic
gpe - Ghanaian Pidgin
grc - Ancient Greek
gsw - Alemannic
gu - Gujarati
guc - Wayuu
gur - Frafra
guw - Gun
gv - Manx
ha - Hausa
hak - Hakka Chinese
hak-hans - Hakka (Simplified Han script)
hak-hant - Hakka (Traditional Han script)
hak-latn - Hak-kâ-ngî (Pha̍k-fa-sṳ)
haw - Hawaiian
he - Hebrew
hi - Hindi
hif - Fiji Hindi
hif-latn - Fiji Hindi (Latin script)
hil - Hiligaynon
hno - Northern Hindko
ho - Hiri Motu
hr - Croatian
hrx - Hunsrik
hsb - Upper Sorbian
hsn - Xiang
ht - Haitian Creole
hu - Hungarian
hu-formal - Hungarian (formal address)
hy - Armenian
hyw - Western Armenian
hz - Herero
ia - Interlingua
iba - Iban
ibb - Ibibio
id - Indonesian
ie - Interlingue
ig - Igbo
igl - Igala
ii - Sichuan Yi
ik - Inupiaq
ike-cans - Eastern Canadian (Aboriginal syllabics)
ike-latn - Eastern Canadian (Latin script)
ilo - Iloko
inh - Ingush
io - Ido
is - Icelandic
isv-cyrl - Interslavic (Cyrillic script)
isv-latn - Interslavic (Latin script)
it - Italian
iu - Inuktitut
ja - Japanese
jam - Jamaican Creole English
jbo - Lojban
jut - Jutish
jv - Javanese
ka - Georgian
kaa - Kara-Kalpak
kab - Kabyle
kai - Karekare
kbd - Kabardian
kbd-cyrl - Kabardian (Cyrillic script)
kbp - Kabiye
kcg - Tyap
kea - Kabuverdianu
kg - Kongo
kge - Komering
khw - Khowar
ki - Kikuyu
kiu - Kirmanjki
kj - Kuanyama
kjh - Khakas
kjp - Eastern Pwo
kk - Kazakh
kk-arab - Kazakh (Arabic script)
kk-cn - Kazakh (China)
kk-cyrl - Kazakh (Cyrillic script)
kk-kz - Kazakh (Kazakhstan)
kk-latn - Kazakh (Latin script)
kk-tr - Kazakh (Turkey)
kl - Kalaallisut
km - Khmer
kn - Kannada
knc - Central Kanuri
ko - Korean
ko-kp - Korean (North Korea)
koi - Komi-Permyak
kr - Kanuri
krc - Karachay-Balkar
kri - Krio
krj - Kinaray-a
krl - Karelian
ks - Kashmiri
ks-arab - Kashmiri (Arabic script)
ks-deva - Kashmiri (Devanagari script)
ksh - Colognian
ksw - S'gaw Karen
ku - Kurdish
ku-arab - Kurdish (Arabic script)
ku-latn - Kurdish (Latin script)
kum - Kumyk
kus - Kusaal
kv - Komi
kw - Cornish
ky - Kyrgyz
la - Latin
lad - Ladino
lb - Luxembourgish
lbe - Lak
lez - Lezghian
lfn - Lingua Franca Nova
lg - Ganda
li - Limburgish
lij - Ligurian
liv - Livonian
lki - Laki
lld - Ladin
lmo - Lombard
ln - Lingala
lo - Lao
loz - Lozi
lrc - Northern Luri
lt - Lithuanian
ltg - Latgalian
lua - Luba-Lulua
lus - Mizo
luz - Southern Luri
lv - Latvian
lzh - Literary Chinese
lzz - Laz
mad - Madurese
mag - Magahi
mai - Maithili
map-bms - Banyumasan
mdf - Moksha
mg - Malagasy
mh - Marshallese
mhr - Eastern Mari
mi - Māori
min - Minangkabau
mk - Macedonian
ml - Malayalam
mn - Mongolian
mnc - Manchu
mnc-latn - Manchu (Latin script)
mnc-mong - Manchu (Mongolian script)
mni - Manipuri
mnw - Mon
mo - Moldovan
mos - Mossi
mr - Marathi
mrh - Mara
mrj - Western Mari
ms - Malay
ms-arab - Malay (Jawi script)
mt - Maltese
mui - Musi
mus - Muscogee
mwl - Mirandese
my - Burmese
myv - Erzya
mzn - Mazanderani
na - Nauru
nah - Nahuatl
nan - Minnan
nan-hant - Minnan (Traditional Han script)
nan-latn-pehoeji - Minnan (Pe̍h-ōe-jī)
nan-latn-tailo - Minnan (Tâi-lô)
nap - Neapolitan
nb - Norwegian Bokmål
nds - Low German
nds-nl - Low Saxon
ne - Nepali
new - Newari
ng - Ndonga
nia - Nias
nit - Southeastern Kolami
niu - Niuean
nl - Dutch
nl-informal - Dutch (informal address)
nmz - Nawdm
nn - Norwegian Nynorsk
no - Norwegian
nod - Northern Thai
nog - Nogai
nov - Novial
nqo - N’Ko
nr - South Ndebele
nrm - Norman
nso - Northern Sotho
nup - Nupe
nv - Navajo
ny - Nyanja
nyn - Nyankole
nyo - Nyoro
nys - Nyungar
oc - Occitan
ojb - Northwestern Ojibwa
olo - Livvi-Karelian
om - Oromo
or - Odia
os - Ossetic
pa - Punjabi
pag - Pangasinan
pam - Pampanga
pap - Papiamento
pcd - Picard
pcm - Nigerian Pidgin
pdc - Pennsylvania German
pdt - Plautdietsch
pfl - Palatine German
pi - Pali
pih - Norfuk / Pitkern
pl - Polish
pms - Piedmontese
pnb - Western Punjabi
pnt - Pontic
prg - Prussian
ps - Pashto
pt - Portuguese
pt-br - Brazilian Portuguese
pwn - Paiwan
qu - Quechua
qug - Chimborazo Highland Quichua
rgn - Romagnol
rif - Riffian
rki - Arakanese
rm - Romansh
rmc - Carpathian Romani
rmy - Vlax Romani
rn - Rundi
ro - Romanian
roa-tara - Tarantino
rsk - Pannonian Rusyn
ru - Russian
rue - Rusyn
rup - Aromanian
ruq - Megleno-Romanian
ruq-cyrl - Megleno-Romanian (Cyrillic script)
ruq-latn - Megleno-Romanian (Latin script)
rut - Rutul
rw - Kinyarwanda
ryu - Okinawan
sa - Sanskrit
sah - Yakut
sat - Santali
sc - Sardinian
scn - Sicilian
sco - Scots
sd - Sindhi
sdc - Sassarese Sardinian
sdh - Southern Kurdish
se - Northern Sami
se-fi - Northern Sami (Finland)
se-no - Northern Sami (Norway)
se-se - Northern Sami (Sweden)
sei - Seri
ses - Koyraboro Senni
sg - Sango
sgs - Samogitian
sh - Serbo-Croatian
sh-cyrl - Serbo-Croatian (Cyrillic script)
sh-latn - Serbo-Croatian (Latin script)
shi - Tachelhit
shi-latn - Tachelhit (Latin script)
shi-tfng - Tachelhit (Tifinagh script)
shn - Shan
shy - Shawiya
shy-latn - Shawiya (Latin script)
si - Sinhala
simple - Simple English
sjd - Kildin Sami
sje - Pite Sami
sk - Slovak
skr - Saraiki
skr-arab - Saraiki (Arabic script)
sl - Slovenian
sli - Lower Silesian
sm - Samoan
sma - Southern Sami
smn - Inari Sami
sms - Skolt Sami
sn - Shona
so - Somali
sq - Albanian
sr - Serbian
sr-ec - Serbian (Cyrillic script)
sr-el - Serbian (Latin script)
srn - Sranan Tongo
sro - Campidanese Sardinian
ss - Swati
st - Southern Sotho
stq - Saterland Frisian
sty - Siberian Tatar
su - Sundanese
sv - Swedish
sw - Swahili
syl - Sylheti
szl - Silesian
szy - Sakizaya
ta - Tamil
tay - Tayal
tcy - Tulu
tdd - Tai Nuea
te - Telugu
tet - Tetum
tg - Tajik
tg-cyrl - Tajik (Cyrillic script)
tg-latn - Tajik (Latin script)
th - Thai
ti - Tigrinya
tig - Tigre
tk - Turkmen
tl - Tagalog
tly - Talysh
tly-cyrl - Talysh (Cyrillic script)
tn - Tswana
to - Tongan
tok - Toki Pona
tpi - Tok Pisin
tr - Turkish
tru - Turoyo
trv - Taroko
ts - Tsonga
tt - Tatar
tt-cyrl - Tatar (Cyrillic script)
tt-latn - Tatar (Latin script)
ttj - Tooro
tum - Tumbuka
tw - Twi
ty - Tahitian
tyv - Tuvinian
tzm - Central Atlas Tamazight
udm - Udmurt
ug - Uyghur
ug-arab - Uyghur (Arabic script)
ug-latn - Uyghur (Latin script)
uk - Ukrainian
ur - Urdu
uz - Uzbek
uz-cyrl - Uzbek (Cyrillic script)
uz-latn - Uzbek (Latin script)
ve - Venda
vec - Venetian
vep - Veps
vi - Vietnamese
vls - West Flemish
vmf - Main-Franconian
vmw - Makhuwa
vo - Volapük
vot - Votic
vro - Võro
wa - Walloon
wal - Wolaytta
war - Waray
wls - Wallisian
wo - Wolof
wuu - Wu
wuu-hans - Wu (Simplified Han script)
wuu-hant - Wu (Traditional Han script)
xal - Kalmyk
xh - Xhosa
xmf - Mingrelian
xsy - Saisiyat
yi - Yiddish
yo - Yoruba
yrl - Nheengatu
yue - Cantonese
yue-hans - Cantonese (Simplified Han script)
yue-hant - Cantonese (Traditional Han script)
za - Zhuang
zea - Zeelandic
zgh - Standard Moroccan Tamazight
zgh-latn - Standard Moroccan Tamazight (Latin script)
zh - Chinese
zh-cn - Chinese (China)
zh-hans - Simplified Chinese
zh-hant - Traditional Chinese
zh-hk - Chinese (Hong Kong)
zh-mo - Chinese (Macau)
zh-my - Chinese (Malaysia)
zh-sg - Chinese (Singapore)
zh-tw - Chinese (Taiwan)
zu - Zulu
qqq - Message documentation
Format
Export for off-line translation
Export in native format
Export in CSV format
Fetch
<languages /> == Introduction == When creating a key you make several technical and organizational decisions (whether you are aware of that or not) which heavily influence the security and usability of your key, as a result the operating life of the key. Some of these decisions cannot be changed afterwards. For several reasons it is desirable that normal keys – even rather insecure ones – (at least their core) have a long operating life. Thus this article shall make you familiar with the important aspects of key generation and help you generate a good key which you can use for many years. This article covers just the concepts you should be familiar with, it does not contain a step by step tutorial for key generation because these should be separate phases: First understand and plan what you are going to do and make the necessary preparations. If you have finished that have a look at the [[Special:myLanguage/Concepts/OpenPGP_Key_Generation|OpenPGP key generation article]]. == How to get started == You can easily create a key for playing around. But if you let others verify such a key you risk throwing work away later. Your aim should be to create one or more long term keys. The best advice is: Don't try on your own if you can avoid it. [[Special:myLanguage/KMail/Courses_Information_Openpgp|Ask experts]] if you can, people who already have replaced a key of their own and learnt from that. Use a secure system to create a key, use an offline main key and give both the main key and the subkeys an expiration date (not more than a year). Select a key policy (describing the security and usage of main key and subkeys) and stick to it. If you certify other keys before you have a certification policy, do not certify them for the public (web of trust), make local signatures instead (just for yourself). Avoid doing new things before you understand well what they mean. And remember this: # ''What is comfortable (at least nearly) always threatens your security.'' # More secure is not always better for the given task. Just be aware of the consequences (in both directions). Welcome to the crypto world! == Key security == If keys are involved then the main question is: How secure / reliable are they and their usage? The most important rule in cryptography is not "Make it even more secure" but "(1) Think about how much security you need. (2) Decide which technical effort seems necessary (lower limit) and reasonable (upper limit) to fulfill these requirements. (3) Strictly observe the rules you have determined (write them down). (4) If other people are involved (which usually is the case) let them know precisely and securely what the usage limits and the security level of this key are." Most of the following considerations are about the security and the transparency of their security and meaning. Nobody cracks keys by brute force attacks. That is (even for rather short keys, say 1024 bit) simply impossible for everyone beneath the level of a government agency of a "rich" country within the next decades. And it would not make sense: It's so easy to just steal them. With a huge probability the system which you are just using to read this text (if not printed...) is not very secure. De facto no system which is used for reading email or reading web pages is safe. Don't argue, just accept this. If you don't you probably just compromise yourself. A key is never more secure than the least secure system on which it has been used (this, of course, includes: created). And it is more secure than the least secure system on which it has been stored just by its passphrase which is no protection against a brute force attack if it is either not really random or less than about 16 characters long (for small and capital letters and digits). It is perfectly OK to use OpenPGP on such insecure systems (i.e. normal computers). You and your communication partners(!) just have to be aware of the security level. The next security level are smartcards. You cannot steal a key from a smartcard (you can abuse it nonetheless if you control the system to which the smardcard is connected). The next level after smartcards are secure systems: Unconnect your harddisk, all USB sticks (and the like) and the network, boot from a secure medium like a Linux live DVD (from a trusted source, of course!). Use high security keys in such a secure environment only (and maybe even limited to safe document formats like plain text or HTML). == Main key and subkeys == Most OpenPGP keys have at least one subkey (all have exactly one main key). You usually need not care about this difference; your application (or rather the base application, usually '''GnuPG''') selects the right one automatically. The main key is the one which the key fingerprint refers to and only the main key can certify: your own subkeys and user IDs and the user IDs of other keys. The subkeys can do everything else (mainly decryption and signing) if you configure them so. The reason the difference between these key types is mentioned here is that this is very important for key generation: You can separate the secret main key from the secret subkeys (with GnuPG; this is not part of the OpenPGP standard!). The subkeys can be replaced later, the main key cannot (that would be a new key not just a modified key). Thus if you create an offline main key at key generation which you protect by a very hard passphrase, store at least the passphrase securely and use the main key (and its passphrase) in secure environments only then you can keep this key "forever" (say 20 years). This is important for everyday keys. High security keys don't really need this separation (usually don't need subkeys at all). You should create one subkey for each capability you need: encryption, signing, and maybe authentication (for SSH). == Secure environment == The key shall be generated in a secure environment and the secret main key shall never be used in an insecure environment. But what is a secure environment? That depends on the security level of the key. If you want to secure nuclear weapons release codes you will have higher requirements to the hardware and software involved than if you just want to keep your affair secret. At any rate you should not boot from your harddisk (ideally disconnect it) but from some trustworthy read-only medium. This is usually a Linux CD/DVD. You should pay attention to getting this from a safe source. Just downloading some image from the Internet and burning it to a blank doesn't make a secure environment up. In general a pressed CD/DVD (e.g. from a magazine or bought on its own) seems more trustworthy. Hardware is important, too. If you use a system which was known in advance to be used for the generation of valuable keys somebody might like the idea to add a hardware keylogger. Pay attention to rather trivial attacks: Prevent everybody else from seeing you typing your passphrase (even through windows) and from seeing your slip of paper with the passphrase. Reboot the system after key creation or (better) power it off and keep it so for three minutes. == User IDs == User IDs are formally just arbitrary strings but expected to consist of a name, an optional comment, and an email address. This structure allows email software to find the suitable key for a recipient address (which most programs require you to confirm for obvious reasons). An OpenPGP public key (more precise: certificate) must have a user ID but can have as many as you like. Thus you can use the same key for several email addresses (which makes sense only if these addresses shall be used at the same security level). Combining addresses has advantages and disadvantages. The main advantage is that you need less keys and thus you and others have less work with certifications. The main disadvantages are that you can revoke user IDs but they keep visible forever and that such a combined key allows to make a trivial connections between different roles of you which you may not want connected: private person, business, other organizations (associations, political parties, whatever). You may want to keep these groups separate. And there are even reasons to keep addresses from the same group separate: reputable addresses (firstname.lastname@example.com), anonymous addresses (heejei7u@example.org), fun addresses (superman17@example.org). It also may be that you have no reason to ever use OpenPGP with certain addresses; such addresses should not be part of a user ID, of course. The decision to add an address to a key and publish that key is forever. But it is easy to add an address later. Thus consider this well before you generate the key. In case of doubt start with fewer addresses. It makes sense to have a special user ID without an email address. With most email addresses you cannot be sure to have them forever. If you revoke a User ID because you don't use the address any more then you lose all the certifications for this user ID. But you will never lose your name (even if you marry or the like there is usually little reason to revoke that user ID). So you keep the certifications for this ID at any rate. And you can use the comment for this ID for a statement about the key itself: "everyday key with secure offline main key and key policy" == Key type and length == The well supported key types are DSA (signatures only), ElGamal (encryption only), RSA (both) and ECDSA (elliptic curves). GnuPG offers the creation of keys with a length from 1024 to 4096 bit. (as of 2020-08) The differences in security, execution time, signature size, and being required or just considered optional by the standard (rfc4880) are irrelevant for most scenarios. The one relevant difference is: The g10 smartcard supports RSA only. Thus generate an RSA key unless you have concrete and good reason for a different decision. 1024 bit keys are considered breakable by certain well known government agencies today or in the near future. 2048 bit keys are considered safe for decades. But remember: These well known agencies would not waste their time and money by computing your key. They would steal your key. Thus if you want a larger key in order to be safe against this kind of opponent then make sure that they cannot steal it. This obviously requires profound knowledge, discipline and probably some money. The practical reasons against very long keys are: Commonly used versions of GnuPG do not support keys with more than 2048 or 3072 bit respectively length. Operations with asymmetric keys are costly in general. To make it worse: Operation with twice the key size take eight times as long. And it takes long to generate huge keys. For mobile devices this CPU load can become a problem. Thus: Unless you have concrete and good reason for a different decision stick to 2048 bit (at least for everyday keys). == Key expiration == The main key can set (and change) the expiration date for itself and its subkeys. The only "disadvantage" of an expiration date for others is that they have to update the key to keep it usable. But keys shall be updated regularly anyway so you may consider that an advantage as well. The main advantage of an expiration date (for the main key, too) is that keys which are not used any more can easily be recognized as such. The "official" way is another, of course. If a key is abandoned then a revocation certificate should be published. But this may be impossible (key or passphrase lost and no certificate created before (or lost, too)) or you may simply forget to do so (or to publish it everywhere). The "right" validity period is a compromise between reducing disturbance by expired keys (on both sides; remember that you need a secure environment to change the expiration date with an offline main key) and the time which a key still appears valid. One year may be a good choice. == Revocation certificate == A revocation certificate is a file (or print-out) which you may create preventively to later revoke a whole key in case you have no access to the secret main key any more. This is a huge advantage if you have not just lost access to the key but someone else has! The disadvantage is: You should protect this file / print-out similarly well as the secret main key itself. It can be serious damage if you have only one (suitable) key, need it urgently and someone else destroys it right then. Obviously a main key revocation is forever (cannot be superseded by a newer self-signature). If you (or someone else you really trust) have another key which is secure enough then you may add this key as a designated revoker to yours (you need not publish this). A designated revoker can revoke another key. Of course, the signature for the designated revoker must be available when this shall be used. If you have not given it to the other person and lost it together with your key then this is useless. If you prefer security over availability then you may make friend A your designated revoker, encrypt this signature for friend B and ask friend C to store it. == Passphrase, safe storage, and backup == You should think about where you will store the passphrase for the main key and the revocation certificate file or print-out. Secure passphrases are hard to remember. You will most probably have to write it down. You really should not use a passphrase you have ever typed on an insecure system (and, of course, you really should not ever do so in the future). You should choose something like rsbBwNl137LcWP33RI: 18 chars consisting of lower and upper case letters and digits. Don't use special chars or umlauts. You gain little security (if you cannot remember 18 random chars then you probably cannot remember 15, too) but may get problems if you are ever forced to use the key on a rescue system (text mode Linux) with "wrong" keyboard settings. You improve security if you memorize a part of the passphrase and write down just the rest or if you write down both halves of it separately and store them in different places (one in your wallet, the other one at home). But if you store an 18 chars passphrase in two parts and an attacker gets one of them then the remaining 9 chars are not a secure protection any more. If you have created a revocation certificate then you have to store that in a safe place, too. And, of course, you should have reliable backups of your key. It is nice if you need not be afraid that somebody has stolen your key but it is probably very unpleasant if you cannot decrypt your data any more. If you have a secure passphrase then you may even put a backup of your secret main key on your web site. == Key policy and policy URL == You should write a document (plain text or HTML) which describes the intended usage and security of your key and (maybe added later) your criteria for certifying the keys of other people. You can write one or more URLs at which this document can (later) be found into the key and in every signature you make. This key component is called a policy URL. It is a good idea to publish only user ID signatures which contain this policy URL(s). It is important that the users of your key can check whether a certain document belongs to a policy URL (the web server download is not safe, not even over HTTPS). Thus you should change the policy URL every time you change the document and mention the URL well visible in the document. You may use this pattern: <tt><nowiki>http://yourdomain.example.org/openpgp/0x12345678__policy.1.htm</nowiki>l</tt> This document should have a detached signature (or a cleartext signature if it is plain text) by the offline main key. You should link the detached signature from the document. == Preferred key server == Like the policy URL a key server URL can be written into the key. You should decide which key server shall be authoritative for your key so that the users of your key know where they have to search for the "officially current version" of your key. This should be the key server which you upload key updates to first. This should be the one you configure in the GnuPG config file (<code>--keyserver</code>) for key searches and uploads. This address should mainly be available for a long time and have only few and short outages. You may even use your own web site: <tt><nowiki>http://yourdomain.example.org/openpgp/0x12345678.asc</nowiki></tt> Availability is improved if a server pool (with the same DNS address) is used. If you have no better idea then you may use <tt>hkp://pool.sks-keyservers.net</tt> or one of the more local pools <tt>hkp://eu.pool.sks-keyservers.net</tt> (Europe), <tt>hkp://na.pool.sks-keyservers.net</tt> (North America) or <tt>hkp://sa.pool.sks-keyservers.net</tt> (South America). See http://sks-keyservers.net/overview-of-pools.php == Algorithm preferences == You can also write into your key (for others) and into your config file (for your actions) in which order you prefer the cipher and digest algorithms. You should do this before you generate the key (this is easier than changing it afterwards). It makes sense to avoid SHA-1. Please be aware that you cannot prevent that GnuPG creates SHA-1 signatures with your key (because that is the only digest required by the standard). You may want to put lines like these in your <tt>gpg.conf</tt>: {{Input|1=<nowiki> personal-cipher-preferences AES256,AES192,AES,CAST5,3DES personal-digest-preferences SHA512,SHA384,SHA256,SHA224,RIPEMD160,SHA1 cert-digest-algo SHA512 default-preference-list AES256,AES192,AES,CAST5,3DES,SHA512,SHA384,SHA256,SHA224,RIPEMD160,SHA1,ZLIB,BZIP2,ZIP </nowiki>}} == Further reading == * [[Special:myLanguage/KGpg|KGpg]] * [[Special:myLanguage/KMail/PGP_MIME|KMail PGP/MIME]] * [[Special:myLanguage/KMail/gpg|KMail gpg]] * [[Special:myLanguage/Concepts/OpenPGP_For_Beginners|OpenPGP For Beginners]] * [[Special:myLanguage/Concepts/OpenPGP_For_Advanced_Users|OpenPGP For Advanced Users]] [[Category:Getting Started]] [[Category:Internet]] [[Category:Security]] [[Category:Tutorials]] [[Category:New Users]]