GNU Privacy Guard Tutorial

مقالات ودروس تعليمية

المشرف: AbuHammzah

GNU Privacy Guard Tutorial

مشاركة غير مقروءةبواسطة aborazmeh » الخميس فبراير 19, 2009 11:38 am

بسم الله الرحمن الرحيم


GNU Privacy Guard Tutorial


شرح التشفير باستخدام GNU Privacy Guard


*الشرح على نظام GNU/Linux من أجل نظام ويندوز يمكنك مراجعة الملاحظات العامة في أسفل الموضوع

مقدمة
يحتاج التشفير في PGP (وفي جميع الحالات بشكل عام) إلى ثلاثة أمور:
  1. مفتاح عام (Public Key): وهو يستخدم للتشفير ويمكن نشره. مثلاً إذا أردت إرسال رسالة إلى حسام فإني أشفرها باستخدام مفتاحه العام. ولا يمكن عندها إلا لحسام من أن يفك التشفير. كما يمكن باستخدام المفتاح العام من معرفة التوقيع الرقمي لرسالة مرسلة من حسام.
  2. مفتاح خاص (Private Key): وهو مفتاح لا ينشر يستخدم لفك الشفير للرسائل المشفرة عن طريق المفتاح العام لنفس الشخص. كما يمكن من عمل تواقيع الرقمية.
  3. مفتاح سري (Secret Key): وسندعوه هنا كلمة السر وهو ما يحدده المستخدم ويمكنه من استخدام المفتاح الخاص.

التعرف على gpg
قبل الشروع في العمل في gpg نحتاج أولاً كما أسلفنا أن ننشأ مفتاحاً عاماً ومفتاحاً خاصاً ونحميه بكلمة السر.
نبدأ بكتابة الأمر:
CODE: تحديد الكل
$gpg
gpg: directory `/home/user/.gnupg' created
gpg: new configuration file `/home/user/.gnupg/gpg.conf' created
gpg: WARNING: options in `/home/user/.gnupg/gpg.conf' are not yet active during this run
gpg: keyring `/home/user/.gnupg/secring.gpg' created
gpg: keyring `/home/user/.gnupg/pubring.gpg' created
gpg: Go ahead and type your message ..


قام البرنامج بإنشاء ملفات الإعداد ومجلدات المستخدم. بعدها نضغط ^C أي (Ctrl+C) لإنهاء البرنامج
CODE: تحديد الكل
gpg: Interrupt caught ... exiting


والآن لننظر إلى خيارات البرنامج باستخدام الأمر
CODE: تحديد الكل
$gpg --help
gpg (GnuPG) 1.4.7
Copyright (C) 2006 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.

Home: ~/.gnupg
Supported algorithms:
Pubkey: RSA, RSA-E, RSA-S, ELG-E, DSA
Cipher: 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH
Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2

Syntax: gpg [options] [files]
sign, check, encrypt or decrypt
default operation depends on the input data

Commands:
 
 -s, --sign [file]             make a signature
     --clearsign [file]        make a clear text signature
 -b, --detach-sign             make a detached signature
 -e, --encrypt                 encrypt data
 -c, --symmetric               encryption only with symmetric cipher
 -d, --decrypt                 decrypt data (default)
     --verify                  verify a signature
     --list-keys               list keys
     --list-sigs               list keys and signatures
     --check-sigs              list and check key signatures
     --fingerprint             list keys and fingerprints
 -K, --list-secret-keys        list secret keys
     --gen-key                 generate a new key pair
     --delete-keys             remove keys from the public keyring
     --delete-secret-keys      remove keys from the secret keyring
     --sign-key                sign a key
     --lsign-key               sign a key locally
     --edit-key                sign or edit a key
     --gen-revoke              generate a revocation certificate
     --export                  export keys
     --send-keys               export keys to a key server
     --recv-keys               import keys from a key server
     --search-keys             search for keys on a key server
     --refresh-keys            update all keys from a keyserver
     --import                  import/merge keys
     --card-status             print the card status
     --card-edit               change data on a card
     --change-pin              change a card's PIN
     --update-trustdb          update the trust database
     --print-md algo [files]   print message digests

Options:
 
 -a, --armor                   create ascii armored output
 -r, --recipient NAME          encrypt for NAME
 -u, --local-user              use this user-id to sign or decrypt
 -z N                          set compress level N (0 disables)
     --textmode                use canonical text mode
 -o, --output                  use as output file
 -v, --verbose                 verbose
 -n, --dry-run                 do not make any changes
 -i, --interactive             prompt before overwriting
     --openpgp                 use strict OpenPGP behavior
     --pgp2                    generate PGP 2.x compatible messages

(See the man page for a complete listing of all commands and options)

Examples:

 -se -r Bob [file]          sign and encrypt for user Bob
 --clearsign [file]         make a clear text signature
 --detach-sign [file]       make a detached signature
 --list-keys [names]        show keys
 --fingerprint [names]      show fingerprints

Please report bugs to <gnupg-bugs@gnu.org>.


أو يمكنك كتابة الأمر
CODE: تحديد الكل
$man gpg

للحصول على وثيقة كاملة بالتعامل مع gpg بشكل مفصل مع الأمثلة (تغنيك عن قراءة هذ الموضوع وتزيد عليه)

توليد زوج المفاتيح

نبدأ الآن زواج المفاتيح. أدخل الأمر
CODE: تحديد الكل
$gpg --gen-keys


وسيكون خرج البرنامج غالباً كما يلي:
CODE: تحديد الكل
gpg (GnuPG) 1.4.7; Copyright (C) 2006 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.

Please select what kind of key you want:
   (1) DSA and Elgamal (default)
   (2) DSA (sign only)
   (5) RSA (sign only)
Your selection?


يسألك البرنامج هنا عن خوارزمية التشفير التي تود استعمالها:
الأولى يستعمل خوارزمية DSA بطول 1024 بت وخوارزمية الجمال (نسبة للدكتور طاهر الجمال مطور الخوارزمية عام 1982 اعتماداً على خوارزمية DH وقد فشلت جميع محاولات كسر هذه الخوارزمية)
أما الخيار الثاني فهو لاختيار DSA فقط
والثالث لاختيار RSA (أذيعت حلقة كاملة عن تاريخ هذه الخوارزمية ومقابلات مع مبتكرها على قناة المجد الوثائقية منذ مدة)
ما يهمنا هنا هو الخيار الأول إذاً إضغط الرقم 1 ثم زر الإدخال.
CODE: تحديد الكل
DSA keypair will have 1024 bits.
ELG-E keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048)


الآن طول خوارزمية DSA سيكون 1024 بت ولكنك يمكنك اختيار طول لخوارزمية الجمال افتراضياً سيكون 2048 أي إنك إذا ضغطت على زر الإدخال سيكون المفتاح بهذا الطول.

  • ملاحظة: إذا كانت إصدارة البرنامج لديك قديمة ستكون القيمة الافتراضية 1024.
    يمكنك الاختيار بين القيمة 1024 و 4096 (تخيل 4096 بت!)
  • ملاحظة: تمنع في بعض الدول (كالولايات المتحدة الأمريكية مثلاً) خوارزميات التشفير بعد طول معين أظنه كان 1024 لهذه الخوارزمية وذلك للأمن القومي. لذلك فإن الكثير من البرامج التي تصنع في أمريكا يكون تشفيرها ضعيف لا لسبب إلا لأسباب قانونية.
بعد إدخال قيمة يظهر لنا الخرج التالي:
CODE: تحديد الكل
Requested keysize is 2048 bits
Please specify how long the key should be valid.
         0 = key does not expire
      <n>  = key expires in n days
      <n>w = key expires in n weeks
      <n>m = key expires in n months
      <n>y = key expires in n years
Key is valid for? (0)


يسالك البرنامج الآن عن تاريخ انتهاء صلاحية المفتاح
  • القيمة 0 تعني عدم انتهاء صلاحية المفتاح (الافتراضي).
  • إدخال أي قيمة عددية عدا الصفر ستنتهي صلاحية المفتاح عدداً من الأيام مساوياً للقيمة المدخلة.
  • إدخال أي قيمة عددية عدا الصفر وبعدها حرف w ستنتهي صلاحية المفتاح عدداً من الأسابيع مساوياً للقيمة المدخلة.
  • إدخال أي قيمة عددية عدا الصفر وبعدها حرف m ستنتهي صلاحية المفتاح عدداً من الأشهر مساوياً للقيمة المدخلة.
  • إدخال أي قيمة عددية عدا الصفر وبعدها حرف y ستنتهي صلاحية المفتاح عدداً من السنوات مساوياً للقيمة المدخلة.

في حال تم إدخال القيمة 0 سيسأل البرنامج عن تأكيد الأمر إذ أنه يعتبر عدم انتهاء الصلاحية هي ثغرة أمنية في المفتاح (فعند الحصول على المفتاح الخاص وكلمة السر لن يستفيد السارق شيئاً في حال انتهاء الصلاحية)
CODE: تحديد الكل
Key does not expire at all
Is this correct? (y/N)


أدخل الحرف y ثم اضغط Enter
CODE: تحديد الكل

You need a user ID to identify your key; the software constructs the user ID
from the Real Name, Comment and Email Address in this form:
    "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"

Real name:

يسألك البرنامج الآن عن المعلومات التي تود وضعها في المفتاح وأولها وهي ثلاثة الاسم الحقيقي والبريد الإلكتروني وتعليق من اختيارك تظهر كما في الشكل
CODE: تحديد الكل
Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>


ادخل الآن الاسم الحقيقي وليكن مثلاً
CODE: تحديد الكل
Sherlock Holmes

ثم أدخل البريد الإلكتروني
CODE: تحديد الكل
holmes@detectives.org


والآن أدخل تعليقاً (يمكن تركه فارغاً)
CODE: تحديد الكل
The Best Detective Ever!


يسألك البرنامج عن تأكيد المعلومات التي أدخلتها
CODE: تحديد الكل
You selected this USER-ID:
    "Sherlock Holmes (The Best Detective Ever!) <holmes@detectives.org>"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit?


يمكنك ضغط الأزرار التالية:
  • N ومن خلاله يمكنك تغيير الاسم
  • C ومن خلاله يمكنك تغيير التعليق
  • E ومن خلاله يمكنك تغيير البريد
  • O للتأكيد على الملومات المدخلة
  • Q للخروج من البرنامج
إذا اضغط على الزر O ليتابع البرنامج عمله
CODE: تحديد الكل

You need a Passphrase to protect your secret key.

Enter passphrase:

يسألك البرنامج في الرسالة السابقة عن كلمة السر التي سوف تحمي المفتاح الخاص.
  • لن تظهر كلمة المرور لأسباب أمنية
  • يفضل أن تكون كلمة السر صعبة حروف كبيرة + حروف صغيرة + أرقام + رموز وألا تشكل كلمة مفهومة.
  • يمكن تغيير كلمة السر لاحقاً وبسهولة.
بعد أن كتبت كلمة المرور اضغط Enter
والآن أعد كتابتها مرة أخرى
في حال لم تتظابق الكلمتان سيعطي البرنامج الخرج:
CODE: تحديد الكل
passphrase not correctly repeated; try again.

وسيتركك تدخلها مرة أخرى.

والآن وبعد ضغطك لزر Enter سيبدأ البرنامج بتوليد المفاتيح
CODE: تحديد الكل
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
+++++++++++++++++++++++++.++++++++++++++++++++
.+++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++
.+++++++++++++++.+++++.++++++++++>+++++.........+++++
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
+++++.+++++....+++++.+++++++++++++++.+++++.+++++++++++++++..+++++
.+++++++++++++++++++++++++.++++++++++.+++++.+++++++++++++++..+++
.+++++..+++++++++++++++++++++++++>++++++++++

يطلب منك البرنامج هنا أن تساعده على توليد قيم عشوائية وذلك يكون:
  • استعمال لوحة المفاتيح: اكتب ما تستطيعه من محارف عشوائية على لوحة المفاتيح.
  • استعمال الفأرة: حركها واضغط بأزرارها.
  • استعمال الأقراص: اعمل ملفات واكتب فيها واحذفها، أدخل أقراصاً وأخرجها، اعمل mount و umount للأقراص.

وبعد أن انتهى البرنامج أظهر الرسالة التالية:
CODE: تحديد الكل
gpg: key AA013FF7 marked as ultimately trusted
public and secret key created and signed.

gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   2  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 2u
pub   1024D/AA013FF7 1890-01-09
      Key fingerprint = EA23 0747 6D5D 0C7F D972  21A7 AE12 A8E3 AA01 3FF7
uid                  Sherlock Holmes (The Best Detective Ever) <holmes@detectives.org>
sub   2048g/B3753B90 1890-01-09


تهانينا يمكنك الآن البدء بالتشفير.

ولكن قبل ذلك يفضل أن تشارك الآخرين بمفتاحك العام وذلك بالأمر

CODE: تحديد الكل
$gpg --armor --output FILENAME --export holmes@detectives.org


  • الوسيط armor يخبر البرنامج بأن يكون الملف نصي لا ثنائي (Binary)
  • الوسيط output اسم ملف الخرج
  • الوسيط export يخبر البرنامج بتصدير المفتاح العام والبريد يخبر البرنامج أي مفتاح سيتم تصديره.


حذف المفاتيح

لنفرض أننا أردنا أن نحذف المفاتيح فكيف يكون ذلك يكون أولاً بحذف المفتاح السري من خلال الأمر:
CODE: تحديد الكل
$gpg --delete-secret-keys holmes@detectives.org


وسيسألنا البرنامج
CODE: تحديد الكل
gpg (GnuPG) 1.4.7; Copyright (C) 2006 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.


sec  1024D/AA013FF7 1890-01-09 Sherlock Holmes (The Best Detective Ever) <holmes@detectives.org>

Delete this key from the keyring? (y/N)

اختر y
وسيسألك البرنامج عن التأكيد مرة أخرى (كونها عملية تستحيل إعادتها)

CODE: تحديد الكل
This is a secret key! - really delete? (y/N)

اختر y مرة أخرى
سيخرج البرنامج وقد حذف المفتاح

والآن يجب حذف المفاتيح باستخدام الأمر
CODE: تحديد الكل
$gpg --delete-keys holmes@detectives.org


اختر y وسيتم حذف المفاتيح.

أما في حالة وجود مفتاح عام فقط (سنرى كيفية إضافته بعد قليل) فالتنفيذ للخطوة الثانية فقط.


إضافة المفاتيح

والآن لنفرض أن واتسن يود اكتشف خطة البروفيسور موريارتي ويود إخبار شيرلوك بالخطة ولكنه يخشى من المخترقين الذين يعملون لحساب موريارتي ففكر بتشفير الرسالة لذلك فإنه يود أن يضيف مفتاح شيرلوك العام وذلك بالأمر:

CODE: تحديد الكل
$gpg --import FILENAME (المفتاح العام)


والآن هل تظن أن واتسن غبي لهذه الدرجة؟
لقد فكر بأنه قد يكون موريارتي قد انتحل شخصية هولمز وما أسهل ذلك لذا فإنه قبل أن يوقع المفتاح على أنه صالح وموثوق سوف يتأكد منه وذلك بالأمر:
CODE: تحديد الكل
$gpg --fingerprint holmes@detectives.org


وكان الخرج هكذا:
CODE: تحديد الكل
pub   1024D/AA013FF7 1890-01-09
      Key fingerprint = EA23 0747 6D5D 0C7F D972  21A7 AE12 A8E3 AA01 3FF7
uid                  Sherlock Holmes (The Best Detective Ever) <holmes@detectives.org>
sub   2048g/B3753B90 1890-01-09


سيتصل الآن واتسن بهولمز أو يلتقيه شخصياً لمطابقة البصمة
CODE: تحديد الكل
EA23 0747 6D5D 0C7F D972  21A7 AE12 A8E3 AA01 3FF7


وعندما تتطابق البصمات يتوجب عليه أن يوقع المفتاح بالأمر:
CODE: تحديد الكل
$gpg --sign-key holmes@detectives.org


فيسأل البرنامج
CODE: تحديد الكل

pub  1024D/AA013FF7  created: 1890-01-09  expires: never       usage: SC 
                     trust: unknown       validity: unknown
sub  2048g/B3753B90  created: 1890-01-09  expires: never       usage: E   
[ unknown] (1). Sherlock Holmes (The Best Detective Ever) <holmes@detectives.org>


pub  1024D/AA013FF7  created: 1890-01-09  expires: never       usage: SC 
                     trust: unknown       validity: unknown
 Primary key fingerprint: EA23 0747 6D5D 0C7F D972  21A7 AE12 A8E3 AA01 3FF7

     Sherlock Holmes (The Best Detective Ever) <holmes@detectives.org>

Are you sure that you want to sign this key with your
key "Watson <watson@detectives.org>" (DF792531)

Really sign? (y/N)


والجواب طبعاً y مادامت قد تطابقت البصمتان

CODE: تحديد الكل

You need a passphrase to unlock the secret key for
user: "Watson <watson@detectives.org>"
1024-bit DSA key, ID DF792531, created 1890-01-09

Enter passphrase:


يسأل البرنامج عن كلمة السر حتى يمكن من توقيع المفتاح (كلمة سر مفتاح واتسن)

تم توقيع المفتاح والآن يستطيع واتسن تشفير الرسائل بأمان.

التوقيع الرقمي

لدينا الرسالة التالية وقد خزنها شيرلوك في ملف باسم msg:
CODE: تحديد الكل
Dear, Watson
I will be in London on 13th at 1 O'Clock.


يجب على شيرلوك توقيعها رقمياً حتى يتأكد واتسن من أن المرسل هو شيرلوك وذلك بالأمر:
CODE: تحديد الكل
$gpg --clearsign --output msg.sign msg


وسيكون محتوى الملف msg.sign
CODE: تحديد الكل
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Dear, Watson
I will be in London on 13th at 1 O'Clock.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)

iD8DBQFJaitHsmhzX/RD1WQRAhaMAJ9pLiABq4z4ErhFJ5bIFEBmSHLD/gCfRscI
qVOi87DEW9RbU/YHJPzNUzA=
=MMQO
-----END PGP SIGNATURE-----


يمكن لواتسن أن يتعرف على التوقيع من خلال الأمر:
CODE: تحديد الكل
$gpg --verify msg.sign


والخرج يكون (وقد يكون أقصر):
CODE: تحديد الكل
gpg: Signature made Mon 03 Mar 2008 07:24:23 PM EET using DSA key ID DF792531
gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   1  signed:   1  trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: depth: 1  valid:   1  signed:   0  trust: 1-, 0q, 0n, 0m, 0f, 0u
gpg: Good signature from "Sherlock Holmes <holmes@detectives.org>"


والسطر الأخير يعني أن التوقيع صحيح (مطابقةً مع المفتاح العام الموقع لدى واتسن) وإذا كان الخرج:

CODE: تحديد الكل
gpg: Signature made Mon 03 Mar 2008 07:24:23 PM EET using DSA key ID DF792531
gpg: BAD signature from "Sherlock Holmes <holmes@detectives.org>"


فيستحسن أن يعيد النظر بالأمر
  • لا يمكنك التوقيع ومن ثم التعديل على الرسالة لأن التوقيع يعتمد على محارف الرسالة فإذا تغيرت فسوف يفسد وكذلك الأمر في الملفات إلا أن تعديلها نادراً ما يحدث.


تشفير الملفات

حتى نبدأ دعنا ننشأ ملفاً تنفيذياً نطبق عليه التشفير (الطريقة هي ذاتها لجميع أنواع الملفات).

افتح أي محرر نصوص واكتب فيه
CODE: تحديد الكل
#include <stdio.h>

int main()
{
   printf("HELLO!\n");
}


ثم احفظ الملف باسم prog.c مثلاً

الآن ترجم الملف إلى برنامج تنفيذي من خلال gcc هكذا
CODE: تحديد الكل
$gcc -oprog prog.c


أصبح لديك برنامج باسم prog جرب أن تشغلة وسيعطيك خرج كالتالي:
CODE: تحديد الكل
$./prog
HELLO!



والآن دعنا نشفر الملف

الطريقة العامة للتشفير هي
CODE: تحديد الكل
$gpg --encrypt prog


كما يمكنك تحديد اسم الملف بعد تشفيره من خلال الوسيط output هكذا
CODE: تحديد الكل
$gpg --output prog.gpg --encrypt prog


في حال أدخلت الأمر كما في السابق سيسألك البرنامج عن مستلم الملف الذي تود إرسال الملف إليه. يمكنك إضافة واحد ثم ضغط Enter وإدخال الآخر إذا انتهيت من إدخال أسماء الجميع فاضغط Enter على سطر فارغ وسيعلم البرنامج أنك انتهيت من إدخال الأسماء.
إذا لم تعجبك هذه الطريقة يمكنك تحديد المسلتم من خلال الوسيط recipient هكذا
CODE: تحديد الكل
$gpg --output prog.gpg --recipient holmes@detectives.org --encrypt prog

  • ملاحظة يمكن إضافة Recipient عن طريق الاسم أو الإميل أو التعليق أو الـ ID
  • عن طريق الإميل:
    CODE: تحديد الكل
    $gpg --recipient holmes@detectives.org
  • عن طريق الاسم:
    CODE: تحديد الكل
    $gpg --recipient "Sherlock Holmes"
  • عن طريق الـ ID:
    CODE: تحديد الكل
    $gpg --recipient DF792531
  • عن طريق التعليق:
    CODE: تحديد الكل
    $gpg --recipient 'The Best Detective Ever!'
وكما ترى أنشأ البرنامج ملفاً باسم prog.gpg وهو عبارة عن prog مشفر يستطيع شيرلوك فكه بواسطة مفتاحه الخاص بعد أن يدخل كلمة السر هكذا
CODE: تحديد الكل
$gpg --output prog --decrypt prog.gpg

  • ملاحظة: في حال لم يتم استخدام الأمر output مع decrypt سيتم طباعة الخرج على الشاشة وفي حالة الملفات غير النصية سيكون خرج غير مفهوم.


    ملاحظات عامة:

  • لبعض الوسائط اختصارات مثل --encrypt تختصر إلى -e يمكنك الاطلاع عليها من خلال --help
  • يستطيع البرنامج إتمام الأوامر وفهمها إن كانت لا تحتمل أي احتمال آخر مثلاً إذا كتبت
    CODE: تحديد الكل
    $gpg --edit-ke holmes@detectives.org

    فسيفهمها البرنامج على أنها
    CODE: تحديد الكل
    $gpg --edit-key holmes@detectives.org
  • يمكن التعديل على المفاتيح واستخدام الأوامر عليها من خلال الكونسول هكذا
    CODE: تحديد الكل
    $gpg --edit-key holmes@detectives.org

    ومن ثم أكتب help وأتبعها بـ Enter وسيعطيك لائحة بالأوامر الممكنة
    مثال:اكتب frp وسيعطيك بصمة المفتاح
    اكتب بعدها quit للخروج
  • يمكنك استخدام برنامج gpg2 الأصدار الأحدث إذا كان منصباً على حاسبك بنفس الطريقة التي تعلمتها تماماً إلا أنه حين إدخال كلمة السر سيظهر نافذة تدخل كلمة السر فيها في حال وجود خادم X (تشغيل واجهة رسومية) او سيرسم نافذة إذا كنت تعمل على runleve3 أي على الأوامر فقط. وستظهر كلمة السر على شكل نجوم (لا أفضل ذلك فيمكن تخمين كلمات السر السهلة المتعلقة بالمستخدم وحياته الخاصة من خلال عدد المحارف المدخلة).
  • يمكنك استخدام البرنامج ذو الواجهة الرسومية kgpg وهو أحد برامج واجهة KDE الجميلة جداً يمكنك من استخدام كل ما تعلمناه بسهولة ويسر (لا أعلم إن كان معرباً ولا أعلم إن كان على gnome شبيه له).
  • إذا كنت تعمل في بيئة مايكروسوفت وندوز (وأكملت القراءة حتى الآن) يمكنك تنزيل برنامج PGP مجاناً من الإنترنت كبرنامج gpg4win وفلسفة التشفير تكون ذاتها دوماً (كما يمكنك الحصول على وثائق من الإنترنت عن التشفير أيضاً).
  • في بيئة Mac يمكنك تنزيل MACGPG من الرابط
  • من أجل التشفير والتوقيع بسرعة في Thunderbird ممكن أن تنزل إضافة enigmail
  • لعلك لاحظت كم يملك البرنامج من مزايا وخفايا جميلة جداً ولكن مازال فيه الكثير مما لم أذكره فلذلك يفضل أن تقرأ وثائق man عن gpg حتى تكون صورة عن الخيارات الكثيرة والمزايا التي لم نذكرها (لم أذكر إلا المهم فقط) مع الأمثلة العملية السهلة جداً يمكنك كذلك تجاوز الأخطاء التي قد تكون وقعت في هذا المقال. كما يمكنك الرجوع إلى GnuPG Manual على الرابط
  • إذا كانت لديك رغبة في تعلم المزيد عن التشفير فيستحسن أن تبحث عن SSL ومكتبة OpenSSL اكتب
    CODE: تحديد الكل
    $man openssl

    كبداية. واكتب
    CODE: تحديد الكل
    $openssl
    OpenSSL>help

    كما يمكنك البحث في الإنترنت فمكتبة OpenSSL مكتبة ضخمة جداً تحوي الكثير من الخوارزميات والتي تمكنك من إنشاء برامج قوية جداً في كافة المجالات (نعم هي مكتبة برمجية يمكنك تضمينها في برامجك)

أي تصحيحات/ ردود/ أسئلة فيرجى طرحها في المنتدى ولكم تحياتي.


ChArLoK_16
##########
03/03/2008
##########
ومن علم - رحمك الله - أن كلامه من عمله قلَّ إلا فيما ينفعه ومن أيقن أنه مسؤولٌ عما ألف وعما كتب لم يعمل الشيء وضدّه ولم يستفرغ مجهوده في تثبيت الباطل عنده وأنشدني الرِّياشي: ولا تكتب بخطك غير شيء ... يَسرك في القيامة أن تراه. [ابن قتيبة]
صورة العضو الشخصية
aborazmeh
عضو جديد
عضو جديد
 
مشاركات: 110
اشترك في: الثلاثاء فبراير 17, 2009 11:30 am
مكان: Damascus
الجتس: ذكر
الشهادة الثانوية: سورية
الجامعة: جامعة دمشق
الكلية: الهندسة المعلوماتية
المرحلة الدراسية: غير ذلك

العودة إلى اقرأ وتعلم

الموجودون الآن

المستخدمون المتصفحون لهذا المنتدى: لا يوجد أعضاء مسجلين متصلين و 1 زائر