Transcript K i
مروري برالگوريتمهاي رمز متقارن(كليد پنهان)
علی فانیان
[email protected]
فهرست مطالب
• معماري اليه اي امنيت
• اصول الگوريتمهاي رمزنگاري
• انواع الگوريتمهاي رمز متقارن(كليد پنهان)
• الگوريتمهاي رمزنگاري قالبي
• نحوه هاي بکارگيري رمزهاي قطعه اي
فهرست مطالب
• معماري اليه اي امنيت
• اصول الگوريتمهاي رمزنگاري
• انواع الگوريتمهاي رمز متقارن(كليد پنهان)
• الگوريتمهاي رمزنگاري قالبي
• نحوه هاي بکارگيري رمزهاي قطعه اي
معماري اليه اي امنيت
كاربرد امنيتي
پروتكل امنيتي
الگوريتم ها
فهرست مطالب
• معماري اليه اي امنيت
• اصول الگوريتمهاي رمزنگاري
• انواع الگوريتمهاي رمز متقارن(كليد پنهان)
• الگوريتمهاي رمزنگاري قالبي
• نحوه هاي بکارگيري رمزهاي قطعه اي
Terminology
plaintext, cleartext: an “unhidden message”
encrypt: transform a message to hide its meaning
ciphertext: encrypted message
cipher: cryptographic algorithm
decrypt: recover meaning from encrypted message
cryptography: art/science of keeping message secure
cryptanalysis: art/science of breaking ciphertext
cryptology: study of both cryptography and cryptanalysis
Encryption and Decryption
plaintext, cleartext
ciphertext
Encryption
Method
Decryption
Method
ciphertext
plaintext, cleartext
Common Mathematical Symbols
P plaintext (here is a binary value)
C ciphertext (also binary)
E encryption function
D decryption function
E(P) = C
encrypting plaintext yields ciphertext
D(C) = P
decrypting ciphertext yields plaintext
D(E(P)) = P decrypting encrypted
plaintext yields plaintext
Restricted Algorithm
The security of a restricted algorithm requires
keeping the algorithm secret!
Simple Restricted Algorithm
Encryption algorithm
Multiply the plaintext by 2
Decryption algorithm
Divide the ciphertext by 2
plaintext = SECRET = 19 5 3 18 5 20
Ciphertext = 38 10 6 35 10 40
Key-Based Algorithm
The security of key-based algorithms is
based on the secrecy of the algorithm, the
key(s), or both
Simple Key-Based Algorithm
Encryption algorithm
Multiply the plaintext by 2 and add key
Decryption algorithm
Subtract the key and divide the ciphertext by 2
plaintext = SECRET = 19 5 3 18 5 20
Key = 3
Ciphertext = 41 13 9 39 13 43
Secret (Symmetric) Key Algorithms
Decryption key = encryption key
Key agreed in advance between parties
Key kept secret
Like a locked room
Need the key to lock up document
Need the key to unlock room and get document
Public (Asymmetric) Key Algorithms
Encryption and decryption keys are different
Encryption key is public (usually)
Decryption key is private
One key locks, the other unlocks
Symmetric Key Algorithms
Exchanging Messages with
Symmetric Cryptography
Alice
Agree on cryptosystem
plaintext
Agree on key
Bob
key
cipher text
CS
key
CS
plaintext
Crypto-Attacks
Adversary goal to break cryptosystem
Assume adversary knows algorithm, but not key
two general approaches to attacking a
conventional encryption scheme
Cryptanalysis : rely on the nature of the
algorithm plus perhaps some knowledge of the
general characteristics of the plaintext or even
some sample plaintext–ciphertext pairs
Brute-force attack : The attacker tries every
possible key on a piece of ciphertext until an
intelligible translation into plaintext is obtained
Crypto-Attacks
3 types of attacks:
• ciphertext only:
adversary has ciphertext; goal to find plaintext and key
• known plaintext:
adversary has ciphertext, corresponding plaintext; goal to find key
• Chosen Text
• Plaintext message chosen by cryptanalyst, together with its
corresponding ciphertext generated with the secret key
• Ciphertext chosen by cryptanalyst, together with its corresponding
decrypted plaintext generated with the secret key
Crypto-Attacks
Two definitions are worthy of note.
unconditionally secure
no matter how much ciphertext is available
no matter how much time an opponent has
it is impossible for opponent to decrypt the
ciphertext
there is no encryption algorithm that is
unconditionally secure exception of a scheme
known as the one-time pad
computationally secure
The cost of breaking the cipher exceeds the
value of the encrypted information.
The time required to break the cipher exceeds
the useful lifetime of the information.
Crypto-Attacks
فهرست مطالب
• معماري اليه اي امنيت
• اصول الگوريتمهاي رمزنگاري
• انواع الگوريتمهاي رمز متقارن(كليد پنهان)
• الگوريتمهاي رمزنگاري قالبي
• نحوه هاي بکارگيري رمزهاي قطعه اي
انواع الگوريتمهاي رمز متقارن
الگوريتمهاي رمز متقارن بر دو دسته اند:
• رمزهاي قالبي يا قطعه اي )(Block Cipher
– پردازش پيغام ها بصورت قطعه به قطعه
– اندازه متعارف قطعات 128 ،64يا 256بيت
• رمزهاي پي در پي يا دنباله اي )(Stream Cipher
– پردازش پيغام ها بصورت پيوسته (بدون تقطيع)
رمز قطعه اي
متن واضح (تقسيم شده به قطعات)
K
K
K
K
قطعات خروجي
K
K
K
رمز دنباله اي
مولد دنباله
شبه تصادفي
Ci
+
(الف)
مولد دنباله
شبه تصادفي
K
Pi
Pi
+
(ب )
K
Ci
تابع رمزنگاري کامل()One-Time Pad
•
ايده :براي رمزکردن يک داده به طول nکليدي به طول nهزينه کنيم.
Ki
Ci
•
يعني داشتن هر تعداد متن نمونه رمزشده کمکي به تحليلگر نمي کند.
•
امنيت اين روش به تصادفي بودن کليد بستگي دارد.
–
در صورت تصادفي بودن کليد امنيت الگوريتم غير قابل شكست است.
+
Pi
رمز دنباله اي
:چند الگوريتم نمونه
-Physical processes
-LSFR ( Linear Feedback Shift Register )
-BBS( Blum-Blum-Shub)
Linear Feedback Shift Register
Linear shift feedback register with 4 bit register
فهرست مطالب
• معماري اليه اي امنيت
• اصول الگوريتمهاي رمزنگاري
• انواع الگوريتمهاي رمز متقارن(كليد پنهان)
• الگوريتمهاي رمزنگاري قالبي
• نحوه هاي بکارگيري رمزهاي قطعه اي
اصول رمزهاي قطعه اي
• نگاشت قطعات متن واضح به قطعات متن رمزشده بايد
برگشت پذير (يك به يك) باشد.
• الگوريتم قطعات ورودي را در چند مرحله ساده و متوالي
پردازش ميکند .به اين مراحل دور ميگوييم.
ً
• هر دور عموما مبتني بر تركيب اعمال ساده ايي همچون
جايگزيني و جايگشت استوار است.
دو بلوک پايه براي عمليات رمز گذاري
• جانشيني Substitution
• جایگيزینی یک سمبل با سمبل دیگر
• ممکن است هم طول نباشند
• جابگشت Permutation
• ترتيب قرار گرفتن حروف در متن اصلي جابجا ميشود
استانداردهاي رمزهاي قطعه اي آمريکا :
• رمزهاي قطعه اي استاندارد
– استاندارد رمزگذاري داده DES
– استاندارد رمزگذاري پيشرفته AES
• تحت نظارت
)National Institute of Science and Technology (NIST
استاندارد رمزگذاري داده DES
•
مرور
–
–
–
–
–
در سال 1974توسط IBMتوليد شد
• پس از انجام تغييراتي توسط National Security ( NSA
، )Agencyدر سال NIST 1976آن را پذيرفت.
اساس الگوريتم تركيبي از عمليات جانشيني و جايگشتي ميباشد.
مشخصات:
• طول كليد 56بيت
• طول قالبهاي ورودي و خروجي 64 :بيت
• تعداد دورها 16 :دور
الگوريتمهاي رمزگذاري و رمزگشايي عمومي هستند ,ولي مباني رياض ي و اصول
طراحي آنها فاش نشد.
در گذشته بسيار پر استفاده بود و هنوز هم از رده خارج نشده است.
استاندارد رمزگذاري دادهDES
Initial and final permutation steps in DES
DES uses 16 rounds.
A round in DES
(encryption site)
DES Function
The heart of DES is the DES function. The DES function
applies a 48-bit key to the rightmost 32 bits to produce a
32-bit output.
DES function
Expansion P-box
Since RI−1 is a 32-bit input and KI is a 48-bit key, we first
need to expand RI−1 to 48 bits.
Expansion permutation
S-Boxes
The S-boxes do the real mixing (confusion). DES uses 8
S-boxes, each with a 6-bit input and a 4-bit output.
S-boxes
S-box rule
DES cipher and reverse cipher for the first approach
DESبايد از رده خارج شود
• در ژانويه 1999اين الگوريتم توسط حمله جستجوي جامع
فضاي کليد در 23ساعت شکسته شد!
– بيش از 1000کامپيوتر بر روي اينترنت هر يک بخش کوچکي از کار
جستجو را انجام دادند.
• به الگوريتمهاي امن تر با طول کليد باالتر نياز داريم.
• DESطراحي شفاف و روشن ندارد.
2DES and 3DES
• مسئله :
– آسيب پذيري DESدر مقابل حمله آزمون جستجوي كامل
• راه حل :
– استفاده از الگوريتم هاي رمزنگاري ديگر
– پيچيده كردن الگوريتم DESاز طريق اضافه كردن مراحل رمزنگاري و
افزايش طول كليد
2DES
A pair of semi-weak keys in encryption and decryption
Meet-in-the-Middle Attack
However, using a known-plaintext attack called meet-inthe-middle attack proves that double DES improves this
vulnerability slightly (to 257 tests), but not tremendously
(to 2112).
Continued
Tables for meet-in-the-middle attack
6.45
3DES
• استفاده از الگوريتم 3DES
– از دو مرحله رمزنگاري و يك مرحله رمزگشايي با سه كليد مجزا استفاده مي
شود
– فضاي كليد به 168بيت گسترش مي يابد
– در صورت استفاده از يك كليد يكسان 3DES،با DESمطابقت مي كند
– نسبت به الگوريتمهاي ديگر مانند Blowfishو RC5سرعت كمتري
دارد
– تا كنون حمله اي عليه آن گزارش نشده است
Triple DES with two keys
استاندارد رمزگذاري پيشرفته 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
فهرست مطالب
• معماري اليه اي امنيت
• اصول الگوريتمهاي رمزنگاري
• انواع الگوريتمهاي رمز متقارن(كليد پنهان)
• الگوريتمهاي رمزنگاري قالبي
• نحوه هاي بکارگيري رمزهاي قطعه اي
نحوه هاي بکارگيري رمزهاي قطعه اي
• ECB: Electronic Code Book
• CBC: Cipher Block Chaining
• CFB: Cipher Feed Back
• OFB: Output Feed Back
• CTR: CounTeR mode
نحوه بكارگيري ECB
• رمز نگاري:
PN
E
P2
K
CN
• رمز گشايي:
PN
K
C2
CN
D
E
P1
C1
C2
K
D
P2
E
K
C1
K
D
K
P1
• اشکال اساس ي :هر متن واضح به ازاء کليد ثابت هميشه به يک متن رمز
شده نگاشته ميشود.
– دشمن ميتواند دريابد که پيامهاي يکسان ارسال شده اند.
CBC نحوه بكارگيري
P1
P2
P3
IV
+
+
+
K
E
K
C1
E
K
C2
E
:• رمز نگاري
PN
…
CN-1
+
K
E
C3
CN-1
:• رمز گشايي
C1
K
IV
D
C2
K
D
C3
K
CN
D
K
D
CN-1
+
+
+
+
P1
P2
P3
PN
مد کاري CBC
• اين مد از يك مقدار دهي اوليه تصادفي )(IVبهره مي گيرد
• مقدار IVدر هر بار رمزگذاري به صورت تصادفي تغيير مي كند
• بهتر است IVنيز رمز شده ارسال گردد
• هر متن آشكار به ازاء كليد ثابت هر بار به يك متن رمز شده
متفاوت نگاشته مي شود
نحوه بكارگيري CBC
•
ملزومات امنيتي:
–
•
رمزنگاري:
–
–
•
عمليات رمزنگاري قابل موازي سازي نيست.
مقدار IVو متن واضح بايد در دسترس باشند.
رمزگشايي:
–
–
•
ً
IVبايد کامال غير قابل پيش بيني و غير قابل دستكاري باشد
عمليات رمزگشايي قابل موازي سازي است.
مقدار IVو متن رمزشده بايد در دسترس باشند.
طول پيام:
–
در برخي موارد ممکن است وادار به افزايش طول پيام بشويم.
•
•
طول پيام بايد مضربي از طول قطعه باشد.
پياده سازي:
–
رمز گشايي و رمز نگاري ،هر دو بايد پياده سازي شوند.
CFB نحوه بكارگيري
• رمز نگاري
• رمزگشايي
initialized with IV
initialized with IV
(s)
(s)
shift register (n)
shift register (n)
(n)
(n)
E
K
E
K
(n)
(n)
select s bits
select s bits
(s)
(s)
Pi
(s)
+
(s)
Ci
Ci
(s)
+
(s)
Pi
OFB نحوه بكارگيري
• رمز نگاري
• رمزگشايي
initialized with IV
initialized with IV
(s)
shift register (n)
(n)
(n)
E
K
E
K
(n)
(n)
select s bits
select s bits
(s)
(s)
Pi
(s)
+
(s)
shift register (n)
(s)
Ci
Ci
(s)
+
(s)
Pi
مقايسه CFBو OFB
• موارد استفاده CFBو OFB
– رمز جرياني
– کاربردهاي بالدرنگ
• عيب : CFBانتشار خطاي انتقال
– OFBاين عيب را برطرف مي کند
CTR نحوه بكارگيري
• رمز نگاري
• رمزگشايي
counter + i
counter + i
(n)
K
(n)
E
K
(n)
Pi
(n)
+
E
(n)
(n)
Ci
Ci
(n)
+
(n)
Pi
مقايسه کاربرد انواع مدهاي کاري
لغت نامه
Meet-in-the-Middle
attack
Round
Symmetric Encryption
Scheme
Stream Cipher
Block Cipher
Authentication
حمله مالقات در ميانه
دور
Brute Force
(رمزهاي قالبي(قطعه اي
جستجوي كامل
AES
استاندارد رمزگذاري پيشرفته
DES
استاندارد رمزگذاري داده
رمزنگاري متقارن
)رمزهاي پي درپي(دنباله اي
احراز اصالت
Padding
افزايش طول پيام
Provable Security
امنيت قابل اثبات
Symmetric Cipher
رمزهاي متقارن
Differential
cryptanalysis
Key Schedule
زمان بندي کليد
linear cryptanalysis
تحليل تفاضلي
تحليل خطي
plaintext
متن واضح
Substitution
جانشيني
Confidentiality
محرمانگي
Permutation
جايگشت
parallelization
موازي سازي
MAC: Message
authentication code
NSA: National
Security Agency
کد احراز اصالت پيام
Timing Attack
حمله زماني