pdf to image c# free : Create a fillable pdf form online SDK software project winforms windows azure UWP 103070213-part242

31 
cryptographic provider, the key length is 128 bits by default and can be in the range 
of 40 to 128 bit in 8-bit increments. 
2.14.2 RC4: 
It was developed by Ron Rivest in 1987. It is a variable-key-size stream cipher. The 
details  of  the  algorithm  have  not  been  officially  published.  The  algorithm  is 
extremely easy to describe and program just like RC2, 40 bit RC4 is supported by the 
Microsoft base Cryptography provider, and the enhanced provider allows keys in the 
range of 40 to 128 bits in 8-bit increments. 
2.14.3 RC5: 
RC5 is a block designed for speed. It allows a user defined key length, data block 
size, and number of encryption rounds. In particularly the key size can be as large as 
2,048 bits. RSA Data security is working to have RC5 included in numerous internet 
standards including 1Psec. 
2.15  Conclusion: 
There are several methods of conventional cryptography, and since it is not possible to 
present all the methods, very important and popular methods were presented. 
It is seen that the modified Hill cipher Encryption and Decryption requires generating 
random Matrix, which is essentially the power of security. As we know in Hill cipher 
Decryption requires inverse of the matrix. Hence while decryption one problem arises 
that is. Inverse of the matrix does not always exist. Then if the matrix is not invertible 
them encrypted text cannot be decrypted. But this drawback is completely eliminated in 
modified Hill cipher algorithm. 
At the same time, this method requires the cracker to find the inverse of many square 
matrices which is not computationally easy. So this modified Hill-Cipher method is both 
easy to implement and difficult to crack.  
Create a fillable pdf form online - C# PDF Field Edit Library: insert, delete, update pdf form field in C#.net, ASP.NET, MVC, Ajax, WPF
Online C# Tutorial to Insert, Delete and Update Fields in PDF Document
add photo to pdf form; chrome pdf save form data
Create a fillable pdf form online - VB.NET PDF Field Edit library: insert, delete, update pdf form field in vb.net, ASP.NET, MVC, Ajax, WPF
How to Insert, Delete and Update Fields in PDF Document with VB.NET Demo Code
pdf editable fields; changing font size in a pdf form
32 
Chapter  
PUBLIC-KEY CRYPTOGRAPHY 
C# Create PDF Library SDK to convert PDF from other file formats
Create fillable PDF document with fields. Preview PDF documents without other plug-ins. Able to download free trial and use online example source code in C#
convert word document to editable pdf form; best program to create pdf forms
VB.NET Create PDF from OpenOffice to convert odt, odp files to PDF
Edit Bookmark. Metadata: Edit, Delete Metadata. Form Process. Create PDF document from OpenOffice Text Document with ODT, ODS, ODP forms into fillable PDF formats
adding image to pdf form; allow saving of pdf form
33 
3.1 Introduction:  
Public-Key Algorithms are symmetric, that is to say the key that is used to encrypt the 
message is different  from the key used to decrypt  the  message. The encryption key, 
known as the Public key is used to encrypt a message, but the message can only be 
decoded by the person that has the decryption key, known as the private key.  
This type of encryption has a number of advantages over traditional symmetric Ciphers. 
It means that the recipient can make their public key widely available- anyone wanting to 
send them  a message uses the  algorithm and the recipient's public key to do so. An 
eavesdropper may have both the algorithm and the public key, but will still not be able to 
decrypt the message. Only the recipient, with the private key can decrypt the message.  
A advantage of public-key algorithm is that they are more computationally intensive than 
symmetric algorithms, and therefore encryption and decryption take longer. This may not 
be significant for a short text message, but certainly is for bulk data encryption.  
3.2 The Basic Principle:  
In 
order to decrypt a message, Bob (the recipient) has to know the key. However, it may 
be difficult for Alice (the sender) to tell Bob what the key is. If they simply agree on a 
key bye-mail for example, Eve could be listening in on their e-mail conversation and thus 
also learn what the key is. Public key cryptography was invented to solve this problem.  
When using public-key cryptography, Alice and Bob both have their own key pairs. A 
key pair consists of a public key and a private-key. If the public-key is used to encrypt  
something, then it can be decrypted only using the private-key. And similarly, if the 
private-key is used to encrypt something, then it can be decrypted only using the 
VB.NET Create PDF Library SDK to convert PDF from other file
Create fillable PDF document with fields in Visual Basic .NET Load PDF from stream programmatically in VB.NET. Free trial and use online source code are
add text field to pdf; create a fillable pdf form in word
C# Create PDF from OpenOffice to convert odt, odp files to PDF in
Create PDF document from OpenOffice Presentation in both .NET WinForms and ODT, ODS, ODP forms to fillable PDF formats in Online source code for C#.NET class.
pdf form creation; add print button to pdf form
34 
public-key. It is not possible to figure out what the private-key is given only the public-
key, or vice versa. 
This makes it possible for Alice and Bob to simply send their public keys to one another, 
even if the channel they are using to do so is insecure. It is no problem that Eve now gets 
a copy of the public keys. If Alice wants to send a secret message to Bob, she encrypts 
the  message  using  Bob's  public  key.  Bob  then  takes  his  private  key  to  decrypt  the 
message. Since Eve does not have a copy of Bob's private key, she cannot decrypt the 
message. Of course this means that Bob has to carefully guard his private key. With 
public key cryptography it is thus possible for two people who have never met to securely 
exchange messages. Figure 3.1 illustrates the public-key encryption process. 
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
formatting. Create PDF files from both DOC and DOCX formats. Convert multiple pages Word to fillable and editable PDF documents. Professional
allow users to save pdf form; add email button to pdf form
VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to
Convert multiple pages PowerPoint to fillable and editable PDF documents. Easy to create searchable and scanned PDF files from PowerPoint.
create a pdf form that can be filled out; create a form in pdf
35 
3.3 Advantage and Dis-Advantage of Public-Key Cryptography Compared with 
Secret-Key Cryptography:  
1.  The  primary  advantage  of  public-key  cryptography  is  increased  security  and 
convenience. Private keys never need to transmitted or revealed to anyone. In a 
secret-key  system,  by  contrast,  the  secret  keys  must  be  transmitted  (either 
manually or through a communication channel), and there may be a chance that an 
enemy can discover the secret keys during their transmission.  
2.  Another major advantage of public-key systems is that they can provide a method 
for digital signatures. Authentication via secret-key systems requires the sharing of 
some secret and sometimes requires trust of a third party as well. As a result, a 
sender can  repudiate  a  previously  authenticated  message  by  claiming  that the 
shared secret was somehow compromised by one of the parties sharing the secret. 
For  example, the Kerberos secret-key authentication system involves  a central 
database that keeps copies of the secret keys of all users; an attack on the database 
would allow widespread forgery. Public-key authentication, on the other hand, 
prevents this type of repudiation; each user has sole responsibility for protecting 
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete Metadata. Form Process. Create fillable and editable PDF documents from Excel in Visual
create a fillable pdf form from a word document; pdf form save with reader
C# Create PDF from Excel Library to convert xlsx, xls to PDF in C#
Create fillable and editable PDF documents from Excel in both Create searchable and scanned PDF files from Excel. Export PDF from Excel with cell border or no
create a pdf form from excel; change pdf to fillable form
36 
his or her private key. This property of public-key authentication is often called 
non-repudiation.  
3.  A disadvantage of using public-key cryptography for encryption is speed; there are 
popular  secret-key  encryption  methods  that  are  significantly  faster  than  any 
currently  available  public-key  encryption  method.  Nevertheless,  public-key 
cryptography can be used with secret-key cryptography to get the best of both 
worlds.  For encryption, the  best solution is to combine public-  and secret-key 
systems in order to get both the security advantages of public-key systems and the 
speed advantages of secret-key systems. The public-key system can be used to 
encrypt a secret key, which is used to encrypt the bulk of a file or message. Such a 
protocol is called a digital envelope.  
4.  Public-key cryptography may be vulnerable to impersonation, however, even if 
users'  private  keys  are  not  available.  A  successful  attack  on  a  certification 
authority will allow an adversary to impersonate whomever the adversary chooses 
to by using a public-key certificate from the compromised authority to bind a key 
of the adversary's choice to the name of another user.  
5.  In  some  situations,  public-key  cryptography  is  not  necessary  and  secret-key 
cryptography alone is sufficient. This includes environments where secure secret -
key agreement can take place, for example by users meeting in private. It also 
includes environments where a single authority knows and manages all the keys 
(e.g., a closed banking system) Since the authority knows everyone's keys already, 
there is not much advantage for some to be "public" and others "private" Also, 
public-key cryptography is usually not necessary in a single-user environment. For 
example, if you want to keep your personal files encrypted, you can do so with 
any secret-key encryption algorithm using, say, your personal password as the 
secret key. In general, public-key cryptography is best suited for an open multi-
user environment.  
6.  Public-key cryptography is not meant to replace secret-key cryptography, but rather 
to supplement it, to make it more secure. The first use of public-key techniques was 
C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF
Convert multiple pages PowerPoint to fillable and editable Easy to create searchable and scanned PDF files Export PowerPoint hyperlink to PDF in .NET console
edit pdf form; pdf save form data
37 
for secure key exchange in an otherwise secret-key system; this is still one of its 
primary functions. Secret-key cryptography remains extremely important and is the 
subject of ongoing study and research. Some secret-key cryptosystems are discussed 
in the sections on Block Cipher and Stream Cipher.  
3.4 The RSA Algorithm:  
The RSA cryptosystem, named after its inventors R. Rivest, A. Shamir, and L. Adleman, 
is the most widely used public key Cryptosystem. It may be used to provide both secrecy 
and  digital  signatures  and  its  security  is  based  on  the  intractability  of  the  integer 
factorization.  
3.4.1 Description of the Algorithm:  
Two very large prime numbers, normally of equal length, are randomly  chosen then 
multiplied together.  
N =A x B 
(3.1) 
T = (A-1) x (B-1) 
(3.2) 
A third number is then also chosen randomly as the public key (E) such that it has no 
common factors (i.e. is relatively prime) with T. The private key (D) is then:  
D = E
-1
mod T  
(3.3) 
To encrypt a block of plaintext (M) into cipher text (C) : 
C = M
E
mod N 
(3.4) 
To Decrypt: 
M = C
D
mod N 
(3.5) 
3.4.2 Security of RSA:  
The security of RSA algorithm depends on the ability of the hacker to factorize numbers. 
New, faster and better methods for factoring numbers are constantly being devised. The 
Trent best for long numbers is the Number Field Sieve. Prime Numbers of a length that 
was unimaginable a mere decade ago are now factored easily. Obviously the longer a 
number is, the harder is to factor, and so the better the security of RSA. As theory and 
computers improve, large and large keys will have to be used. The advantage in using 
38 
extremely long keys is the computational overhead involved in encryption / decryption. 
This will only become a problem if a new factoring technique emerges that requires keys 
of  such  lengths to be  used that  necessary key  length increases much faster than the 
increasing average speed of computers utilizing the RSA algorithm. RSA's future security 
relies solely on advances in factoring techniques.  
3.5 Diffie-Hellman Key Exchange Algorithm:  
In 1976, Diffie and Hellman published the first public key based algorithm, which was 
designed to provide a means to exchange securely a key 
over a public network. That 
key K can later be used as a session key. Note however that this algorithm applies only to 
the exchange of keys. 
Before the key exchange actually begins, two global public values are generated and 
made public to everyone: a prime number q and a, a primitive root of q, where a 
q.  
A primitive root a of a prime number p is an integer for which the successive powers 
modulo p:  
a mod p, a
2
mod p, a
3
mod p, ... , a
i
mod p, ... , a(p
-1
) mod p  (3.6)  
generates (p - 1) distinct integers, without repetition. The sequence {a' mod p 
}i=o  
(p
-1
is  
thus a permutation of the integers from i 
1 to (p - I).  
For any integer 
a' mod p, the exponent i is referred to as the discrete logarithm (or 
index) of b in base a  modulo p.  
Suppose that Alice, A, and Bob, B, want to exchange a key K. Alice selects a secret 
random number 
XA 
q, compute the public value 
Y A 
aXA 
mod q and makes it public. 
Bob does the same, that is, he generates his private random number XB 
q, calculate 
YB 
aXB 
mod q and publishes 
YB. 
Then ~ice computes the key 
as follows:  
K = (YB)
XA
mod q 
(3.7) 
K = (a
x
B mod q)
XA
mod q   
(3.8) 
K = (a
x
B)
XA
mod q 
(Principle of modular arithmetic) 
(3.9) 
K = a
x
B
x
A mod q 
(3.10) 
Similarly, Bob computes K using the public information and his own private random number: 
39 
K = (YA)
X
mod q 
(3.11)   
K =(a
x
mod q)
XB
mod 
(3.12)   
K = (a
X
A)
XB
mod q 
(3.13) 
K = a
X
A
X
mod a
X
B
X
mod  
(same key K  
(3.14)
The security of the algorithm is based on the difficulty to compute discrete logarithms While it is 
easy to compute the modular exponentials Y 
ax mod 
knowing the secret number X, it is 
difficult for an attacker to compute X from Y and the global public values a and 
q: 
Y= ax mod 
(modular exponentiation: easy)   
(3.15) 
X= logy Y mod 
(discrete logarithm: difficult)   
(3.16)
3.6 EIGamal Public 
Key System:  
The ELGamal cryptographic algorithm is a public key system like the Diffie-Hellman system. 
It 
is  mainly  used  to  establish  common  keys  and  not  to  encrypt  message.  The  EIGamal 
cryptographic algorithm is comparable to the Diffie-Hellman system. Although the inventor, 
Taher Elgamal, did not apply for a patent on his invention, the owners of the Diffie-Hellman 
patent felt this system was covered by their patent. For no apparent reason everyone calls this the 
IElGamal" system although Mr. Elgamal's last name does· not have a capital letter 'G'[19]
A disadvantage of the EI Gamal system is that the encrypted message becomes very big, 
about twice the size of the original message m. For this reason it is only used for small 
messages such as secret keys.  
3.6.1 Generating the EI Gamal Public key:  
As with Diffie-Hellman, Alice and Bob have a (publicly known) prime number p and a 
generator g. Alice chooses a random number a and computes A = ga. Bob does the same 
and computes B 
g
b
.  
Alice's public key is A and her private key is a. Similarly, Bob's public key is B and his 
private key is b.  
3.6.2 Encrypting and Decrypting Messages:  
If Bob now wants to send a message m to Alice, he randomly picks a number k, which is 
smaller than p. He then computes:  
40 
C
1
= g
k
mod p  
(3.17) 
C
2
= A
k
* m mod p   
(3.18) 
And send C
1
and C
2
to  Alice.  Alice  can  use  this  to reconstruct  the  message  m  by 
computing 
C
1
-a* 
C
2
mod p = m   
(3.19) 
3.7 Elliptic Curve Cryptography:  
Public key cryptography systems are usually based on the assumption that a particular 
mathematical  operation  is  easy  to  do,  but  difficult  to  undo  unless  you  know  some 
particular  secret.  This  particular  secret  that  serves  as  the  secret  key.  A  recent 
development in this field is the so-called Elliptic Curve Cryptography.  
Elliptic Curve Cryptography works with point on a curve. The security of this type of 
public  key  cryptography  depends  on  the  elliptic  curve  discrete  logarithm  problem. 
Elliptic curve cryptography was invented by Neil Koblitz in 1987 and by Victor Miller in 
1986.  The  principles  of  elliptic  curve  cryptography  can  be  used  to  adapt  many 
cryptographic  algorithms,  such  as  Diffie-Hellman  or  EIGamal.  Although  no  general 
patent on elliptic curve cryptography appears to exist, there are several patents that may 
be relevant depending on  the implementation . The  main advantage of  elliptic  curve 
cryptography is that the keys can be much smaller. Recommended key sizes are in the 
order of 160 bits rather than 1024 bits for RSA.  
3.7.1 Elliptic Curves:  
An elliptic curve is a set of points (x, y), for which it is true that 
y
2
= x
3
+ ax + b 
(3.21) 
Given certain chosen numbers a and b. Typically the numbers are integers (whole  
numbers),  although  in  principle  the  system  also  works  with  real  (fractional) 
numbers. Despite what the name suggests, the curves do not have an elliptic shape. 
For example, -4 and b 
0.67 gives the elliptic curve with equation y
2
x
3
- 4x + 
0.67. This curve is illustrated in Figure 3.2. 
Documents you may be interested
Documents you may be interested