large number of documents and transactions, and
digital signatures can improve the efficiency and
security (Kruhliakova & Sushko 2020). Government
departments can use the digital signature to sign and
verify the submitted documents, licenses and
government purchase contracts, etc., to make sure
their authenticity and legitimacy. The digital
signature was first introduced by Diffie et al in 1976,
they described the idea of a digital signature scheme,
but they only theorized that such schemes existed,
then in 1977, Rivest et. al. The inventor of the RSA
algorithm created a method that could generate a
basic form of digital signature., the foundational
technology ‘hash algorism’ was introduced by
Merkle et al in 1979. Finally in 1988 (Stevens 2018),
Lotus Notes 1.0, which used the RSA algorithm,
became the first widely marketed software package to
offer digital signatures, Prior to 2008, the digital
signature utilized in PDF file formatting was not an
open standard and was not recognized by the
International Organization for Standardization (ISO).
However, in that year, it became ISO 32000 and was
established as an integral component of the file
format (SIGNiX 2014).
This paper aiming to discuss the application
scenario of the digital signature, and demonstrate
different digital signature can be used differently in
many application scenarios, research will be carry out
between financial, medical, legal, government and
other industries, research about how the digital
signature change the file management and transaction
process, besides, research will also discuss challenge
or potential risks of digital signature, like the need for
a solid digital key management system and
compliance with laws and regulations.
2 METHOD
2.1 PKCS #1: RSA Cryptography
Standard
Public-Key Cryptography Standards (PKCS), is a
series of standards, and #1 is the most basic standard,
it provides standards for implementing. Public key
cryptographic encryption schemes and digital
signatures based on the RSA algorithm are defined in
terms of the basic format of the RSA public key
function.
This includes the calculation of the digital
signature, encompassing both the signature data and
its format. An RSA key pair consists of a public key
and a private key. The public key contains the
modulus (n) and the public exponent (e), besides the
private key includes the modulus (n) and the private
exponent (d) (Cobb 2021). Mathematically speaking,
these values are related, are all allowed to encryption
with public key and decryption with the private key.
For PKCS#1_PADDING and the RSA algorithm,
the length of RSA encrypted data is related to the
number of key bits. Common key lengths include
1024bits and 2048bits. Theoretically, the maximum
length of data that can be encrypted with a 1024bits
key is 1024bits (1024/8 = 128bytes). The padding
pattern is provided in Table 1.
PKCS#1padding V1.5 is the default padding
method for RSA encryption and decryption. When
performing RSA operations, you need to convert
source data D to Encryption block (EB). The padding
mode of pkcs1padding V1.5 works as follows (Wang
2012).
𝐸𝐵 = 00 + 𝐵𝑇 + 𝑃𝑆 + 00 + 𝐷 (1)
EB : Is the filled hexadecimal encrypted data
block, the length is 1024/8 = 128 bytes (if the key
length is 1024 bits)
00:It starts with 00 and is a reserved bit
BT:In the current version, there are three values
00, 01, 02, BT is 02 (encryption) if operated with the
public key, and may be 00 or 01 (signature) if
operated with the private key.
PS:Fill bit, PS = K-3D bytes, k represents the
byte length of the key, if using 1024bit RSA key,
k=1024/8=128 bytes, D represents the byte length of
plaintext data D, if BT is 00, PS is 00, if BT is 01, PS
is FF, If BT is 02, PS is a randomly generated byte of
data other than 0x00.
00: The last byte before the source data D is
represented by 00
D:Actual source data
As can be observed from the method, when the
RSA_PKCS1_PADDING is used, BT=2, and PS
filled before plaintext is a random value, so the
ciphertext was caught by the same plaintext and the
same public key encryption is different, which
improves the security of RSA algorithm. Since the
PKCS#1 specification advises that the minimum
length of PS is 8, the maximum plaintext length
which can be encrypted is the key length (-3) + (-8),
which is less than or equal to length -11.