GNU PG

To **GNU Privacy Guard** (GnuPG ή GPG) δίνεται με Γενική Άδεια Δημόσιας Χρήσης GNU και είναι εναλλακτικό πρόγραμμα του PGP, προγράμματος κρυπτογράφησης/υπογραφής e-mail. Το GnuPG είναι ευθυγραμμισμένο με το RFC 4880, το οποίο αποτελεί το σύγχρονο standard της IETF για το OpenPGP.
To GPG είναι έργο του GNU software project του Ιδρύματος Ελεύθερου Λογισμικού (Free Software Foundation, FSF) και έχει λάβει χρηματοδότηση από την Γερμανική κυβέρνηση.

## Ιστορία
Το GnuPG αρχικά αναπτύχθηκε από τον Βέρνερ Κοχ (Werner Koch) . Η έκδοση 1.0.0.0 κυκλοφόρησε στις 7 Σεπτεμβρίου 1999, δύο χρόνια μετά την αρχική έκδοση 0.0.0. Το 2000, το Γερμανικό υπουργείο Οικονομικών και Τεχνολογίας χρηματοδότησε την εκδοχή του GPG για Windows καθώς και την συγγραφή οδηγιών. Το GPG ακολουθεί το πρότυπο του OPEN PGP το οποίο με την σειρά του βασίστηκε στο PGP του Phil Zimmerman. Τον Φεβρουάριο του 2014 το GPG χρηματοδοτήθηκε με το ποσό των 36,732 ευρώ για την κατασκευή της νέας ιστοσελίδας και για δομικές βελτιώσεις του συστήματος.

## Πλατφόρμες
### Linux
Στο λειτουργικό σύστημα των GNU/Linux, πολλές από τις διανομές έρχονται με προεγκατεστημένο το GNU Privacy Guard. Εναλλακτικά, μπορεί να βρεθεί στα αντίστοιχα εξωτερικά software repositories και να εγκατασταθεί μέσω του package manager που η κάθε διανομή χρησιμοποιεί. 

### Mac
Στο λειτουργικό σύστημα του OS X, υπάρχουν δύο κύριες εναλλακτικές εγκατάστασης του GPG:
* GPG tools https://gpgtools.org/   Παρέχει ενσωμάτωση με το Mail.app. Παράλληλα, παρέχεται το GPG Keychain για διαχείριση κλειδιών, ενώ χρησιμοποιεί το MacGPG στο εσωτερικό του.
* GnuPG for OS X http://sourceforge.net/p/gpgosx/docu/Download/

### Windows
Στο λειτουργικό σύστημα των Windows, το GPG μπορεί να εγκατασταθεί μέσω του GPG4win.

Τέλος, σε κάθε περίπτωση, ο χρήστης μπορεί να επιλέξει να μεταγλωττίσει τον παρεχόμενο κώδικα και να εγκαταστήσει τα παραγόμενα εκτελέσιμα.

## Διαδικασία
Το GPG είναι ένα υβριδικό σύστημα κρυπτογράφησης, καθώς χρησιμοποιεί συνδυασμό αλγορίθμων συμμετρικής κρυπτογραφίας για λόγους ταχύτητας και κρυπτογραφίας δημοσίου κλειδιού για ανταλλαγή κοινού κλειδιού. Αυτή η διαδικασία είναι εγγενές κομμάτι του προτύπου του PGP και έχει υπάρξει τμήμα του OpenPGP από την πρώτη του έκδοση.

Η δεύτερη έκδοση του GPG, 2.x, χρησιμοποιεί την Libgcrypt, ως βιβλιοθήκη κρυπτογράφησης, ενώ η πρώτη έκδοση, GPG 1.x, δεν την χρησιμοποιεί.

Το GPG κρυπτογραφεί χρησιμοποιώντας μη συμμετρικά ζεύγη κλειδιών, τα οποία οι χρήστες του δημιουργούν ξεχωριστά. Τα δημόσια κλειδιά που παράγονται από τη διαδικασία μπορούν να ανταλλαχθούν με ποικίλους τρόπους, μεταξύ των οποίων είναι και οι Internet key servers. Πρέπει πάντοτε να ανταλλάσσονται με προσοχή, για να αποφευχθεί η αλλοίωση ταυτότητας αλλοιώνοντας την αντιστοιχία δημοσίου κλειδιού και κατόχου. Επίσης, παρέχεται η δυνατότητα να προστεθεί μία Ψηφιακή Υπογραφή στο μήνυμα, ώστε ο έλεγχος της ακεραιότητας του μηνύματος να δυνατός.

Το GPG υποστηρίζει επίσης αλγορίθμους συμμετρικής κρυπτογραφίας. Προεπιλεγμένος είναι ο CAST5 αλγόριθμος. Το GPG δε χρησιμοποιεί πατενταρισμένους αλγορίθμους ή αλγορίθμου που υπόκεινται σε περιορισμένη χρήση λόγω της άδειάς τους.

Για αρκετό καιρό, το GPG δεν υποστήριζε τον  αλγόριθμο IDEA, που χρησιμοποιούταν στον PGP. Η συγκεκριμένη δυνατότητα μπορούσε να επιτευχθεί μόνο μέσα από πρόσθετο εργαλείο. Ωστόσο, μπορεί να απαιτούσε άδεια, σε χώρες στις οποίες ο εν λόγω αλγόριθμος ήταν πατενταρισμένος. Από την έκδοση 1.3.13/2.0.20 και μετά, ο GPG υποστηρίζει τον IDEA, καθώς έληξε η πατέντα του το 2012.

Στις εκδόσεις 2.0.26 και 1.4.18, το GPG υποστηρίζει τους εξής αλγορίθμους:
* Δημοσίου κλειδιού: RSA, ElGamal, DSA
* Cipher: IDEA, 3DES, CAST5, Blowfish, AES-128, AES-192, AES-256, Twofish, Camellia-128, Camellia-192, Camellia-256
* Κατακερματιμού: MD5, SHA-1, RIPEMD-160, SHA-256, SHA-384, SHA-512, SHA-224
* Συμπίεσης: Zip, ZLIB, BZIP2
Η έκδοση 2.1.x υποστηρίζει κρυπτογραφία ελλειπτικών καμπυλών.

## Αδυναμίες
Το πρότυπο του OpenPGP επιρέπει την χρήση αρκετών μεθόδων για την ψηφιακή υπογραφή μηνυμάτων. Το 2003, στην προσπάθεια να γίνει μία από αυτές τις μεθόδους πιο αποδοτικές, παρουσιάστηκε μία ευπάθεια στην ασφάλεια του συστήματος. Η ευπάθεια αυτή επηρέαζε μόνο μία μέθοδο ψηφιαικής υπογραφής και μόνο για συγκεκριμένες εκδόσεις του GnuPG (1.0.2 μέχρι 1.2.3). Υπολογίζεται πως υπήρχαν λιγότερο από 1000 κλειδιά που επηρέαστηκαν στον server, καθώς οι περισσότεροι χρήστες δεν χρησιμοποιούσαν την μέθοδο αυτή, και συνεπώς η ζημιά περιορίστηκε αρκετά. Μετά την αποκάλυψη της ευπάθειας αυτής, η υποστήριξη της μεθόδου σταμάτησε (εκδόσεις GnuPG 1.2.4 και έπειτα).

Δύο ακόμα τέτοιες ευπάθειες ανακαλύψθηκαν στις αρχές του 2006. Στην πρώτη από αυτές, παρατηρήθηκε πως κάποιες χρήσεις του GnuPG για verification υπογραφών κατέληγαν σε ένα false positive αποτέλεσμα. Η δεύτερη αφορούσε τα non-MIME μηνύματα, που ήταν ευπαθή σε επιθέσεις όπου εισάγονταν δεδομένα μετά την ψηφιακή υπογραφή του μηνύματος, χωρίς αυτό να σημαίνε την αποτυχία της μεθόδου επιβεβαίωσης. Και στις δύο περιπτώσεις οι ευπάθειες αυτές καλύφθηκαν με μελλοντικές εκδόσεις του GnuPG.

## Υποστήριξη σε εφαρμογές
Το GnuPG χρησιμοποιείται από αρκετές εφαρμογές, front-end συστήματα καθώς και browsers plugin, όπως είναι τα ακόλουθα:
* Claws mail – mail client με GPG plugin
* Enigform – επέκταση Firefox
* Enigmail – επέκταση Thunderbird
* FireGPG[30] – επέκταση Thunderbird (εγκαταλήφθηκε)
* Gpg4win – πακέτο εργαλειών για κρυπτογράφηση email και αρχείων σε Windows
* GPGMail – επέκταση του OS X Mail.app
* GPGServices – επέκταση του OS X Services Menu 
* GPGTools – πακέτο εργαλειών για το OS X, γιια κρυπτογράφηση email και αρχείων.
* KGPG – ένα front-end KDE σύστημα για το GnuPG
* MCabber – μία Jabber client εφαρμογή
* Mutt – email client με εγγενή υποστήριξη PGP/GPG
* Psi - client για ανταλλαγή άμεσων μηνυμάτων
* WinPT – ένα front-end για το GPG σε Windows

## Στο διεθνή τύπο
Τον Μάιο 2014, δημοσιεύθηκε στην Washington Post ένα 12-λεπτο video με τίτλο “GPG for Journalists”, που είχε δημοσιευθεί τον Ιανουάριο του 2013 στην υπηρεσία Vimeo από τον χρήστη anon108. Σύμφωνα με την εφημερίδα ο χρήστης αυτός δεν ήταν άλλος παρά ο γνωστός Edward Snowden, ο οποίος αναφέρει στο video του με παραμορφωμένη φωνή, πως έκανε το video αυτό για να διδάξει στον Glenn Greenwald την έννοια της κρυπτογράφησης σε mail.

## Παραπομπές


## Εξωτερικοί σύνδεσμοι

*  

Κατηγορία:GNU
Κατηγορία:Λογισμικό κρυπτογράφησης