آموزش رمزنگاری متقارن و نامتقارن در رمزنگاری با پایتون
آموزش رمزنگاری متقارن و نامتقارن در رمزنگاری با پایتون
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش رمزنگاری متقارن و نامتقارن در رمزنگاری با پایتون خواهیم پرداخت.
پیشنهاد ویژه : پکیج آموزش طراحی وب سایت با پایتون
در این درس، اجازه دهید به طور مفصل در مورد رمزنگاری متقارن و نامتقارن بحث کنیم.
رمزنگاری متقارن
در این نوع، فرآیند رمزگذاری و رمزگشایی از همان کلید استفاده می کند. همچنین به عنوان رمزنگاری کلید مخفی نامیده می شود. ویژگی های اصلی رمزنگاری متقارن به شرح زیر است –
- ساده تر و سریعتر است.
- دو طرف کلید را به روشی امن رد و بدل می کنند.
اشکال
اشکال عمده رمزنگاری متقارن این است که اگر کلید به متجاوز فاش شود، پیام می تواند به راحتی تغییر کند و این به عنوان یک عامل خطر در نظر گرفته می شود.
استاندارد رمزگذاری داده ها (DES)
محبوب ترین الگوریتم کلید متقارن استاندارد رمزگذاری داده (DES) است و پایتون شامل بسته ای است که شامل منطق پشت الگوریتم DES است.
نصب و راه اندازی
دستور نصب بسته DES pyDES در پایتون –
1 |
pip install pyDES |
اجرای ساده الگوریتم DES به شرح زیر است –
1 2 3 4 5 6 7 8 9 |
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 واکشی می کند و رمزگذاری و رمزگشایی را به روشی مشخص دنبال می کند.
خروجی
می توانید نتیجه کد زیر را مشاهده کنید –
رمزنگاری نامتقارن
همچنین به عنوان رمزنگاری کلید عمومی نامیده می شود. این به روش معکوس رمزنگاری متقارن عمل می کند. این بدان معنی است که به دو کلید نیاز دارد: یکی برای رمزگذاری و دیگری برای رمزگشایی. کلید عمومی برای رمزگذاری و کلید خصوصی برای رمزگشایی استفاده می شود.
اشکال
- به دلیل طول کلید ، در سرعت رمزگذاری کمتری نقش دارد.
- مدیریت کلید بسیار مهم است.
کد برنامه زیر در پایتون کار رمزنگاری نامتقارن با استفاده از الگوریتم RSA و اجرای آن را نشان می دهد –
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
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)) |
خروجی
هنگام اجرای کد ارائه شده در بالا می توانید خروجی زیر را پیدا کنید –
لیست جلسات قبل آموزش رمزنگاری با پایتون
- آموزش رمزنگاری با پایتون
- بررسی اجمالی آموزش رمزنگاری با پایتون
- آموزش رمزنگاری دو گانه در رمزنگاری با پایتون
- مرور و نصب پایتون
- آموزش رمز معکوس در رمزنگاری با پایتون
- آموزش رمز سزار در رمزنگاری با پایتون
- آموزش الگوریتم ROT13 در رمزنگاری با پایتون
- آموزش رمزنگاری جابجایی در رمزنگاری با پایتون
- آموزش رمزنگاری با رمزنگاری جابجایی
- آموزش رمزگذاری فایل ها با رمزنگاری در پایتون
- آموزش رمزگشایی فایل ها با رمزنگاری در پایتون
- آموزش رمزگذاری و رمزگشایی Base64 در رمزنگاری با پایتون
- آموزش فرایند XOR در رمزنگاری با پایتون
- آموزش رمز ضربی در رمزنگاری با پایتون
- آموزش رمز مستوی در رمزنگاری با پایتون
- آموزش هک کردن رمز تک حروف در رمزنگاری با پایتون
- آموزش رمز جایگزینی ساده در رمزنگاری با پایتون
- آموزش تست رمزگذاری جایگزینی ساده در رمزنگاری با پایتون
- آموزش رمزگشایی از رمزنگاری جایگزینی ساده در رمزنگاری با پایتون
- آموزش ماژول های رمزنگاری پایتون
- درک رمز ویژنر در رمزنگاری با پایتون
- آموزش پیاده سازی رمز ویژنر در رمزنگاری با پایتون
- آموزش اجرای رمز یکبار پد در رمزنگاری با پایتون
دیدگاه شما