1
رمزنگاری متقارن
فهرست مطالب
تعاریف
رمزهای کلاسیک
الگوریتمهای رمزهای متقارن و رمزهای قطعه ایی
استانداردهای رمزگذاری آمریکا
استاندارد رمزگذاری پیشرفته AES
استفاده از رمزهای قطعه ای
مدهای کاری رمزهای قطعه ای
تعاریف
متن واضح Plaintext :
متن رمزشده Ciphertext:
Encryption/Encode/Encipher
Decryption/Decode/Decipher
C=E(P) P=D(C) P=D(E(P))
رمزهای کلاسیک (دو روش پایه ای)
جانشینی
جانشینی یک حرف با حرف دیگر
تک الفبایی
چند الفبایی
حملات شناخته شده با استفاده از:
توزیع فرکانس ها
تعداد رخدادها
حروف مشابه و احتمال کلمات
تحلیلpattern (الگوها)
جایگشتی
جابجایی بین حروف متن اصلی
هدف diffusion (درهمریختگی) بیشتر است
شکست رمز سخت تر اما اگر یک pattern (الگو) آشکار شود، همه متن شکسته شده است.
از زمان جنگ جهانی دوم مورد استفاده قرار می گرفتند
انجام دادن با دست قبل از به وجود آمدن سیستم های کامپیوتری امروزی
جانشینی (سزار)
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
rdmc zmnsqds bzszotks
send another catapult
abcdefghijklmnopqrstuvwxyz
r
رمز جانشیتی تک الفبایی
به خاطر سپاری آسان
مشاهده patternها به آسانی
K = y
C = P + K (mod 26)
جانشینی 213
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
send another catapult
abcdefghijklmnopqrstuvwxyz
2
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
1
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
3
Ufqf bqqukgs fcudrvov
رمز جانشینی چند الفبایی
کاهش pattern ها
استفاده از توزیع حروف برای شکست
Vigenere جدول
رمز جانشینی چند الفبایی
استفاده از کلمه در ترکیب با متن و انجام محاسبات در پیمانه 26
M = SEND ANOTHER CATAPULT
K = h a i l c e a s e r h a i l c e a s e
C = z e v o c r o l l v y c i e c t u d x
Rotor Machines
a
c
j
l
n
o
p
s
u
v
w
x
y
x
m
m
g
g
q
q
w
w
a
a
h
h
h
j
j
o
o
v
v
d
d
b
b
f
f
r
r
k
k
t
t
e
e
z
z
i
i
y
c
l
n
s
u
d
g
e
Enigma – German Machine
had 3 rotors
تعداد الفبا = تعداد روتورها
رمز جایگشتی
ایجاد تغییر آرایه در متن اصلی بدون تغییر حروف الفبا
هدف: ایجاد پراکندگی
امکان استفاده ترکیبی با رمز جانشینی
ایده اساسی مورداستفاده در رمزنگاری متقارن می باشد
مثال (جایگشتی ستونی)
کلید: تعداد ستون ها (در اینجا 5)
S E N D *
A N O T H
E R * C A
T A P U L
T * * * *
=
SAETTENRA*NO*P*DTCU**HAL*
انواع حملات (کلاسیک، مدرن)
Ciphertext Only : تحلیلگر تنها متن رمزشده را دارد.
Known Plaintext: تحلیلگر بخشی از متن اصلی و متن رمز شده متناظر با آن را دارد.
Chosen Plaintext: تحلیلگر می تواند الگوریتم رمز را بر روی مقدار زیادی از متن واضح اعمال نماید.
ایده های تحلیل رمز کلاسیک
فراوانی حروف (etanos…)
فراوانی ترکیبات حروف (th, nt)
حروف (تشخیص) ابتدا و انتهای کلمه (th___, ___nt, ___gh)
نظم موجود در الفبای زبان
متد Kasiski (الگوهای تکراری)
حملات Brute Force
مثال (تحلیل)
Aerial reconnaissance reports enemy reinforcements estimated at battalion strength entering your sector PD Clarke
فراوانی حروف متن اصلی
مثال (تحلیل)
ANRMEMTNNO
ENEYMAAGGR
RAPRETLTYP
IIOENEIHOD
ASRITDOEUC
LSTNSANNRL
RASFETSTSS
ENEOSBTEER
CCNRTARRCK
OEECITEITE
aerialreco
nnaissance
reportsene
myreinforc
ementsesti
matedatbat
talionstre
ngthenteri
ngyoursect
orPDClarke
جایگشتی (10 ستونی)
مثال (تحلیل)
ANRMEMTNNOENEYMAAGGRRAPRETLTYPIIOENEIHODASRITDOEUCLSTNSANNRLRASFETSTSSENEOSBTEERCCNRTARRCKOEECITEITE
فراوانی حروف متن رمز شده
مثال (تحلیل)
از مقایسه نمودارهای قبلی می توان فهمید در رمزنگاری جایگشتی :
فراوانی متن رمزشده تفاوتی با فراوانی متن اصلی ندارد.
تحلیلگر نمی تواند از این نمودارها استفاده کند.
ولی در جایگزینی تک الفبایی این امکان وجود دارد
مثال (تحلیل)
DHULDOUHFRQQLVVDQFHUHSRUWVHQHPBUH . . .
تابع رمزنگاری کامل(One-Time Pad)
ایده : برای رمزکردن یک داده به طول n کلیدی به طول n هزینه کنیم.
در این صورت به ازای هر M و C داریم:
P(MC) = P(M)
یعنی داشتن هر تعداد متن نمونه رمزشده کمکی به تحلیلگر نمی کند.
امنیت این روش به تصادفی بودن کلید بستگی دارد.
تابع رمزنگاری کامل(One-Time Pad)
در عمل استفاده از چنین روشی مقدور نیست
تولید کلید تصادفی با حجم بالا از نظر عملی دشوار است.
توزیع امن کلید : اگر بتوانیم کانال امنی برای توزیع کلیدی با این حجم پیدا کنیم، آیا بهتر نیست از همین کانال برای انتقال داده اصلی استفاده کنیم؟!
در عمل از روشهایی استفاده می کنیم که شکستن رمز را برای تحلیلگر با توجه به تکنولوژیهای موجود و در زمان محدود غیرممکن سازد.
رمزنگاری متقارن
دو طرف به دنبال برقراری ارتباط محرمانه هستند.
ارتباط بر روی محیط نا امن انجام میپذیرد.
طرفین پیامهای خود را رمز میکنند.
رمز نگاری متقارن:
الگوریتمهای رمز نگاری آنها تابع اطلاعات مخفی است که فقط خود از آنها مطلع میباشند.
برای تبادل این اطلاعات مخفی نیاز به کانال امن است.
کلید مخفی
Alice
Bob
0 1 1 0 1 …
Adversary EVE
شبکه ناامن
محرمانگی
به طور امن منتقل میشود
الگوریتمهای رمزهای متقارن
رمزهای متقارن را می توان با ابزارهای متفاوتی تولید کرد
ابزارهای مهم :
رمزهای قطعه ای (قالبی)
پردازش پیغام ها بصورت قطعه به قطعه
سایز متعارف قطعات 64، 128 یا 256 بیت
رمزهای دنباله ای
پردازش پیغام ها بصورت پیوسته
رمزهای قطعه ای
متن واضح (تقسیم شده به قطعات)
قطعات خروجی
اصول رمزهای قطعه ایی
نگاشت قطعات متن واضح به قطعات متن رمزشده باید برگشت پذیر (یک به یک) باشد.
الگوریتم قطعات ورودی را در چند مرحله ساده و متوالی پردازش میکند. به این مراحل دور میگوییم.
هر دور عموماً مبتنی بر ترکیب اعمال ساده ای همچون جایگزینی و جایگشت استوار است.
استانداردهای رمزهای قطعه ای آمریکا
رمزهای قطعه ای استاندارد
استاندارد رمزگذاری داده DES
استاندارد رمزگذاری پیشرفته AES
تحت نظارت
National Institute of Science and Technology (NIST)
استاندارد رمزگذاری داده DES
مرور
در سال 1974 توسط IBM تولید شد
پس از انجام تغییراتی توسط NSA، در سال 1976NIST آن را پذیرفت.
اساس الگوریتم ترکیبی از عملیات جایگزینی و جایگشت می باشد.
مشخصات:
طول کلید 56 بیت
طول قطعههای ورودی و خروجی : 64 بیت
تعداد دورها: 16 دور
الگوریتمهای رمزگذاری و رمزگشایی عمومی هستند, ولی مبانی ریاضی و اصول طراحی آنها فاش نشد.
در گذشته بسیار پر استفاده بود.
DES از رده خارج شده است
در ژانویه 1999 این الگوریتم توسط آزمون جامع فضای کلید در 23 ساعت شکسته شد!
بیش از هزار کامپیوتر بر روی اینترنت هر یک بخش کوچکی از کار جستجو را انجام دادند.
به الگوریتمهای امن تر با طول کلید بالاتر نیاز داریم.
DES طراحی شفاف و روشن ندارد.
استاندارد رمزگذاری پیشرفته AES
NIST در سال 1997 مسابقه ای دو مرحله ای برای طراحی استاندارد جدید برگزار کرد.
تمام طراحی ها باید بر اساس اصول کاملاً روشن انجام شوند.
سازمانهای دولتی آمریکا حق هیچ گونه دخالتی در طراحی الگوریتم ندارند.
در سال 2000 رایندال (Rijndael) به عنوان برنده اعلام شد
استاندارد رمزگذاری پیشرفته AES
فینالیست های مسابقه AES
MARS
RC6
Rijndael
Serpent
Twofish
مقاله زیر اطلاعات بیشتر درباره مقایسه فینالیست ها ارائه می دهد:
A Performance Comparison of the Five AES Finalists
B. Schneier and D. Whiting
منتخب!
مشخصات استاندارد رمزگذاری پیشرفته AES
طول کلید 128، 192 و یا 256 بیت
طول قطعههای ورودی و خروجی : 128، 192 و یا 256 بیت
تعداد دورها: بسته به طول کلید و طول قطعه،
برای 128 بیت: 9 دور
نحوه کار AES-128
الگوریتم زمان بندی کلید نقش تهیه کلید برای هر دور بر اساس کلید اصلی را بر عهده دارد.
متن واضح 128 بیتی به شکل یک ماتریس حالت 4×4 در می آید.
هر درایه یک بایت از متن واضح را نشان می دهد
این ماتریس در انتها مولد متن رمز است.
نحوه کار AES-128
در هر دور 4 عمل بر روی ماتریس حالت اعمال میشود.
جایگزینی بایتها : جایگزینی درایه های ماتریس حالت با استفاده از یک s-box
جابجایی سطری
ترکیب ستونها: ترکیب خطی ستونها با استفاده از ضرب ماتریسی
اضافه نمودن کلید دور: جمع مبنای دو ماتریس حالت با کلید دور
s-box
تابع غیر خطی
توسط یک جدول پیاده سازی میشود.
وجود مصالحه بین کارآیی و امنیت :
جدول بزرگ: الگوریتم قویتر
جدول کوچک: پیاده سازی ساده تر
ورودی تابع سطر و ستون درایه جدول را معین کرده و مقدار ذخیره شده در این درایه خروجی تابع است.
امنیت AES
کماکان در حال بررسی
از لحاظ مقایسه با DES:
فرض کنید ماشینی وجود دارد که کلید DES را از طریق آزمون جامع در یک ثانیه باز یابی میکند، یعنی در هر ثانیه 255 کلید را امتحان میکند. این ماشین کلید AES را در 149×1012 سال بازیابی مینماید.
مراجع مطالعه AES
برای اطلاعات بیشتر به آدرسهای زیر رجوع کنید:
http://www.nist.gov/aes
http://www.esat.kuleuven.ac.be/~rijmen/rijndael/
استفاده از رمزهای قطعه ایی
رمزهای قطعه ایی به طور مستقل امنیت زیادی را به ارمغان نمی آورند.
رمزهای قطعه ایی به عنوان اجزای سازنده الگوریتمهای رمزنگاری استفاده میشوند.
محرمانگی:
مدهای کاری
احراز هویت :
کدهای احراز تمامیت پیام
استفاده از رمزهای قطعه ایی-2
فرض کنیم یک رمز قطعه ای امن داریم. چگونه از آن برای رسیدن به اهداف خود بهره جوییم؟
مساله اساسی: در برخی موارد علی رغم بهره برداری از عناصر مرغوب، کیفیت نهایی دلخواه نیست.
مثال:
ساختمان ضعیف با وجود استفاده از مصالح قوی
پوشاک نامرغوب با وجود استفاده از پارچه های مرغوب
غذای نا مناسب با وجود استفاده از مواد اولیه با کیفیت
وضعیت ایده آل
ساختار الگوریتم رمز نگاری متقارن(مد کاری) به گونه ای باشد که قابلیت های عناصر سازنده خود (رمزهای قطعه ای) را به ارث ببرد.
مدهای کاری رمزهای قطعه ای
برخی مدهای کاری:
ECB: Electronic Code Book
CBC: Cipher Block Chaining
CTR: Counter Mode
CFB: Cipher Feed Back
OFB: Output Feed Back
مدهای کاری را می توان با AES، DES، CAST-128 … پیاده سازی کرد.
مد کاری ECB
رمز نگاری:
رمز گشایی:
بررسی مد کاری ECB
اشکال اساسی: هر متن واضح به ازاء کلید ثابت همیشه به یک متن رمز شده نگاشته میشود.
دشمن میتواند دریابد که پیامهای یکسان ارسال شده اند.
این مد امن محسوب نمیشود حتی اگر از یک رمز قطعه ایی قوی استفاده کنیم.
ECB مثالی از مواردی است که علی رغم بهره برداری از عناصر مرغوب، کیفیت نهایی دلخواه نیست.
مد کاری CBC-1
این مد از یک مقدار دهی اولیه تصادفی،IV، بهره میگیرد.
مقدار IV در هر بار رمز نگاری به صورت تصادفی تغییر میکند.
IV همراه با متن رمز شده به صورت واضح ارسال میشود.
هر متن واضح به ازاء کلید ثابت هر بار به یک متن رمز شده متفاوت نگاشته میشود (زیرا مقدار IV تغییر مینماید).
مد کاری CBC-2
IV
CN-1
…
CN-1
رمز نگاری:
رمز گشایی:
IV
بررسی مد کاری CBC
ملزومات امنیتی:
IV باید کاملاً غیر قابل پیش بینی باشد (برای تضمین عدم تشابه متن رمز پیام های یکسان)
رمزنگاری:
عملیات رمزنگاری قابل موازی سازی نیست.
مقدار IV و متن واضح باید در دسترس باشند.
رمزگشایی:
عملیات رمزگشایی قابل موازی سازی است.
مقدار IV و متن رمزشده باید در دسترس باشند.
طول پیام:
در برخی موارد ممکن است وادار به افزایش طول پیام بشویم.
طول پیام باید مضربی از طول قطعه باشد.
پیاده سازی:
رمز گشایی و رمز نگاری، هر دو باید پیاده سازی شوند.
مد کاری CTR
رمز نگاری
رمزگشایی
E
Pi
Ci
K
+
(n)
(n)
(n)
counter + i
(n)
E
Ci
Pi
K
+
(n)
(n)
(n)
counter + i
(n)
بررسی مد کاری CTR
ملزومات امنیتی:
مقادیر شمارنده، در بازه طول عمر کلید، باید مجزا باشند.
رمزنگاری:
عملیات رمزنگاری قابل موازی سازی است.
برای عملیات رمزنگاری نیازی به متن واضح نیست.
مقادیر شمارنده برای عملیات رمزنگاری مورد نیاز است.
رمزگشایی:
عملیات رمزگشایی قابل موازی سازی است.
برای عملیات رمزگشایی نیازی به متن رمز شده نیست.
مقادیر شمارنده برای عملیات رمزنگاری مورد نیاز است.
طول پیام:
هیچ گاه نیازی به افزایش طول پیام نداریم.
متن رمز شده میتواند هم طول با پیام کوتاه شود.
پیاده سازی:
تنها رمز نگاری باید پیاده سازی شود.
مد کاری CFB
رمز نگاری
رمزگشایی
E
Pi
Ci
K
+
shift register (n)
(n)
select s bits
(n)
(s)
(s)
(s)
(s)
initialized with IV
E
Ci
Pi
K
+
shift register (n)
(n)
select s bits
(n)
(s)
(s)
(s)
(s)
initialized with IV
مد کاری OFB
رمز نگاری
رمزگشایی
E
Pi
Ci
K
+
shift register (n)
(n)
select s bits
(n)
(s)
(s)
(s)
(s)
initialized with IV
E
Ci
Pi
K
+
shift register (n)
(n)
select s bits
(n)
(s)
(s)
(s)
(s)
initialized with IV
پیوست
DES
استاندارد رمزگذاری داده DES
قطعه 64 بیتی متن واضح
قطعه 64 بیتی متن رمزشده
دور1
دور2
دور15
دور16
زیر کلید دور
تولید زیر کلیدهای 48 بیتی از کلید اصلی 56 بیتی برای هر دور
کلید 56 بیتی
One Feistel round
Li (32 bit)
Ri (32 bit)
f
Ki (48 bit)
Li+1
Ri+1
توسط زمانبندی کلید تولید میشود.
“round key”
“round function”
ساختارFeistel رمز DES
تابع دور DES
expansion
32
48
6 to 4
S-box
کلید دور Ki
48
6 to 4
S-box
6 to 4
S-box
6 to 4
S-box
6 to 4
S-box
6 to 4
S-box
6 to 4
S-box
6 to 4
S-box
32
permutation
تابع دور DES
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
S1
S2
S3
S4
S5
S6
S7
S8
P
Key-schedule
Ci-1 (28 bit)
Di-1 (28 bit)
Ci (28 bit)
Di (28 bit)
شیفت به چپ
PC2
Ki
48
bits
Permuted
choice
زمانبندی کلید
Permuted Choice 1
…
(28)
(56)
K
(28)
(28)
(28)
(48)
(48)
K1
K2
هر بیت کلید حدوداً در 14 دور از 16 دور استفاده میشود.
بررسی s-boxدر DES
تنها بخش غیرخطی از الگوریتم DES هستند
غیرقابل برگشت می باشند
اصول طراحی آنها سری است
استفاده از 8 S-Box که هریک 6 بیت ورودی را به 4 بیت خروجی تبدیل می کنند.
بیتهای 1 و 6 : انتخاب یکی از 4 سطر ماتریس
بیتهای 2 تا 5 : انتخاب یکی از 16 ستون ماتریس
برگرداندن عدد موجود در آن خانه از ماتریس به عنوان خروجی
در مجموع 48 بیت ورودی از 8 S-Box مختلف عبور می کنند و 32 بیت برمی گردانند
یک S-Box از DES
میزان توانمندی DES
اندازه کلید
56 بیت دارای کل فضای حالت 256 = 7.2 * 1016
حمله آزمون جامع هرچند مشکل, ولی امکانپذیر است
آخرین گزارش ثبت شده در سال 1999 نشان از کشف کلید تنها در عرض 22 ساعت داده اند!
حمله زمانی
پیاده سازی DES را مورد هدف قرار می دهند
الگوریتم برای ورودی های مختلف در زمانهای متفاوت پاسخ می دهد
بیشتر در کارتهای هوشمند مشکل زا می شوند
حمله تحلیلی به DES
عموما حملات آماری هستند
از ساختار داخلی DES استفاده می کنند
تشخیص همه یا بعضی از بیتهای کلید میانی
جستجوی کامل روی بقیه بیتها
شاملِ
تحلیل تفاضلی
تحلیل خطی
تحلیل تفاضلی و خطی DES
تحلیل تفاضلی
ارائه شده توسط Murphy و دیگران در سال 1990
مبتنی بر اینکه تغییرات ورودی چگونه به تغییرات در خروجی منتقل می شوند
نیاز به 247 زوج plaintext/ciphertext انتخابی دارد
تحلیل خطی
ارائه شده توسط Matsui در سال 1991
مبتنی بر یافتن یک تقریب خطی از تبدیلات انجام شده توسط DES
نیاز به 247 زوج plaintext/ciphertext انتخابی دارد
این روشها در واقع آماری محسوب می شوند.
پیوست
3DES,IDEA,Blowfish, RC5, CAST-128
3DES
مسئله :
آسیب پذیری DES در مقابل حمله آزمون جامع
راه حل :
استفاده از الگوریتم های رمزنگاری دیگر
پیچیده کردن الگوریتم DES از طریق اضافه کردن مراحل رمزنگاری و افزایش طول کلید
3DES
استفاده از الگوریتم 3DES
از دو مرحله رمزنگاری و یک مرحله رمزگشایی با سه کلید مجزا استفاده می شود
فضای کلید به 168 بیت گسترش می یابد
در صورت استفاده از یک کلید یکسان،3DES با DES مطابقت می کند
نسبت به الگوریتمهای دیگر مانند Blowfish و RC5 سرعت کمتری دارد
تا کنون حمله ای علیه آن گزارش نشده است
3DES
حمله ملاقات در میانه علیه 2DES
تحلیلگر یک زوج (M,C) را می داند بطوریکه : C=Ek1,k2[M]
با این فرض داریم : Dk1[C]=Ek2[M]
با آزمایش همه کلیدها و انجام رمزگذاری و رمزگشایی به دو جدول می رسیم
عناصر جدولها را برای رسیدن به یک انطباق جستجو می کنیم
در مرحله اول حداکثر 248 کلید می تواند منجر به انطباق شود
با تکرار مراحل، احتمال انطباق بشدت کاهش می یابد
انجام عملیات فوق از O(256) می باشد
نتیجه :
DES دو مرحله ای در مقابل حمله آزمون جامع از DES یک مرحله ای مقاومتر نیست
IDEA
ابداع شده توسط Messay و Lai در سال 1990
سرعت بیشتر نسبت به DES(در پیاده سازی نرم افزاری)
ویژگیها
طول کلید : 128 بیت
طول بلاک : 64 بیت
تعداد دورها : 8 دور
انجام عملیات روی عملوندهای 16 بیتی
تحلیل IDEA
تا کنون هیچ حمله عملی علیه IDEA شناخته نشده است
به نظر می رسد تا مدتها نسبت به حملات امن باشد
طول کلید 128 بیتی حمله آزمون جامع را غیرممکن می کند(حداقل با تکنولوژیهای موجود)
Blowfish
طراحی شده توسط Schneier در سال 94/1993
وجود پیاده سازی های پرسرعت روی پردازنده های 32بیتی
فشردگی: نیاز به کمتر از 5k حافظه
پیاده سازی آسان
تحلیل الگوریتم آسان
طول کلید متغیر: درجه امنیت قابل تغییر است.
ویژگیهای Blowfish
طول بلاک : 64 بیت
تعداد دورها : 16 دور
طول کلید متغیر : 32 تا 448 بیت
تولید زیرکلید و S-Box های وابسته به کلید
18 زیرکلید 32 بیتی که در آرایه P ذخیره می شوند
4 S-Box با اندازه 8*32 که در آرایه S ذخیره می شوند
بازتولید کند زیرکلید ها : تولید زیرکلیدها به 521 مرحله رمزنگاری احتیاج دارد
RC5
انطباق با نرم افزارها و سخت افزارهای مختلف
سرعت اجرای زیاد : عملیات روی کلمه ها انجام می شوند
انطباق با پردازنده های با تعداد بیتهای متفاوت
طول بلاک متغیر
طول کلید متغیر
تعداد دورهای متغیر
نیاز به حافظه کم
طراحی و تحلیل الگوریتم ساده
تعداد دورهای وابسته به داده : تحلیل رمز را مشکل می کند
CAST-128
ابداع شده توسط Adams و Tavares در سال 1997
طول کلید متغیر: از 40 تا 128 بیت(افزایش 8 بیتی)
تعداد دور : 16 دور
مشابه ساختار کلاسیک Feistel می باشد با دو تفاوت زیر:
در هر دور از دو زیرکلید استفاده می کند
تابع F به دور بستگی دارد
در حال استفاده در PGP (امن سازی سرویس ایمیل)
مقایسه سرعت الگوریتمها
پیوست
امنیت قابل اثبات
رمزهای قطعه ای و امنیت قابل اثبات
ایده اساسی: اثبات کنیم هر حمله موفق به الگوریتم منجر به حمله ای موفق به عناصر سازنده آن میشود.
مثال: اثبات کنیم اگر دشمنی رمز نگار متقارن مفروضی را شکست، آن دشمن لزوماً قادر به شکستن رمزقطعه ای استفاده شده در رمزنگاری نیز میباشد.
بنابر این: اگر از رمزقطعه ای مطمئن باشیم، خواهیم دانست که الگوریتم رمزنگاری نیز امن می باشد.
این ایده اساسی امنیت قابل اثبات میباشد.
Reduction
Reduction of primitive to a protocol:
If A is an adversary that breaks the scheme, A can be used to break the primitive.
So if we believe there is no such B to break the Primitive there can’t be such an A: Security!
A: Attacking protocol
B: Attacking primitive