Upload
sundarrajan1068
View
9.232
Download
1
Embed Size (px)
DESCRIPTION
Latest Cryptographic Trend for having effective small size cryptographic contentEffectively applied in Mobiles
Citation preview
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
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
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
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
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.
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),
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
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
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
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.
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
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
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 /
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”.