آموزش رمزنگاری متقارن و نامتقارن در رمزنگاری با پایتون

3 سال پیش
آموزش رمزنگاری متقارن و نامتقارن در رمزنگاری با پایتون

آموزش رمزنگاری متقارن و نامتقارن در رمزنگاری با پایتون

 

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش رمزنگاری متقارن و نامتقارن در رمزنگاری با پایتون خواهیم پرداخت.

پیشنهاد ویژه : پکیج آموزش طراحی وب سایت با پایتون

در این درس، اجازه دهید به طور مفصل در مورد رمزنگاری متقارن و نامتقارن بحث کنیم.

رمزنگاری متقارن

در این نوع، فرآیند رمزگذاری و رمزگشایی از همان کلید استفاده می کند. همچنین به عنوان رمزنگاری کلید مخفی نامیده می شود. ویژگی های اصلی رمزنگاری متقارن به شرح زیر است –

  • ساده تر و سریعتر است.
  • دو طرف کلید را به روشی امن رد و بدل می کنند.

 

اشکال

اشکال عمده رمزنگاری متقارن این است که اگر کلید به متجاوز فاش شود، پیام می تواند به راحتی تغییر کند و این به عنوان یک عامل خطر در نظر گرفته می شود.

استاندارد رمزگذاری داده ها (DES)

محبوب ترین الگوریتم کلید متقارن استاندارد رمزگذاری داده (DES) است و پایتون شامل بسته ای است که شامل منطق پشت الگوریتم DES است.

نصب و راه اندازی

دستور نصب بسته DES pyDES در پایتون –

pip install pyDES

pyDES

اجرای ساده الگوریتم DES به شرح زیر است –

import pyDes

data = "DES Algorithm Implementation"
k = pyDes.des("DESCRYPT", pyDes.CBC, "\0\0\0\0\0\0\0\0", pad=None, padmode=pyDes.PAD_PKCS5)
d = k.encrypt(data)

print "Encrypted: %r" % d
print "Decrypted: %r" % k.decrypt(d)
assert k.decrypt(d) == data

 

این padmode متغیر را فراخوانی می کند که همه بسته ها را طبق اجرای الگوریتم DES واکشی می کند و رمزگذاری و رمزگشایی را به روشی مشخص دنبال می کند.

 

خروجی

می توانید نتیجه کد زیر را مشاهده کنید –

DES algorithm

رمزنگاری نامتقارن

همچنین به عنوان رمزنگاری کلید عمومی نامیده می شود. این به روش معکوس رمزنگاری متقارن عمل می کند. این بدان معنی است که به دو کلید نیاز دارد: یکی برای رمزگذاری و دیگری برای رمزگشایی. کلید عمومی برای رمزگذاری و کلید خصوصی برای رمزگشایی استفاده می شود.

اشکال

  • به دلیل طول کلید ، در سرعت رمزگذاری کمتری نقش دارد.
  • مدیریت کلید بسیار مهم است.

کد برنامه زیر در پایتون کار رمزنگاری نامتقارن با استفاده از الگوریتم RSA و اجرای آن را نشان می دهد –

 

from Crypto import Random
from Crypto.PublicKey import RSA
import base64

def generate_keys():
   # key length must be a multiple of 256 and >= 1024
   modulus_length = 256*4
   privatekey = RSA.generate(modulus_length, Random.new().read)
   publickey = privatekey.publickey()
   return privatekey, publickey

def encrypt_message(a_message , publickey):
   encrypted_msg = publickey.encrypt(a_message, 32)[0]
   encoded_encrypted_msg = base64.b64encode(encrypted_msg)
   return encoded_encrypted_msg

def decrypt_message(encoded_encrypted_msg, privatekey):
   decoded_encrypted_msg = base64.b64decode(encoded_encrypted_msg)
   decoded_decrypted_msg = privatekey.decrypt(decoded_encrypted_msg)
   return decoded_decrypted_msg

a_message = "This is the illustration of RSA algorithm of asymmetric cryptography"
privatekey , publickey = generate_keys()
encrypted_msg = encrypt_message(a_message , publickey)
decrypted_msg = decrypt_message(encrypted_msg, privatekey)

print "%s - (%d)" % (privatekey.exportKey() , len(privatekey.exportKey()))
print "%s - (%d)" % (publickey.exportKey() , len(publickey.exportKey()))
print " Original content: %s - (%d)" % (a_message, len(a_message))
print "Encrypted message: %s - (%d)" % (encrypted_msg, len(encrypted_msg))
print "Decrypted message: %s - (%d)" % (decrypted_msg, len(decrypted_msg))

 

خروجی

هنگام اجرای کد ارائه شده در بالا می توانید خروجی زیر را پیدا کنید –

RSA

 

منبع.

لیست جلسات قبل آموزش رمزنگاری با پایتون 

  1. آموزش رمزنگاری با پایتون
  2. بررسی اجمالی آموزش رمزنگاری با پایتون 
  3. آموزش رمزنگاری دو گانه در رمزنگاری با پایتون
  4. مرور و نصب پایتون
  5. آموزش رمز معکوس در رمزنگاری با پایتون
  6. آموزش رمز سزار در رمزنگاری با پایتون
  7. آموزش الگوریتم ROT13 در رمزنگاری با پایتون 
  8. آموزش رمزنگاری جابجایی در رمزنگاری با پایتون
  9. آموزش رمزنگاری با رمزنگاری جابجایی
  10. آموزش رمزگذاری فایل ها با رمزنگاری در پایتون
  11. آموزش رمزگشایی فایل ها با رمزنگاری در پایتون
  12. آموزش رمزگذاری و رمزگشایی Base64 در رمزنگاری با پایتون 
  13. آموزش فرایند XOR در رمزنگاری با پایتون
  14. آموزش رمز ضربی در رمزنگاری با پایتون
  15. آموزش رمز مستوی در رمزنگاری با پایتون
  16. آموزش هک کردن رمز تک حروف در رمزنگاری با پایتون
  17. آموزش رمز جایگزینی ساده در رمزنگاری با پایتون
  18. آموزش تست رمزگذاری جایگزینی ساده در رمزنگاری با پایتون
  19. آموزش رمزگشایی از رمزنگاری جایگزینی ساده در رمزنگاری با پایتون
  20. آموزش ماژول های رمزنگاری پایتون
  21. درک رمز ویژنر در رمزنگاری با پایتون
  22. آموزش پیاده سازی رمز ویژنر در رمزنگاری با پایتون
  23. آموزش اجرای رمز یکبار پد در رمزنگاری با پایتون
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه