رفتن به محتوا
برگرد

حل مسائل کتاب Understanding Cryptography - فصل 6

منتشرشده در:  at  ۱۲:۴۶ بعدازظهر
8 دقیقه مطالعه

برای سوالات با شماره فرد، به دفترچه حل رسمی مراجعه کنید. فصل های 5 و قبل، برای ویرایش قدیمی، توی این بلاگ حل شون گذاشته شده: Thomas Busby

فصل 6 - معرفی رمزنگاری کلید عمومی

فهرست مطالب

سوال 6.2

TRSA=51,200MB2.5MB/s=20,480sT_{RSA} = \frac{51,200 MB}{2.5 MB/s} ​= 20,480s TAES=50GB2.5GB/s=20sT_{AES} = \frac{50 GB}{2.5 GB/s} ​= 20s

سوال 6.4

  1. پیچیدگی زمانی برای تولید امضای RSA (که شامل توان‌رسانی پیمانه‌ای با توان خصوصی است) معمولاً به صورت مکعبی نسبت به طول کلید k تقریب زده می‌شود. حالا با توجه به این موضوع:
30721024=3\frac{3072}{1024} = 3 33=273 ^ 3 = 27 27×15.7=423.9ms27 \times 15.7 = 423.9 ms
  1. (153601024)3=(15)3=3375(\frac{15360}{1024}) ^ 3 = (15)^3 = 3375
3375×15.7=52,987ms53s3375 \times 15.7 = 52,987ms \approx 53s
  1. افزایش در زمان اجرا برای ECC معمولاً به صورت درجه دوم نسبت به طول کلید k تقریب زده می‌شود.
ECC اندازه کلیداندازه کلید RSAامنیت متقارن
160102480
2563072128
51215360256
(256160)2=(1.6)2=2.56(\frac{256}{160}) ^ 2 = (1.6)^2 = 2.56 2.56×1.3=3.328ms2.56 \times 1.3 = 3.328ms (512160)2=(3.2)2=10.24(\frac{512}{160}) ^ 2 = (3.2)^2 = 10.24 10.24×1.3=13.312ms10.24 \times 1.3 = 13.312ms
  1. توصیفی از تفاوت بین RSA و ECC هنگام افزایش سطح امنیت

سوال 6.6

  1. ۱۹۸ و ۲۴۳
مرحله (i)qirisiti
۰-۲۴۳۱۰
۱-۱۹۸۰۱
۲۱۴۵۱
۳۴۱۸۵
۴۲۹۹-۱۱
۵۲۰--
  1. ۱۸۱۹ و ۳۵۸۷
مرحله (i)qirisiti
۰-۳۵۸۷۱۰
۱-۱۸۱۹۰۱
۲۱۱۷۶۸۱
۳۱۵۱۲
۴۳۴۳۴۳۵-۶۹
۵۱۱۷-۳۶۷۱
۶۲۰--
  1. ۲۹۳۱ و ۵۴۵۱
مرحله (i)qirisiti
۰-۵۴۵۱۱۰
۱-۲۹۳۱۰۱
۲۱۲۵۲۰۱
۳۱۴۱۱۲
۴۶۵۴۷-۱۳
۵۷۳۳-۵۰۹۳
۶۱۲۱۳۵۷-۶۶۴
۷۱۱۲-۴۰۷۷۵۷
۸۱۹۷۶۴-۱۴۲۱
۹۱۳-۱۱۷۱۲۱۷۸
۱۰۳۰--

gcd = 3, s = -1171, t = 2178

  1. ۱۲۳۵۱ و ۴۲۳۴۳
مرحله (i)qirisiti
۰-۴۲۳۴۳۱۰
۱-۱۲۳۵۱۰۱
۲۳۵۲۹۰۱
۳۲۱۷۷۱۷
۴۲۱۷۴۸۵-۱۷
۵۷۶۲۳-۳۸۲۱۲۹۹
۶۷۶۰--

سوال 6.8

محاسبه φ(m) برای m = 12, 15, 26:

m = 12: اعداد کوچک‌تر از ۱۲ که با آن اول هستند: ۱, ۵, ۷, ۱۱ φ(12) = 4

m = 15: اعداد کوچک‌تر از ۱۵ که با آن اول هستند: ۱, ۲, ۴, ۷, ۸, ۱۱, ۱۳, ۱۴ φ(15) = 8

m = 26: اعداد کوچک‌تر از ۲۶ که با آن اول هستند: ۱, ۳, ۵, ۷, ۹, ۱۱, ۱۵, ۱۷, ۱۹, ۲۱, ۲۳, ۲۵ φ(26) = 12

سوال 6.10

محاسبه معکوس a⁻¹ mod n:

a = 4, n = 7: از قضیه فرما: a^(n-1) ≡ 1 (mod n) 4⁶ ≡ 1 (mod 7) 4⁻¹ ≡ 4⁵ (mod 7) 4⁵ = 1024 = 146×7 + 2 4⁻¹ ≡ 2 (mod 7)

یا با الگوریتم اقلیدسی توسعه‌یافته: gcd(4,7) = 1, s = -1×7 + 2×4 = 1 4×2 ≡ 8 ≡ 1 (mod 7) معکوس = 2

a = 5, n = 12: gcd(5,12) = 1 از الگوریتم توسعه‌یافته: 5×5 = 25 = 2×12 + 1 5⁻¹ ≡ 5 (mod 12)

a = 6, n = 13: از قضیه فرما: 6⁻¹ ≡ 6¹¹ (mod 13) یا محاسبه مستقیم: 6×11 = 66 = 5×13 + 1 6⁻¹ ≡ 11 (mod 13)

سوال 6.12

اثبات a⁻¹ ≡ a¹¹ (mod 26):

قضیه اویلر می‌گوید: a^φ(n) ≡ 1 (mod n) وقتی gcd(a,n) = 1

φ(26) = φ(2×13) = φ(2)×φ(13) = 1×12 = 12

پس: a¹² ≡ 1 (mod 26)

بنابراین: a×a¹¹ ≡ a¹² ≡ 1 (mod 26)

در نتیجه: a⁻¹ ≡ a¹¹ (mod 26)

سوال 6.14

تست صافی (smoothness) برای اعداد مرکب:

۱. محاسبه P:

P برابر حاصل‌ضرب تمام توان‌های اول که شرایط را ارضا می‌کنند:

P=27×35×53×72×112×13×17×19×23×29P = 2^7 \times 3^5 \times 5^3 \times 7^2 \times 11^2 \times 13 \times 17 \times 19 \times 23 \times 29

P=128×243×125×49×121×13×17×19×23×29P = 128 \times 243 \times 125 \times 49 \times 121 \times 13 \times 17 \times 19 \times 23 \times 29

این عدد خیلی بزرگ است (حدود 10²⁰). برای محاسبات دقیق از نرم‌افزار مناسب استفاده کنید.

۲. محاسبه gcd(P, 29,716):

29716 = 2² × 11 × 677

gcd(P, 29716) = 2² × 11 = 44

۳. شرط smoothness:

N صاف است اگر gcd(P,N) = N

۴. آیا 29,716 صاف است؟

خیر، چون ۶۷۷ عدد اولی است که بزرگ‌تر از ۳۰ است.

۵. آیا 103,730 صاف است؟

103730 = 2 × 5 × 10373

۱۰۳۷۳ عدد اول است و > 30

عوامل اول بزرگ‌تر از B₁ = 30: 10373 توان‌های اول بزرگ‌تر از B₂ = 250: 10373¹

پس 103,730 صاف نیست.


امیر's avatar

امیر

دانشجوی ارشد امنیت - صنعتی اصفهان


مقاله قبلی
گزارش کامل از حل HTB - MonitorsFour
مقاله بعدی
راهنمای کامل تحلیل بدافزار