آموزش رمزگشایی رمز RSA در رمزنگاری با پایتون
آموزش رمزگشایی رمز RSA در رمزنگاری با پایتون
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش رمزگشایی رمز RSA در رمزنگاری با پایتون خواهیم پرداخت.
پیشنهاد ویژه : پکیج آموزش طراحی وب سایت با پایتون
این درس ادامه درس قبلی است که ما مرحله به مرحله اجرای رمزنگاری با استفاده از الگوریتم RSA را دنبال کردیم و به طور مفصل در مورد آن بحث کردیم.
عملکرد مورد استفاده برای رمزگشایی متن رمزنگاری به شرح زیر است –
1 2 3 |
def decrypt(ciphertext, priv_key): cipher = PKCS1_OAEP.new(priv_key) return cipher.decrypt(ciphertext) |
برای رمزنگاری کلید عمومی یا رمزنگاری کلید نامتقارن، حفظ دو ویژگی مهم یعنی احراز هویت و مجوز مهم است.
مجوز فرآیندی است که تأیید می کند فرستنده تنها کسی است که پیام را ارسال کرده است. کد زیر این را توضیح می دهد –
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
def sign(message, priv_key, hashAlg="SHA-256"): global hash hash = hashAlg signer = PKCS1_v1_5.new(priv_key) if (hash == "SHA-512"): digest = SHA512.new() elif (hash == "SHA-384"): digest = SHA384.new() elif (hash == "SHA-256"): digest = SHA256.new() elif (hash == "SHA-1"): digest = SHA.new() else: digest = MD5.new() digest.update(message) return signer.sign(digest) |
احراز هویت
احراز هویت با روش تأیید امکان پذیر است که به شرح زیر توضیح داده می شود –
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
def verify(message, signature, pub_key): signer = PKCS1_v1_5.new(pub_key) if (hash == "SHA-512"): digest = SHA512.new() elif (hash == "SHA-384"): digest = SHA384.new() elif (hash == "SHA-256"): digest = SHA256.new() elif (hash == "SHA-1"): digest = SHA.new() else: digest = MD5.new() digest.update(message) return signer.verify(digest, signature) |
امضای دیجیتال همراه با مشخصات فرستنده و گیرنده تأیید می شود. این باعث افزایش وزن بیشتر برای اهداف امنیتی می شود.
رمزگشایی رمز RSA
برای رمزگشایی رمز 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
from Crypto.PublicKey import RSA from Crypto.Cipher import PKCS1_OAEP from Crypto.Signature import PKCS1_v1_5 from Crypto.Hash import SHA512, SHA384, SHA256, SHA, MD5 from Crypto import Random from base64 import b64encode, b64decode hash = "SHA-256" def newkeys(keysize): random_generator = Random.new().read key = RSA.generate(keysize, random_generator) private, public = key, key.publickey() return public, private def importKey(externKey): return RSA.importKey(externKey) def getpublickey(priv_key): return priv_key.publickey() def encrypt(message, pub_key): cipher = PKCS1_OAEP.new(pub_key) return cipher.encrypt(message) def decrypt(ciphertext, priv_key): cipher = PKCS1_OAEP.new(priv_key) return cipher.decrypt(ciphertext) def sign(message, priv_key, hashAlg = "SHA-256"): global hash hash = hashAlg signer = PKCS1_v1_5.new(priv_key) if (hash == "SHA-512"): digest = SHA512.new() elif (hash == "SHA-384"): digest = SHA384.new() elif (hash == "SHA-256"): digest = SHA256.new() elif (hash == "SHA-1"): digest = SHA.new() else: digest = MD5.new() digest.update(message) return signer.sign(digest) def verify(message, signature, pub_key): signer = PKCS1_v1_5.new(pub_key) if (hash == "SHA-512"): digest = SHA512.new() elif (hash == "SHA-384"): digest = SHA384.new() elif (hash == "SHA-256"): digest = SHA256.new() elif (hash == "SHA-1"): digest = SHA.new() else: digest = MD5.new() digest.update(message) return signer.verify(digest, signature) |
لیست جلسات قبل آموزش رمزنگاری با پایتون
- آموزش رمزنگاری با پایتون
- بررسی اجمالی آموزش رمزنگاری با پایتون
- آموزش رمزنگاری دو گانه در رمزنگاری با پایتون
- مرور و نصب پایتون
- آموزش رمز معکوس در رمزنگاری با پایتون
- آموزش رمز سزار در رمزنگاری با پایتون
- آموزش الگوریتم ROT13 در رمزنگاری با پایتون
- آموزش رمزنگاری جابجایی در رمزنگاری با پایتون
- آموزش رمزنگاری با رمزنگاری جابجایی
- آموزش رمزگذاری فایل ها با رمزنگاری در پایتون
- آموزش رمزگشایی فایل ها با رمزنگاری در پایتون
- آموزش رمزگذاری و رمزگشایی Base64 در رمزنگاری با پایتون
- آموزش فرایند XOR در رمزنگاری با پایتون
- آموزش رمز ضربی در رمزنگاری با پایتون
- آموزش رمز مستوی در رمزنگاری با پایتون
- آموزش هک کردن رمز تک حروف در رمزنگاری با پایتون
- آموزش رمز جایگزینی ساده در رمزنگاری با پایتون
- آموزش تست رمزگذاری جایگزینی ساده در رمزنگاری با پایتون
- آموزش رمزگشایی از رمزنگاری جایگزینی ساده در رمزنگاری با پایتون
- آموزش ماژول های رمزنگاری پایتون
- درک رمز ویژنر در رمزنگاری با پایتون
- آموزش پیاده سازی رمز ویژنر در رمزنگاری با پایتون
- آموزش اجرای رمز یکبار پد در رمزنگاری با پایتون
- آموزش رمزنگاری متقارن و نامتقارن در رمزنگاری با پایتون
- آموزش الگوریتم RSA در رمزنگاری با پایتون
- آموزش ایجاد کلیدهای RSA در رمزنگاری با پایتون
- آموزش رمزگذاری رمز RSA در رمزنگاری با پایتون
دیدگاه شما