سؤال

هو نطاط القلعة API موضوع آمنة ؟ خصوصا ،

org.bouncycastle.crypto.paddings.PaddedBufferedBlockCipher
org.bouncycastle.crypto.paddings.PKCS7Padding
org.bouncycastle.crypto.engines.AESFastEngine
org.bouncycastle.crypto.modes.CBCBlockCipher

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

واسمحوا لي أن أعرف إذا كنت قد تأتي عبر مثل هذه الحالات باستخدام نطاط القلعة.

هل كانت مفيدة؟

المحلول

لا يهم حقا إذا API/رمز الموضوع آمنة.CBC التشفير في حد ذاتها ليست موضوع آمنة.بعض المصطلحات -

E(X) = Enctrypt message X
D(X) = Dectrypt X. (Note that D(E(X)) = X)
IV = Initialization vector. A random sequence to bootstrap the CBC algorithm
CBC = Cipher block chaining.

حقا بسيطة CBC التنفيذ يمكن أن تبدو مثل:P1, P2, P3 = رسائل النص العادي

1. Generate an IV, just random bits.
2. Calculate E( P1 xor IV) call this C1
3. Calculate E( P2 xor C1) call this C2
4. Calculate E( P3 xor C2) call this C3.

كما يمكنك أن ترى نتيجة تشفير P1, P2 و P3 (بهذا الترتيب) يختلف عن تشفير P2, P3 P1 (بهذا الترتيب).

حتى في CBC تنفيذ أمر مهم.أي خوارزمية حيث أمر مهم لا يمكن ، بحكم التعريف ، يكون موضوع آمنة.

يمكنك جعل المفرد مصنع من شأنها أن توفر التشفير الكائنات, ولكن لا أستطيع أن أثق بهم أن يكون موضوع آمنة.

نصائح أخرى

J2ME الإصدار هو ليس موضوع آمنة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top