14
Total No of Pages: 13 Referred: www.google.com www.wikipedia.org 9790680719 [17.09.2008] Sundar Rajan. R [This document is prepared only for read only purpose and this document should not be copied or recycled with prior permission. This document is created while preparing for paper presentation and National Conference – Theni.] All Copyrights are reserved © 2008

Latest Paper on Cryptography

Embed Size (px)

DESCRIPTION

Latest Cryptographic Trend for having effective small size cryptographic contentEffectively applied in Mobiles

Citation preview

Page 1: Latest Paper on Cryptography

T o t a l N o o f P a g e s : 1 3

R e f e r r e d :

w w w . g o o g l e . c o m

w w w . w i k i p e d i a . o r g

9 7 9 0 6 8 0 7 1 9

[ 1 7 . 0 9 . 2 0 0 8 ]

Sundar Rajan. R

[This document is prepared only for read only purpose and

this document should not be copied or recycled with prior

permission. This document is created while preparing for

paper presentation and National Conference – Theni.]

All Copyrights are reserved © 2008

Page 2: Latest Paper on Cryptography

An Efficient Operator based Unicode cryptography Algorithm for Text,

Audio and Video Files

R.Sumathi *, R.Sundarrajan **

ABSTRACT

There are many aspects to security and

many applications, ranging from secure

commerce and payments to private

communications and protecting passwords.

One essential aspect for secure

communications is that of secret key

cryptography, which the focus of this paper.

With secret key cryptography, a

single key is used for both encryption and

decryption. The key selection mechanism

and the encoding methodology express the

efficiency of the cipher text generated. In

this paper, a new method of encoding

technique using the mathematical operators

over Unicode character set facilitates better

encoding algorithm.

* Assistant Professor,Dept of CSE, J.J.College of Engg.& Tech.,Trichy-09.

Email ID: [email protected]

** Pre Final Year Student, Dept of CSE, J.J

College of Engg & Tech., Trichy-09

The same plaintext will encrypt to different

cipher text in a stream cipher .This

algorithm increases the complexity of

solving the cipher text when handled by

intruders. Thereby it provides extremely

better security for all type of files.

INTRODUCTION

Cryptography is the practice and

study of hiding information. In modern

times, cryptography is considered a branch

of both mathematics and computer science,

and is affiliated closely with information

theory, computer security, and engineering.

Cryptography is used in applications

present in technologically advanced

societies; examples include the security of

ATM cards, computer passwords, and

electronic commerce, which all depend on

cryptography.

Cryptography refers to encryption,

the process of converting ordinary

Page 3: Latest Paper on Cryptography

information (plaintext) into unintelligible

cipher text Decryption is the reverse,

moving from unintelligible cipher text to

plaintext. A cipher is a pair of algorithms

which creates the encryption and the

reversing decryption. The detailed operation

of a cipher is controlled both by the

algorithm and, in each instance, by a key.

This is a secret parameter for a

specific message exchange context. Keys are

important, as ciphers without variable keys

are trivially breakable and therefore less

than useful for most purposes. Historically,

ciphers were often used directly for

encryption or decryption, without additional

procedures such as authentication or

integrity checks.

PRE REQUISITES

There are various security requirements for a

Cryptographic technique including:

Authentication: The process of proving

one's identity. (The primary forms of host-

to-host authentication on the Internet today

are name-based or address-based, both of

which are notoriously weak.)

Privacy/confidentiality: Ensuring that no

one can read the message except the

intended receiver.

Integrity: Assuring the receiver that the

received message has not been altered in any

way from the original.

Non-repudiation: A mechanism to prove

that the sender really sent this message.

Any new design of Cryptographic

technique must accomplish the above

requisites. Cryptography not only protects

data from theft or alteration, but can also be

used for user authentication.

CRYPTOGRAPHIC SCHEMES

In general, three types of

cryptographic schemes typically used to

accomplish these goals:

1. Secret Key Cryptography (SKC):

Uses a single key for both encryption

and decryption

2. Public Key Cryptography (PKC):

Uses one key for encryption and

another for decryption

3. Hash Functions:

Uses a mathematical transformation to

irreversibly "encrypt" information

Page 4: Latest Paper on Cryptography

are the various cryptographic schemes

available depending upon their

application and ease of use.

SECRET KEY CRYPTOGRAPHY :

With secret key cryptography, a

single key is used for both encryption and

decryption. As shown in Figure 1A, the

sender uses the key (or some set of rules) to

encrypt the plaintext and sends the cipher

text to the receiver. The receiver applies the

same key (or rule set) to decrypt the

message and recover the plaintext. Because

a single key is used for both functions,

secret key cryptography is also called

symmetric encryption.

Secret key cryptography schemes are

generally categorized as being either stream

ciphers or block ciphers. Stream ciphers

operate on a single bit (byte or computer

word) at a time and implement some form of

feedback mechanism so that the key is

constantly changing. A block cipher is so-

called because the scheme encrypts one

block of data at a time using the same key

on each block.

In general, the same plaintext block

will always encrypt to the same cipher text

when using the same key in a block cipher

whereas the same plaintext will encrypt to

different cipher text in a stream cipher.

Block ciphers can operate in one of several

modes; the following four are the most

important:

Electronic Codebook (ECB) mode is the

simplest, most obvious application: the

secret key is used to encrypt the plaintext

block to form a cipher text block. Two

identical plaintext blocks, then, will always

generate the same cipher text block.

Although this is the most common mode of

block ciphers, it is susceptible to a variety of

brute-force attacks.

Cipher Block Chaining (CBC) mode adds

a feedback mechanism to the encryption

scheme. In CBC, the plaintext is

exclusively-O Red (XORed) with the

previous cipher text block prior to

encryption. In this mode, two identical

blocks of plaintext never encrypt to the same

cipher text.

Cipher Feedback (CFB) mode is a block

cipher implementation as a self-

synchronizing stream cipher. CFB mode

allows data to be encrypted in units smaller

than the block size, which might be useful in

some applications such as encrypting

Page 5: Latest Paper on Cryptography

interactive terminal input. If we were using

1-byte CFB mode, for example, each

incoming character is placed into a shift

register the same size as the block,

encrypted, and the block transmitted. At the

receiving side, the cipher text is decrypted

and the extra bits in the block (i.e.,

everything above and beyond the one byte)

are discarded.

Output Feedback (OFB) mode is a block

cipher implementation conceptually similar

to a synchronous stream cipher. OFB

prevents the same plaintext block from

generating the same cipher text block by

using an internal feedback mechanism that is

independent of both the plaintext and cipher

text bit streams.

Secret key cryptography algorithms that are

in use today include

Data Encryption Standard (DES):

DES is a block-cipher employing a 56-bit

key that operates on 64-bit blocks. DES has

a complex set of rules and transformations

that were designed specifically to yield fast

hardware implementations and slow

software implementations

Triple-DES (3DES): A variant of DES that

employs up to three 56-bit keys and makes

three encryption/decryption passes over the

block; 3DES is also described in FIPS 46-3

and is the recommended replacement to

DES.

DESX: A variant devised by Ron Rivets. By

combining 64 additional key bits to the

plaintext prior to encryption, effectively

increases the key length to 120 bits.

Advanced Encryption Standard (AES):-

This algorithm use a variable block length

and key length; the latest specification

allowed any combination of keys lengths of

128, 192, or 256 bits and blocks of length

128, 192, or 256 bits.

Similarly, there are Several

Algorithms like Blowfish, International Data

Encryption Algorithm (IDEA),Two fish,

Camellia, Secure and Fast Encryption

Routine (SAFER),SEED, Skipjack.

These are algorithms are designed

extending the ideas already available.

PUBLIC-KEY CRYPTOGRAPHY

Public-key cryptography has been

said to be the most significant new

development in secure communication over

a non-secure communications channel

without having to share a secret key.

Page 6: Latest Paper on Cryptography

Public Key Cryptography or Asymmetric

cryptography provides the same message

security guarantees as symmetric

cryptography, but additionally provides the

non-repudiation guarantee. ‘Asymmetric’

refers to the fact that different keys are used

for encryption and decryption.

One key is kept secret (‘secret key’)

and the other is made public (‘public key’),

and are both unique. The recipient’s public

key should be used during the encryption

process to ensure message confidentiality as

only the recipient has the necessary secret

key to decrypt the message. If, however, the

message is encrypted using the sender’s

private key the sender cannot deny sending

the message as his private key is unique and

is only known to him.

Typical asymmetric algorithms

include RSA, ElGamal and DSA.

Asymmetric cryptography is extremely

powerful, but this comes at a cost.

Especially for longer messages and keys, it

is much slower than its symmetric

cryptography counterparts. This is due in

part to the fact that, in order to achieve

comparable security, asymmetric keys are

generally around an order of magnitude

longer than symmetric keys.

PKC depends upon the existence of so-

called one-way functions, or mathematical

functions that are easy to computer whereas

their inverse function is relatively difficult to

compute. Let me give you two simple

examples: In public-key cryptosystems, the

public key may be freely distributed, while

its paired private key must remain secret.

The public key is typically used for

encryption, while the private or secret key is

used for decryption. Diffie and Hellman

showed that public-key cryptography was

possible by presenting the Diffie-Hellman

key exchange protocol

In addition to encryption, public-key

cryptography can be used to implement

digital signature schemes. A digital

signature is reminiscent of an ordinary

signature; they both have the characteristic

that they are easy for a user to produce, but

difficult for anyone else to forge. Digital

signatures can also be permanently tied to

the content of the message being signed;

they cannot then be 'moved' from one

document to another, for any attempt will be

detectable.

In digital signature schemes, there

are two algorithms: one for signing, in

which a secret key is used to process the

message (or a hash of the message, or both),

Page 7: Latest Paper on Cryptography

and one for verification, in which the

matching public key is used with the

message to check the validity of the

signature. RSA and DSA are two of the

most popular digital signature schemes.

Digital signatures are central to the

operation of public key infrastructures and

many network security schemes (e.g.,

SSL/TLS, many VPNs, etc).

Public-key algorithms are most often

based on the computational complexity of

"hard" problems, often from number theory.

For example, the hardness of RSA is related

to the integer factorization problem.

More recently, elliptic curve

cryptography has developed in which

security is based on number theoretic

problems involving elliptic curves. Because

of the difficulty of the underlying problems,

most public-key algorithms involve

operations such as modular multiplication

and exponentiation, which are much more

computationally expensive than the

techniques used in most block ciphers,

especially with typical key sizes. As a result,

public-key cryptosystems are commonly

hybrid cryptosystems, in which a fast high-

quality symmetric-key encryption algorithm

is used for the message itself, while the

relevant symmetric key is sent with the

message, but encrypted using a public-key

algorithm. Similarly, hybrid signature

schemes are often used, in which a

cryptographic hash function is computed,

and only the resulting hash is digitally

signed.

HASH FUNCTIONS

Hash functions, also called message digests

and one-way encryption, and are algorithms

that, in some sense, use no key. Instead, a

fixed-length hash value is computed based

upon the plaintext that makes it impossible

for either the contents or length of the

plaintext to be recovered.

Hash algorithms are typically used to

provide a digital fingerprint of a file's

contents often used to ensure that the file has

not been altered by an intruder or virus.

Hash functions are also commonly

employed by many operating systems to

encrypt passwords. Hash functions, then,

provide a measure of the integrity of a file.

Hash functions are sometimes

misunderstood and some sources claim that

no two files can have the same hash value.

This is, in fact, not correct. Consider a hash

function that provides a 128-bit hash value.

There are, obviously, 2128 possible hash

values. But there are a lot more than 2128

Page 8: Latest Paper on Cryptography

possible files. Therefore, there have to be

multiple files in fact; there have to be an

infinite number of files.

By the above basics about the

Cryptography and the study is about the

Cryptographic Schemes available and their

methodology of handling keys and way of

Encoding generated each class of

Techniques.

PROPOSED ALGORITHM:

After discussed elaborately about the

various cryptographic schemes available and

the structure about the algorithms for the

schemes, the paper is concerned towards the

new design of “Operator based Encoding

Technique with Unicode Character Set

Support”.

OPERATORS IN ENCODING:

This algorithm is designed

considering the fact that “Every input plain

text can be converted into numeric value

whatever may be its magnitude”.

When Numeric values are resulted

they can be used for mathematical operators

resulting in a different solution than that of

the origin.

This concept seems too analogous to

the Cryptography operation that we

considered. This similarity can be depicted

pictorial as follows.

The value x is definitely different

from the value of value 1 and value 2

depending upon the * operation and the

values.

Similarly in the Cryptography the

plain Text must be encoded into Cipher text

which must different from the original text

to ensure the security of the data transacted.

In the above for the encoding

operation performed, the plain text must be

converted into cipher text which cannot be

recognized or more precisely the text which

is different from the original text.

VALUE 2

* VALUE X

VALUE 1

CIPHER TEXT

ENCODING

PLAIN TEXT

Page 9: Latest Paper on Cryptography

Therefore from this we can define

the cipher text in cryptography as the text

that is different from the original text where

the difference needs elongated complex

procedures to be followed.

Hence we have proved that an

operator based algorithm can be used as

Encoding technique to generate the required

cipher text.

UNICODE SUPPORT:

Now we established that the

mathematical operators can be used for

encoding. Such encoding is possible if and

only if the given plain text (any text) must

be converted into operable manner.

Operable manner means that the

plain text must be converted into numbers

for operation over them.

Such a mapping for every character

into a numeric value is possible only in

Unicode character set. In order to convert

any text into number Unicode character set

support is needed.

In Unicode character set, there are

65536 characters available and is a common

standard worldwide independent of the

languages used.

It is 16 bit based character set which

encompasses every character available in all

the formats of files available.

Therefore we came across two basic

steps in this design which includes,

1. Converting any given plain text

into numeric values based on

Unicode mapping.

2. After numeric mapping the Text

input is in operable form which is

operated through different

operators and the required result

once again mapped using

Unicode character set.

Hence the algorithm basic design is

completed using Unicode support

over operators.

SECURITY BY FEED-BACK:

One of the major properties of the

cryptography is the key providing concept

PLAIN TEXT

UNICODE FORM OPERATOR F(x)

CIPHER TEXT

Page 10: Latest Paper on Cryptography

which provides security as well as

authorization.

From the above, the Unicode

mapping and operator based encoding favors

the generation of cipher text but the security

is not discussed.

In order to provide security we shall

bind a numeric key as security with the

cipher text generated in the above method.

Here we have multiple ways for key

binding with the cipher text to be generated.

1. Entire Text Binding:

Due to usage of numeric

values to generate the cipher text the

usage of key in numbers is possible.

It is possible to add each character

with key. But it yields a worst

method of security since the key will

be spread over the text uniformly

which cannot be efficient which is

similar to X-shifting the numeric

value bonded with the cipher text.

Hence this method of key binding

can be mostly avoided.

2. Feed Back based Security:

Analyzing the failure of the

Entire Text Binding, in the method

of Feedback based Security the

algorithm is designed as,

1. The First character alone is

added directly with the security

key.

2. The following character is

operated by above designed

method over the first and then the

result is made operated towards

the next and soon.

3. This kind of Feedback based

security illustrates that the same

character is mapped into different

cipher text depending on the

presence of the character at

various positions in Plain Text.

4. It is called Feed Back based

security because the key for the

current character under process

of encoding depends on the

previous input character.

Indirectly in this kind of Security, we have

built the security for whole cipher text This

algorithm since provides a key it comes

under the mechanism of Secret Key

Cryptography discussed in the basics of this

paper.

Page 11: Latest Paper on Cryptography

No Repetition:

In this algorithm, no

repetition of cipher text for the same

character throughout the plain text occurs,

which is considered to be a demerit of the

secret key cryptography which we have

cleared in this algorithm.

The algorithm is designed as follows

based on the statements concluded above.

ALGORITHM FOR ENCODING:

Operatebasedencode ()

{

Read currentin from input file

Add secretkey with currentin

// any other operator can be employed

Start loop until endof inputfile

Pastcharin=currentin

CURRENT INPUT FROM FILE

NEXT INPUT FROM FILE TO BE ENCODED

OPERATOR BASED ALGORITHM FOR GENERATING CIPHER TEXT

FILE TO BE

Mapped to respective Cipher Text

UNICODE CHARACTER SET

OUTPUT FILE – CIPHER

FIRST INPUT FROM FILE TO BE ENCODED

SECRET

Page 12: Latest Paper on Cryptography

Read currentin from input file

Precipherchar=pastcharin * currentin

Place Mapoverunicode(

precipherchar) in Outputfile

End loop

}

Mapoverunicode(precipherchar)

{

Search given precipherchar in

Unicode Character Set

Return the appropriate character

}

This algorithm uses feedback based

secret key in which the key is bonded with

the cipher text indirectly and so no repetition

is allowed.

VALIDITY OF SECRET KEY:

The above algorithm is tested so

many times and it is working fine for the

input files of various types like text files,

documents, and even mp3 files (Audio

Files) and video files.

Hence it is working

fine for all the set of files since it uses

Unicode support for character mapping.

Now the secret key applied by

applied in this algorithm is feedback based

which undergo following criteria

1. The key applied will be a numeric

value which must be unique

considered upon user.

2. Since it uses Unicode character set

support the no of unique values will

be from 0-65536.

3. The number of keys used in the

algorithm range is small and is

possible to exceed over 65536 but it

recycles within the range.(without

using modulus operator)

SERIAL DIGIT SECRET KEY:

Now in order to clear these criteria the key

can be applied to cipher text in blocks by

blocks.

The operation needs a range of

numbers where every figure in the key

provided will be added in blocks to the

entire cipher text.

Suppose that for a text

“COMPUTER” for certain encoding it may

Page 13: Latest Paper on Cryptography

result in “2we45r6/” and the key provided

while encoding is “1532”.then the operation

of encoding can simply depicted as,

Depending on the * operator used,

the key is added with the cipher text in

blocks and hence the range of Unicode is

different which is better than feedback

system.

Here we can note that the key size

can range from 0 – size of the file. Hence by

this method the user can add key to the

cipher text up to a larger range when

compared to feed back based system.

Limitations in this method:

1. Even though the key is a series of

digits, the numeric value added

with each character range from

0-9.

2. This mild difference again

checks the security and needs

further study and the advantage

in the scheme is the key can be

any range larger.

3. Since simple users of encoding in

this method have to memorize a

series of digits without fail to

obtain the document clearly.

STRING STRUCTURE KEY BIND:

In order to increase the

difference of key bonded with the cipher

text which is only 0-9 arrived a solution as

follows in this method namely “STRING

STRUCTURE KEY BIND”.

1. The key here handled may be a

series of characters instead of

numbers.

2. The string binded can have Unicode

equivalent values that are larger than

the range 0-9.

3. The characters each in the key string

can range from 0-65536 each.

4. The length of the key can be large

enough equivalent to the size of the

input file which is the maximum

value.

5. Even though the key can be severely

large, the optimal performance can

1 5 3 2 1 5 3 2

CIPHER TEXT

2 w e 4 5 r 6 /

Page 14: Latest Paper on Cryptography

be maintained by the user’s decision

over the peak value to be handled.

6. Since it is a series of characters i.e.

string, a meaningful string for

average users can help them to

remember enough to recover their

documents.

Hence upon the various schemes of key

binding discussed the string structure secret

key again using Unicode support is better

and even best of the key binding techniques

discussed.

Here using various schemes for

secret key does not mean the congestion of

ideas in illustrating the secret key but it is a

real time derivation for deciding the best

secret key technique. Once again we can

notice that the string structure secret key

holding the property “no repetition”.