هناك جملتان تقولان هذا:
1) تعتبر الخوارزميات وهياكل البيانات جزءًا مهمًا من البرمجة.
2) البرمجة هي الخوارزميات وهياكل البيانات ، والخوارزميات وهياكل البيانات هي روح البرمجة.
لاحظ أن هذا ليس ما قلته ، فقد تم تلخيصه من قبل المبرمجين. ويشمل ثلاث خوارزميات تشفير متماثلة: DES ، 3DES و AES ، وهي مليئة بالمعلومات العملية.
1. خوارزمية كلمة المرور المتماثلة
خوارزمية التشفير المتماثلة هي خوارزمية التشفير الأكثر استخدامًا والأكثر استخدامًا اليوم. لا يتم استخدامه فقط في صناعة البرمجيات ، ولكنه شائع أيضًا في صناعة الأجهزة. ستعطي جميع أنواع البنى التحتية الأولوية لخوارزميات التشفير المتماثلة كلما كانت تتضمن احتياجات أمنية.
مفتاح التشفير ومفتاح فك التشفير المتماثل هو نفسه.
(1) تشفير وفك تشفير نموذج الاتصال
(2) الميزات: خوارزمية مفتوحة ، حجم حساب صغير ، سرعة التشفير السريع ، كفاءة تشفير عالية
(3) الضعف: يستخدم الطرفان نفس المفتاح ، ولا يضمن الأمن
هناك نوعان من كلمات المرور المتماثلة: دفق كلمة المرور وكلمة مرور الحزمة ، ولكن الآن يتم استخدام كلمة مرور الكتلة بشكل شائع:
(4) حظر وضع عمل كلمة المرور
1) ECB: Cipherbook الإلكتروني (الأكثر شيوعًا ، كل تشفير يولد حزم نص مشفرة مستقلة ولن يؤثر على حزم النص المشفر الأخرى ، أي أن نفس النص العادي يتم إنشاءه بعد التشفير)
2) CBC: رابط النص المشفر (شائع الاستخدام. قبل تشفير النص العادي ، تحتاج إلى إجراء عملية XOR مع النص المشفر السابق ، أي يتم إنشاء أنواع مختلفة من التشفير بعد تشفير النص العادي نفسه)
بالإضافة إلى هذين أوضاع العمل شائعة الاستخدام ، هناك:
3) CFB: ملاحظات كلمة المرور
4) OFB: ردود الفعل الإخراج
5) CTR: عداد
يتم تطبيق أوضاع العمل الخمسة هذه بشكل أساسي بواسطة الخوارزميات في التشفير عند إجراء حسابات الاشتقاق.
6. كيفية ملء كلمات المرور كتلة
1) nopadding: لا ملء
2) PKCS5Padding:
3) ISO10126Padding:
7. كلمات مرور متماثلة شائعة الاستخدام:
1) DES (معيار تشفير البيانات ، معيار تشفير البيانات)
2) 3DES (Triple des ، Desede ، Triple DES Encryption خوارزمية)
3) AES (معيار التشفير المتقدم ، معيار تشفير البيانات المتقدم ، يمكن لخوارزمية AES مقاومة خوارزميات الهجوم بشكل فعال ضد DES)
دعنا أولاً نلقي نظرة على مقارنة بسيطة لهذه الخوارزميات الثلاث:
| خوارزمية | طول المفتاح | طول المفتاح الافتراضي | وضع العمل | طريقة ملء |
|---|---|---|---|---|
| des | 56 | 56 | ECB ، CBC ، PCBC ، CTR ، CTS ، CFB ، CFB8-CFB128 ، OFB ، OFB8-OFB128 | Nopadding ، PKCS5Padding ، ISO10126Padding |
| 3des | 112 ، 168 | 168 | ECB ، CBC ، PCBC ، CTR ، CTS ، CFB ، CFB8-CFB128 ، OFB ، OFB8-OFB128 | Nopadding ، PKCS5Padding ، ISO10126Padding |
| AES | 128 ، 192 ، 256 | 128 | ECB ، CBC ، PCBC ، CTR ، CTS ، CFB ، CFB8-CFB128 ، OFB ، OFB8-OFB128 | Nopadding ، PKCS5Padding ، ISO10126Padding |
دعونا نرى كيفية استخدام ثلاث خوارزميات من DES/3DES/AES لتنفيذ التشفير المتماثل:
2. des خوارزمية
1.des: معيار تشفير البيانات ، خوارزمية نموذجية في مجال خوارزميات التشفير المتماثل
2. الميزات: المفتاح قصير (56 بت) ، دورة حياة قصيرة (تجنب التكسير)
3. تنفيذ جافا
1) توليد مفتاح
keygenerator keygen = keygenerator.getInstance ("des") ؛ // مفتاح مولد keygen.init (56)2) التشفير
SecretKey SecretKey = New SecretKeySpec (مفتاح ، "des") البيانات
3) فك التشفير
SecretKey SecretKey = New SecretKeySpec (مفتاح ، "des") بيانات S.
يمكننا أن نجد أننا وضعنا فقط أوضاع مختلفة للتشفير وفك التشفير.
3.3des خوارزمية
1.3des: قم بزيادة طول المفتاح إلى 112 أو 168 بت ، وتحسين الأمان عن طريق زيادة عدد التكرارات.
2. العيوب: سرعة المعالجة البطيئة ، وقت حساب المفتاح الطويل ، وكفاءة تشفير منخفضة
3. تنفيذ جافا
1) توليد مفتاح
keygenerator keygen = keygenerator.getInstance ("desede") ؛ // مفتاح مولد keygen.init (168) ؛2) تشفير 3DES
SecretKey SecretKey = New SecretKeySpec (مفتاح ، "DESEDE") ؛ // استرداد الشفرات المشفرة = cipher.getinstance ("desede") ؛ بيانات Rypts3) 3des فك التشفير
SecretKey SecretKey = New SecretKeySpec (مفتاح ، "DESEDE") ؛ // استرداد الشفرات المشفرة = cipher.getinstance ("desede") ؛ فك تشفير البيانات4. خوارزمية AES (موصى بها)
1.AES: معيار تشفير البيانات المتقدم ، قادر على مقاومة جميع الهجمات المعروفة بشكل فعال ضد خوارزميات DES
2. الميزات: وقت إنشاء مفتاح قصير ، حساسية جيدة ، متطلبات ذاكرة منخفضة ، وأمان عالي
3. تنفيذ جافا
1) توليد مفتاح
keygenerator keygen = keygenerator.getInstance ("aes") ؛ // مفتاح مولد keygen.init (128) ؛2) تشفير AES
SecretKey SecretKey = New SecretKeySpec (مفتاح ، "AES") ؛ بيانات Rypts
3) AES Decryption
SecretKey SecretKey = New SecretKeySpec (مفتاح ، "AES") فك تشفير البيانات
لراحة الاستخدام ، لدي فصول أدوات مكتوبة لخوارزميات DES/3DES/AES ، العنوان: عنوان تنزيل (فئة أدوات DES/3DES/AES جديدة).
في هذه المرحلة ، يتم إجراء جميع خوارزميات DES/3DES/AES لتنفيذ التشفير المتماثل. آمل أن يكون ذلك مفيدًا لتعلم الجميع ، وآمل أن يدعم الجميع wulin.com أكثر.