سؤال ضغط ثم تشفير ، أو العكس؟


أقوم بكتابة نظام VPN يقوم بتشفير (AES256) حركة المرور الخاصة به عبر الشبكة (لماذا أكتب الكتابة الخاصة بي عندما يكون هناك 1000،001 آخرين بالفعل هناك؟ حسناً ، خاصتي مهمة خاصة لمهمة محددة لا يناسبها أي من الآخرين).

أساسا أريد أن أدير تفكيري الماضي للتأكد من أنني أفعل هذا في الترتيب الصحيح.

في الوقت الحالي يتم تشفير الحزم فقط قبل إرسالها ، ولكن أريد إضافة مستوى معين من الضغط عليها لتحسين نقل البيانات قليلاً. ضغط غير ثقيل - لا أرغب في زيادة الحد الأقصى لوحدة المعالجة المركزية طوال الوقت ، ولكن أريد التأكد من أن الضغط سيكون فعالاً قدر الإمكان.

لذا ، أفكر ، يجب أن أضغط الحزم قبل تشفير باعتبارها حزمة غير مشفرة سوف ضغط أفضل من تشفير واحد؟ أو بالطريقة الاخرى؟

ربما سأستخدم zlib للضغط.

قراءة المزيد على مدونة Super User.


86
2018-03-15 09:37


الأصل


الكتابة باسم "البرمجة"؟ سيكون من الأنسب ل Stack Overflow بعد ذلك. - Suma
إذا كنت أسأل عن البرمجة ، نعم ، لكنني لست كذلك. هذا هو ضغط عام ثم تشفير أو تشفير ثم ضغط السؤال الذي يمكن أن ينطبق فقط على العمل مع الملفات العادية إذا أردت. الجانب البرمجة هو مجرد سياق لماذا أطلب السؤال. - Majenko
أنظر أيضا: stackoverflow.com/questions/4676095  stackoverflow.com/questions/4399812 - BlueRaja - Danny Pflughoeft
ربما كان أفضل سؤال يعني security.stackexchange.com - Jeff Ferland
انهم يعرفون عن الضغط هناك يفعلون؟ - Majenko


الأجوبة:


إذا تم التشفير بشكل صحيح ثم النتيجة هي بيانات عشوائية في الأساس. تعمل معظم أنظمة الضغط عن طريق البحث عن أنماط في بياناتك يمكن وضعها بطريقة ما في الحسبان ، وبفضل التشفير الآن لا يوجد أي منها. البيانات غير قابلة للضغط بالكامل.

ضغط قبل تشفير.


172
2018-03-15 10:41



أكثر أهمية: يضيف الانتروبيا. إضافة إنتروبيا أمر جيد للتشفير الخاص بك (أصعب لكسر الهجمات المعروفة بنص عادي). - Olli
كذلك ، فإن تشفير موارد التكاليف ، وتشفير ملف أصغر سيأخذ موارد أقل. حتى ضغط قبل التشفير. - GAThrawn
Olli - ليس بالضرورة إذا كان نظام الضغط يضيف نصًا معروفًا. في أسوأ الحالات تخيل ما إذا كان قد تم وضع رأس 512 بايت معروف على واجهة البيانات وكنت تستخدم تشفير وضع كتلة. - Martin Beckett
لست متأكدًا من السبب في أن تعبير @ Olli سيتعافى ، لأنه غير صحيح. ليس فقط هو بشكل كبير أقل مهم ، لأي تشفير نصف لائق يجب أن يكون ليس مهما على الإطلاق. بمعنى ، يجب أن تكون قوة التشفير غير مرتبطة تمامًا برؤية الرسالة. - BlueRaja - Danny Pflughoeft
إذا ضغطت على الإطلاق ، فلا يمكن فعله إلا قبل تشفير الرسالة ، ولكن ضع في اعتبارك أن هذا قد يؤدي إلى تسرب معلومات حول "إمكانية الانضغاط" للرسالة الأصلية ، لذا ستحتاج إلى التفكير في ما إذا كانت هناك أي عواقب على هذا الجانب قناة. ضع في اعتبارك ملف بحجم ثابت إما 0s أو رسالة. سيؤدي الملف all 0 إلى حمولة أصغر تحت أي نظام ضغط معقول. ليس من المحتمل وجود مشكلة في هذه الحالة استخدام معين على الرغم من. - Edward KMETT


ضغط قبل التشفير. يمكن أن تختلف البيانات المضغوطة اختلافًا كبيرًا عن التغييرات الصغيرة في بيانات المصدر ، مما يجعل من الصعب جدًا إجراء تحليل كمي تفاضلي.

أيضا ، كما يشير السيد ألفا ، إذا كنت تشفير أولا ، من الصعب جدا ضغط النتيجة.


21
2018-03-15 13:01



حسنًا ، هذا صحيح ، ولكن تم نشره قبل ساعتين من نشره ... غير قادر علي - Konerak


حتى لو كان ذلك يعتمد على حالة الاستخدام المحددة ، فأنا أنصح بتشفير Encrypt-then-Compress. وإلا فقد يتمكن المهاجم من تسريب معلومات من عدد الكتل المشفرة.

نفترض مستخدم يرسل رسالة إلى الخادم ومهاجم مع إمكانية إلحاق النص برسالة المستخدم قبل إرساله (عبر javascript على سبيل المثال). يريد المستخدم إرسال بعض البيانات المعقولة إلى الخادم ويريد المهاجم الحصول على هذه البيانات. حتى يتمكن من محاولة إلحاق رسائل مختلفة بالبيانات التي يرسلها المستخدم إلى الخادم. ثم يضغط المستخدم رسالته والنص المرفق من المهاجم. نفترض ضغط DEFLATE LZ77 ، لذا فإن الدالة تستبدل نفس المعلومات بمؤشر إلى المظهر الأول. حتى إذا كان المهاجم يمكن إعادة إنشاء نص عادي بتنسيق الثقوب ، تقلل وظيفة الضغط من حجم النص العادي إلى الحجم الأصلي والمؤشر. وبعد التشفير ، يمكن للمهاجم حساب عدد كتل التشفير ، حتى يتمكن من الرؤية ، إذا كانت بياناته الملحقة هي نفس البيانات التي أرسلها المستخدم إلى الخادم. حتى إذا كانت هذه الحالة مبنية قليلاً ، فهي مشكلة أمنية خطيرة في TLS. يتم استخدام هذه الفكرة بواسطة هجوم يُسمى CRIME لتسريب ملفات تعريف الارتباط في اتصال TLS لسرقة الجلسات.

مصدر: http://www.ekoparty.org/archive/2012/CRIME_ekoparty2012.pdf


3
2018-01-14 21:32





وجهة نظري أنه عندما تقوم بضغط رسالة تقوم بعرضها على بعد أقل ، وهناك عدد أقل من البتات ، مما يعني أن الرسالة المضغوطة (بافتراض الضغط بدون ضغط) لها نفس المعلومات في عدد أقل من البتات (تلك التي تخلصت منها كانت زائدة عن الحاجة! ) إذا كان لديك المزيد من المعلومات لكل بتة ، وبالتالي المزيد من الإنتروبيا لكل بتة ، ولكن نفس الإنتروبيا الكلية التي كانت لديك من قبل عندما لم يتم ضغط الرسالة. الآن ، العشوائية هي مسألة أخرى وهذا هو المكان الذي يمكن للأنماط في الضغط رمي وجع القرد.


2
2017-10-09 04:11





يجب أن يتم ضغط قبل التشفير. لا يريد المستخدم قضاء بعض الوقت في انتظار نقل البيانات ، لكنه يحتاج إلى القيام بها على الفور دون إضاعة أي وقت.


1
2018-03-16 08:39





ضغط قبل التشفير كما تمت الإشارة إليه مسبقًا. يبحث الضغط عن بنية يمكن ضغطها. تشفير التشفير البيانات لتجنب الهيكل يتم الكشف عنها. من خلال الضغط أولاً ، من المرجح أن يكون لديك ملف أصغر وبالتالي تقل حمولته لنقله. سوف يقوم التشفير بعمله بغض النظر عما إذا كان مضغوطًا أم لا ، ومرة ​​أخرى كما أشرنا سابقًا ، من المرجح أن يكون من الصعب إجراء تحليل كمي تفاضلي على ملف مضغوط.


1
2018-06-19 19:54



يبدو أن هذا تكرار الإجابات المقبولة والثانية. يجب أن تساهم كل إجابة في حل جديد جوهري للسؤال. - fixer1234


ضغط يقلل من الانتروبيا المعلومات. الحد الأقصى للضغط يجعل الانتروبيا أدنى. بالنسبة للبيانات المشفرة تمامًا (التشويش) ، يكون الحد الأقصى والحد الأدنى للأنتروبيا هو نفسه.


0
2018-03-16 00:19



انتظر ، أليس لديك هذا إلى الوراء؟ اعتقدت أن الانتروبيا تزداد مع انخفاض التكرار. لذلك يجب أن يزيد الضغط الانتروبيا. - Zan Lynx
Nop ، أقل إنتروبيا = أنماط أكثر. العشوائية لديها معظم الانتروبيا. - AbiusX
و لكنها معلومات الانتروبيا لذلك كل شيء عن المعنى. العشوائية لا يعني أي شيء لذلك لا ينطبق. يمكن أن تحتوي الجملة الإنجليزية على أحرف تم تغييرها وما زالت تعني نفس الشيء حتى يكون لها انتروبيا منخفضة. قد تكون جملة إنجليزية مضغوطة غير قابلة للقراءة إذا تغيرت بتة واحدة لذلك فهي تحتوي على أكثر. أو هكذا أعتقد. - Zan Lynx
لا يتعلق الإنتروبيا بالحس والقدرة على القراءة أو الفهم ، كل ما يتعلق بالأنماط. الملفات المضغوطة مليئة بالأنماط. - AbiusX
AbiusX: صحيح. أنماط - رسم. وأنماط أقل ، والمزيد من الانتروبيا. مما يعني أن الضغط الذي يحل محل جميع الأنماط المتكررة بنسخة واحدة يزيد من الانتروبيا. - Zan Lynx