OpenSSL "rsautl" Using PKCS#1 v1.5 Padding
What is the PKCS#1 v1.5 padding schema used in OpenSSL "rsautl" command?
PKCS#1 v1.5 padding schema is a padding standard specified in RFC2313 "PKCS #1: RSA Encryption, Version 1.5" proposed by RSA Laboratories in 1998.
PKCS#1 v1.5 padding schema is designed to pad input data to a full encryption block of the same size as the RSA key. The main purpose of PKCS#1 v1.5 padding schema is to improve security level of the RSA algorithm.
PKCS#1 v1.5 padding schema can be summarized as below:
Symbols and abbreviations: D Data (input data to be encrypted) BT Block Type: 0x01 or 0x02 EB Encryption Block k Size (in bytes) of the RSA key PS Padding String of non-0x00 bytes || Binary concatenation operation PKCS#1 v1.5 padding schema: EB = 0x00 || BT || PS || 0x00 || D
Requirements of PKCS#1 v1.5 padding schema:
For example, if you want to use 1024-bit (128-byte) RSA public key to encrypt some input data with PKCS#1 v1.5 padding, a minimum of 11 bytes will be padded in front of the data. So the maximum size of input data is 128 - 11 = 117 bytes.
For more information on PKCS#1 v1.5 padding schema, read RFC2313.
2017-05-12, 5095👍, 0💬
What types of certificate stores do I have on my Windows system? What is "Personal" certificate stor...
Certificate Summary: Subject: VeriSign Class 3 International Server CA - G3 Issuer: VeriSign Class 3...
Which certificate file format should I use when exporting a certificate from IE? What is the "Base-6...
Can I wrap a primitive field into a BIT STRING or OCTET STRING field with the OpenSSL "asn1parse" co...
How to export my private key from the system certificate store into a file? The "export the private ...