ما هو المعرف الخوارزمية عند استخدام AES في وضع CBC مع ISO 10126 الحشو داخل PKCS # 7؟

StackOverflow https://stackoverflow.com/questions/304658

سؤال

وأريد استخدام PKCS # 7 كتنسيق حاوية لبعض مشفرة، وقعت المحتوى ونحن بحاجة إلى استخدام AES في وضع CBC مع ISO 10126 الحشو القائمة. لا أستطيع العثور على ما يبدو إشارة ملموسة إلى معرف الخوارزمية لاستخدامه لهذا الجمع. أستطيع أن يخترع الخاصة بي ولكن بعد ذلك تفقد قابلية التشغيل البيني مع غيرها من الأدوات.

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

المحلول

لا بد من تحديد وضع الحشو. وهذا صحيح لأن PKCS # 7 (مثل العديد من حاويات التشفير الأخرى) يستخدم ASN.1 الترميز / BER. كما يحتوي على ترميز BER طول الدقيق للرسالة داخل نص عادي مبطن، والقيمة الفعلية للالحشو لا يهم.

نصائح أخرى

وتبين أن وضع الحشو لا تحتاج إلى أن تكون محددة، إلا أن الأمور التشفير الخوارزمية.

وأعتقد إذا كنت تستخدم PKCS # 7 بتنسيق الخاص بك، وأملت الحشو أن تكون، أيضا، "PKCS7" الحشو (ن الثمانية من قيمة 'ن'، يرى <وأ href = "HTTP: // شبكة الاتصالات العالمية. ietf.org/rfc/rfc2315.txt "يختلط =" نوفولو "> RFC 2315 ، قسم 10.3.2).

ويتم إعطاء معرف خوارزمية ل AES / CBC في مثل RFC 3565 :

-- AES information object identifiers --

aes OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) country(16) us(840)
               organization(1) gov(101) csor(3)_ nistAlgorithms(4)  1 }

-- AES using CBC-chaining mode for key sizes of 128, 192, 256

id-aes128-CBC OBJECT IDENTIFIER ::= { aes 2 }
id-aes192-CBC OBJECT IDENTIFIER ::= { aes 22 }
id-aes256-CBC OBJECT IDENTIFIER ::= { aes 42 }

وهكذا، على سبيل المثال، وOID لAES 128 بت في وضع CBC هو 2.16.840.1.101.3.4.1.2

ومن الناحية الفنية، وهذه هي ل CMS ، التي هي في جوهرها المحدثة PKCS # 7.

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