SlideShare a Scribd company logo
1 of 16
Download to read offline
POLYTECHNIC VOL. 6 NO.3 October 2016
362
Triple Data Encryption Standard and Cipher Feedback Block Mode
Operation Cryptography Approach for Securing Data Transmission
Renas Rajab Asaad
College of Computer Science, Nawroz University, Duhok-Zakho Road, Kurdistan Region-
Iraq
renas_rekany@yahoo.com
Abstract
There is great research going on in the field of data security nowadays. Protecting information from
disclosure and breach is of high importance to users personally and to organizations and businesses
around the world, as most of information currently are sensitive electronic information transferred over
the internet and stored in cloud based system. In this paper, we propose a method to increase the
security of messages transferred on the internet, or information stored in the cloud. Our proposed
method mainly relies on the Triple Data Encryption Standard (TDES) algorithm. TDES is intact the
Data Encryption Standard repeated three times in succession to encrypt data. TDES is considered
highly secure as there is no applicable method to break the code itself without knowing the key. We
propose to encrypt the key using Cipher Feedback Block algorithm, before using TDES to encrypt data.
Such that even when the key is disclosed, the key itself cannot decipher the ciphered text without
enciphering the key with CFB. This introduces a new dimension of security to the TDES algorithm.
The method introduced in this paper increases the security of the TDES algorithm using CFB algorithm
by increasing the key security, such that it is actually not possible to decipher the text without prior
knowledge and agreement of key and algorithms used.
Keywords: Data Encryption Standard, Triple Data Encryption Algorithm, Cipher Feedback Block.
1. Introduction
Cryptography is a science that is concerned with ensuring privacy and security. This involves several
cryptosystems, each made up of a collection of algorithms that put as a target providing the information
security. “Recently, cryptosystems are wide utilized in all branches of digital technology, electronic
mails, and internet banking. This paper briefly explains common cryptosystems, and investigates the
two most popular private-key ciphers: DES, TDES, which are probably the most widely used. Now“.
Let's begin with an overview of the common cryptosystems. [2,4]
2. Related works
A lot of research and development involves DES and TDES nowadays. DES and TDES are already
implemented in many cases individually. In this article, TDES is being used to encrypt plain text three
POLYTECHNIC VOL. 6 NO.3 October 2016
363
times consecutively, along with CBF which is used to encrypt the key for each iteration of the TDES
algorithm. i.e. CBF encrypts the key to produce cipher key one, which in turn is used to encrypt the
plain text producing cipher text 1, then CBF encrypts cipher key one resulting in cipher key two, which
encrypts cipher text one to two for the second iteration of TDES. The third iteration resumes as before
resulting in the final cipher text which is sent to the receiver along with the original key. Hence, the
algorithm described in this paper relies on the privacy of the algorithm while the key is considered
public. Note that the algorithm focuses on enhancing TDES by encrypting the key using CBF, this
results in a more secure algorithm based on CBF enhancement to key security. [4]
3. The Proposed Approach of Cryptography
3.1 Triple DES Encryption Algorithm
DES is amongst the most famous crypto-systems used worldwide. based on Horst Feistel’s design
which ensures that the encryption and description are similar processes, the only exception is that the
key’s are applied in reverse order while decrypting. this model makes use of 64 and 56 bit block
volume for key. [4,5,6]. Figure1 shows the encoding process of the TDES algorithm. The figure clearly
illustrates the process of encryption, and decryption if the key generation process is used in reverse
order. it is important to note that 16 keys will be produced from the original key before the algorithm
indicated in the figure can be implemented.
3.1.1 Enciphering
The algorithm described in figure1, 2 and 3, is based on four stages, permutation, an f() function, S
boxes and a final permutation. The algorithm also includes a key generation process which results in a
cipher key for the encryption process.
'Salt value used to encrypt a plain text key. Again, this can be whatever you like
Private Shared SALT_BYTES As Byte() = New Byte() {162, 27, 98, 1, 28, 239, 64, 30, 156, 102, 223}
'File names to be used for public and private keys
Private Const KEY_PUBLIC As String = "public.key"
Private Const KEY_PRIVATE As String = "private.key"
1. Key generation: The key generation process involves taking the 64 bit ciphered key produced by the
CFB algorithm, and permuting the ciphered key according to the DES algorithm. This involves
arranging the 64 bit key in the table PC1, specified by the values previously in the table. i.e if a cell has
the value 9, then the 9th bit of the key is placed there. The result of permuting the key using PC-1
results in a 56 bit key as the table ignores the first bit of each byte. Afterwards, the newly generated 56
bit key is split into table C0 and D0, each taking 28 bits of the key left and right respective. Each of C0
and D0 will follow a predefined left shift table, these are shifted 16 iteration according to the table.
Hence, the left shift table produces a new pair of Cn and Dn at each iteration from the Cn and Dn
obtained from the iteration before. i.e C1 and D1 are produced from C0 and D0. Moreover, the shift
POLYTECHNIC VOL. 6 NO.3 October 2016
364
values vary from one iteration to another depending on the left shift table. For example, C1 and D1 are
produced from shifting C0 and D0 one bit, while C3 and D3 are produced from shifting C2 and D2 by
two bits.
Eventually each of the resulting Cn and Dn will be appended respectively to produce 16 keys of 56
bits. Furthermore, the 16 keys are placed in PC-2 table one at a time which yields 16 48 bit keys to be
used to cipher the plain text. The 48 bit keys produced are used directly to encipher the plain text in the
encryption process.
LeftShifts = new byte[16] { 1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1 };
Public Enum KeySize As Integer
TripleDES = 192
End Enum
Public Shared Property Key() As String
Get
Return _key
End Get
Set(ByVal value As String)
_key = value
End Set
End Property
Triple DES
2. Encrypt plaintext which included:
Initial Permutation: The input to this stage is 64 bits of the plain text according to the IP table’s various
blocks. In other words, if the value of the first block of the IP table is 58, then the 58th element of the
POLYTECHNIC VOL. 6 NO.3 October 2016
365
64 bits will be inserted there. This results in each elements of the IP table being replaced with the bit
indicated by that element.
'Initialization variables
Private Shared _key As String
Private Shared _algorithm As Algorithm = -1
Private Shared _content As String
Private Shared _exception As CryptographicException
Private Shared _encodingType As EncodingType = EncodingType.HEX
IP = new byte [8 * 8] {58, 50, 42 ..... 15, 7};
The Function F(): At this stage, the algorithm takes two parameters, the 48 bit keys generated from the
key generation process, and the 32 bit right half of the permuted plain text generated from the initial
permutation. The right block of plain text is expanded to 48 bits using the E selector order table, to
match the key length. Thereafter, the newly generated 48 bits of the right side of plaintext are XORed
with the 48 bits of the key producing the F() function output, which is a 48 bit block. Then the resulted
block will be divided in to eight different parts (the first part will be represented by the first six bits,
and the 2'nd six bits will represent the 2'nd part and so on). Here we have got eight blocks, each has six
bits and each part (the six bit block) a four bit block generated based on the following syntax (There
are eight S tables namely S1, S2, S3... S8. The maximum element in these tables is 15, meaning that the
maximum element's bit number is 4) the whole stages are illustrated in figure2.
Let the first 6 bits be abcdef, and then compute:
B1 = S1[2*a+f, 8*b+4*c+2*d+e] (1)
Let the second 6 bits be asdfgh, then compute B2 = S2[2*a+h, 8*s+4*d+2*f+g]. Let the eighth 6 bits
be zxcvbn, then compute:
B8 = S8[2*z+n, 8*x+4*c+2*v+b] (2)
Each one of these 8 blocks has 4 bits. This yields a 4*8=32 bit block (B1 B2 B3 B4 B5 B6 B7 B8)
which is finally permuted in the order of P table. (Stallings W. , 2003)
'Initialization Vectors that we will use for symmetric encryption/decryption. These
'byte arrays are completely arbitrary, and you can change them to whatever you like.
Private Shared IV_8 As Byte() = New Byte() {2, 63, 9, 36, 235, 174, 78, 12}
Private Shared IV_16 As Byte() = New Byte() {15, 199, 56, 77, 244, 126, 107, 239, _
POLYTECHNIC VOL. 6 NO.3 October 2016
366
9, 10, 88, 72, 24, 202, 31, 108}
Private Shared IV_24 As Byte() = New Byte() {37, 28, 19, 44, 25, 170, 122, 25, _
25, 57, 127, 5, 22, 1, 66, 65, _
14, 155, 224, 64, 9, 77, 18, 251}
Private Shared IV_32 As Byte() = New Byte() {133, 206, 56, 64, 110, 158, 132, 22, _
99, 190, 35, 129, 101, 49, 204, 248, _
251, 243, 13, 194, 160, 195, 89, 152, _
149, 227, 245, 5, 218, 86, 161, 124}
XOR Operation: It is 2-bit array function and implement to every bit in the array to be input. After that
the bits which the Exclusive-OR process implemented on them will be stored as a new bit array. The
implementation of this function will be as shown below: [6]
Bit[] Xor(Bit[] Left, Bit[] Right)
{ Bit[] Result = new Bit[Right.Length];
for (int i = 0; i < Right.Length; i++)
Result[i] = Left[i] ^ Right[i];
return Result; }
Reversing the Initial Permutation: This function is simply same as the primary Permutation function,
but the only different is that it will permute the inputs as IP-1 table.
3.1.2 Deciphering
TDES Decoding algorithm
private byte[] IP, IP1, P, E, PC1, PC2, LeftShifts;
private byte[,] Ss;
protected string Key = null;
private BitArray[] Keys;
public TDES()
{ InitializeTables(); }
POLYTECHNIC VOL. 6 NO.3 October 2016
367
protected BitArray Decrypt64Bit(BitArray block)
{ block = Table(IP, block);
BitArray Left = new BitArray(32),
Right = new BitArray(32),
Temp;
int tmp = block.Length / 2;
Copy(block, 0, Left, 0, tmp); //Left=block[0-31];
Copy(block, tmp, Right, 0, tmp); //Right=block[32-63];
for (int i = 1; i <= 16; i++)
{ Temp = Left;
Left = Right;
Right = Temp.Xor(F(Right, Keys[16 - i])); }
Copy(Right, 0, block, 0, 32); //block[0-31]=Right;
Copy(Left, 0, block, 32, 32); //block[32-63]=Left;
block = Table(IP1, block);
return block; }
private BitArray F(BitArray R, BitArray K)
{ R = Table(E, R);
BitArray B = R.Xor(K);
BitArray S = new BitArray(8 * 4);
int x, y;
BitArray Temp;
for (int i = 0; i < 8; i++)
{ x = (B[i * 6 + 0] ? 2 : 0) + (B[i * 6 + 5] ? 1 : 0);
y = (B[i * 6 + 1] ? 8 : 0) + (B[i * 6 + 2] ? 4 : 0) +
(B[i * 6 + 3] ? 2 : 0) + (B[i * 6 + 4] ? 1 : 0);
Temp = new BitArray(new byte[] { Ss[i, 16 * x + y] });
Copy(Temp, 0, S, i * 4, 4); }
S = Table(P, S);
return S; }
POLYTECHNIC VOL. 6 NO.3 October 2016
368
private void Copy(BitArray sourceArray, int sourceIndex,
BitArray destinationArray, int destinationIndex, int lenght)
{ for (int i = 0; i < lenght; i++)
{ if (sourceIndex + i < sourceArray.Length)
{ destinationArray[destinationIndex + i] = sourceArray[sourceIndex + i];}
else { destinationArray[destinationIndex + i] = false;}}}
3.1.3Key Generation
In this processes a sixteen various 48-bit keys will be produced by taking 56-bit key. firstly, the key to
be input will be permuted by following the order PC1 table that invoke a 56-bit block. After that the
resulted block will be divided into 2 parts, calling two 28-bit blocks (C0, C1) respectively, and will
input the 16 round diagram, every round will permute C(n+1), D(n+1) which will be done by
implementing a left shift to C(n) and D(n), eventually, (Cn)(Dn) will be permuted Depending on the
PC-2 table of invokes the nth Key (C0D0 in the order of PC-2 table calls the first key, C1D1 in the
order of PC-2 table calls the second key... C15D15 in the order of PC-2 table calls the fifteenth key). it
is good to know that every round has unlike number of left shift key, which is refer to C1D1 is
produced from C0D0 with only 1 left shift, C2D2 is obtained from C1D1 by one left shift, C3D3 is
obtained from C2D2 by two left shift, and so on. One left shift means that the bit on the position Xn
will become in the previous bit's position which is (Xn-1) 2, 3, … 28, figure3 shows the overall
process. [6]
3.2 Cipher Feedback (CFB)
This method process is a privacy method that Characteristics the feedback of consecutive encoded
message to the first primary blocks of input which has been sent by the to produce the result block(
output) which entered with the Original message in the exclusive-OR process to calculate the cipher
text or plaintext. The CFB method process employ an IV to be same as the block of initial input vector
which must be random, but not secret.
𝐶𝑖 = 𝐸 𝐾(𝐶𝑖−1) ⊕ 𝑃𝐼 (3)
𝑃𝑖 = 𝐸 𝐾(𝐶𝑖−1) ⊕ 𝐶𝑖 (4)
𝐶0 =IV (5)
Example for 8-bits input when the initial vector= 01001101 and initial 𝑃0= 11100101:
IV = 01001101
𝑃0= 11100101
POLYTECHNIC VOL. 6 NO.3 October 2016
369
𝐶0=IV = 01001101
𝐶1= 𝐸 𝑘 (𝐶0) ⊕ 𝑃𝑖
𝐶1 = 01001101 ⊕ 11100101 = 10101000
𝑃𝑖 = 𝐸 𝐾(𝐶𝑖−1) ⊕ 𝐶𝑖
𝑃0= 01001101 ⊕10101000 = 11100101 to original P.
The description above the easiest method of employing the CFB and it is not self- synchronizing any
longer as compared with other cipher methods as CBC. Where in case of losing the CBC and CFB of
the entire block size of the cipher text then it will synchronize, otherwise, losing of the part of it will
cast decoding forever to be capable to synchronize when losing of a single bit or byte, the lost part
should be decoded at time. This procedure can be employed when conjoin with a shift register in term
of an input for the block cipher. [1]
In order to employ the CFB for making a self-synchronizing cipher which is able to synchronize the
number of the lost bits, need to begin with initializing a shift register volume with the IV of the block
size, which is encoded with the block cipher, then both the greatest result of X bits and the X bits of the
plaintext will enter the XOR in order to generate the X bits of the cipher text which will be transferred
into the shift register, the procedure will be applied on the next X bits of the plaintext repeatedly. The
decoding will take the same actions of the encryption (encoding) procedure, starting again with the
initialization vector; decode then XOR the Greatest bit of the result with the X bits of the Cipher text in
order to generate the X bits of the plaintext. Then X bits of the cipher text will be transferred into the
shift register. Figure4 and 5 illustrate the both process of CFB (encryption and decryption). The
mentioned method of proceeding in called CFB-8 or CFB-1 (Depending on the shifting size). [7]
Additionally, where Si is the ith
state of the shift register, a << x is a shifted up x bits, head(a, x) is the
x highest bits of a and n is number of bits of IV:
𝐶𝑖 = ℎ𝑒𝑎𝑑 (𝐸 𝐾(𝑆𝑖−1), 𝑥)⨁𝑃𝑖 (6)
𝑃𝑖 = ℎ𝑒𝑎𝑑 (𝐸 𝐾(𝑆𝑖−1), 𝑥)⨁𝐶𝑖 (7)
𝑆𝑖 = ((𝑆𝑖−1 ≪ 𝑥) + 𝐶𝑖) 𝑚𝑜𝑑 2 𝑛
(8)
𝑆0 = 𝐼𝑉 (9)
Example for 8-bits input when the initial vector= 01001101, left shit register x=2 and initial 𝑆0=
11100101:
𝑆0= IV = 01001101, x=2 𝑃0= 11100101
𝐶1= head (𝐸 𝐾 (𝑆0),x) ⊕ 𝑃𝑖
𝐶1= head (𝐸 𝐾 (01001101 left shift by 2) ⊕11100101
𝐶1= head (𝐸 𝐾 (00110101) ⊕11100101
POLYTECHNIC VOL. 6 NO.3 October 2016
370
𝐶1= head (𝐸 𝐾 (11010000)
𝑃0= head (𝐸 𝐾 (𝑆0), x) ⊕ 𝐶1
𝑃0= head (𝐸 𝐾 (01001101), left shift by 2) ⊕11010000
𝑃0= head (𝐸 𝐾 (00110101) ⊕11010000
𝑃0= head (𝐸 𝐾 (11100101) to original P
public static byte[] EncryptStringToBytes(string plainText, byte[] key, byte[] iv)
{ byte[] encrypted;
byte[] plain = Encoding.ASCII.GetBytes(plainText);
using (TDESCryptoServiceProvider desAlg = new TDESCryptoServiceProvider()) {
desAlg.Key = key;
desAlg.IV = iv;
desAlg.Mode = CipherMode.CFB;
desAlg.Padding = PaddingMode.None;
Create an encryptor to perform the stream transform
ICryptoTransform encryptor = desAlg.CreateEncryptor(desAlg.Key, desAlg.IV);
//Create the streams used for encryption
using (MemoryStream msEncrypt = new MemoryStream()) {
using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor,
CryptoStreamMode.Write)) {
using (StreamWriter swEncrypt = new StreamWriter(csEncrypt)) {
//Write the data to the stream
swEncrypt.Write(plainText);
}
encrypted = msEncrypt.ToArray();
} } }
// Return the encrypted bytes from the memory stream.
return encrypted; }
POLYTECHNIC VOL. 6 NO.3 October 2016
371
4. Experimental Results
For some time, it has been a common practice to protect and transport a key for DES encryption with
triple-DES. This means that the plaintext is, in effect, encrypted three times. A number of modes of
TDES have been proposed:
i. DES-EEE3: Three DES encryptions with three different keys.
ii. DES-EDE3: Three DES operations in the sequence encrypt-decrypt-encrypt with three different
keys.
iii. DES-EEE2 and DES-EDE2: Same as the previous formats except that the first and third
operations use the same key.
Encryption can be further intensified with longer keys. Keys are usually 56 bits or 128 bits, with 56 bits
generally considered the smallest size for sufficient protection. For multinational organizations, this is a
problem because the U.S. State Department requires that exportable encryption technology use keys no
longer than 40 bits. In this paper, we use CFB with TDES to encrypt data. CFB is used to encrypt the
key required for TDES to enhance the algorithms security, a 64 bit key is input into CFB to produce a
ciphered key used by TDES. Afterwards, TDES algorithm is then applied to the plain text using the key
provided by CFB to produce the ciphered text. By doing so the TDES algorithm is enhanced such that
the primary key itself cannot decipher the text without the use of CBF. We provide results for ciphering
and deciphered at the appendix of our research. Figure6. [3]
5. Conclusion and Future work
In conclusion, we introduce a custom method of ciphering and deciphering relying on TDES and CFB.
The added security enables safe transmission of information over a network. These is no feasible
method to break a TDES cipher without knowing the key, hence we increase the security of the
algorithm at its weakest point, which is encrypting the key. This introduces a new level of security to
the TDES algorithm and its key security. [8]
At this point the algorithm provided can efficiently encipher text so that an attacker attempting to break
the key will still have the ciphering algorithms ambiguous. Our work does not add any overhead to the
sender and receiver, or increase any substantial time consumption since the key is only ciphered once
per session of communication. Thus the time requires is not any more than the time required by
ordinary TDES. [1,8]
POLYTECHNIC VOL. 6 NO.3 October 2016
372
Regarding future work, the algorithm may be further enhanced by expanding the key size to 128 bits,
this provides more complexity as the cipher becomes genuinely difficult to break, it would require a
tremendous amount of time to break the cipher without knowing the key.
References
[1] Preneel, Bart, et al. "Cryptanalysis of the CFB mode of the DES with a reduced number of
rounds." Advances in Cryptology—CRYPTO’93. Springer Berlin Heidelberg, 1994.‫‏‬
[2] Matsui, M.: On Correlation Between the Order of S-boxes and the Strength of DES. In: De Santis,
A. (ed.) EUROCRYPT 1994. LNCS, vol. 950, Springer, Heidelberg (1995), pp. 366–375.
[3] Dhir, Amit. "Data Encryption using DES/Triple-DES Functionality in Spartan-II FPGAs." White
Paper: Spartan-II FPGAs, WP115 (v1. 0) March 9 (2000).‫‏‬
[4] M.L. Akkar, C. G, "An Implementation of DES and AES, Secure against some Attaks", 2001.
[5] Schneier, B, "Description of a new variable-length key, 64-bit block cipher (Blowfish)", 2005.
[6] William Stallings, "Cryptography and Network Security: Principles and Practices" 3th ed, Prentice
Hall. 2003.
[7] William Stallings, "NIST Block Cipher Modes of Operation for Authentication and Combined
Confidentiality and Authentication." Cryptologia 34.3, 2010, pp. 225-235.‫‏‬
[8] William Stallings, "Cryptography and network security principles and practices," 4th ed., Pearson
Prentice Hall, 2006, pp. 401-419, pp. 433-435.
POLYTECHNIC VOL. 6 NO.3 October 2016
373
Figure1. Triple DES Encryption Algorithm
Figure2. The Function F()of the Enciphering algorithm
POLYTECHNIC VOL. 6 NO.3 October 2016
374
Figure3. The Key Generation Process
Figure4. CFB Mode Encryption
POLYTECHNIC VOL. 6 NO.3 October 2016
375
Figure5. CFB Mode Decryption
Figure6. Example for the final results
POLYTECHNIC VOL. 6 NO.3 October 2016
376
Triple Data Encryption Standard‫مع‬Cipher Feedback Block
Mode Operation‫لتشفير‏البيانات‏التي‏تنقل‏عبر‏الشبكة‏األنترنيت‬
‫ملخص‬
‫‏المخترقين‬ ‫‏من‬‫‏المعلومات‬‫‏حماية‬.‫‏الحاضر‬ ‫‏الوقت‬‫‏في‬‫‏البيانات‬‫‏أمن‬ ‫‏مجال‬‫‏في‬‫‏يدور‬‫‏كثيرة‬‫‏أبحاث‬ ‫هناك‬‫‏‬‫‏للمستخدمين‏‬‫‏عالية‬‫‏أهمية‬‫له‬
‫‏عبر‏شبكة‏‬‫‏تنقل‬‫‏التي‬‫‏الحساسة‬‫‏اإللكترونية‬‫‏المعلومات‬‫‏هي‬‫‏المعلومات‬‫‏ومعظم‬،‫‏العالم‬‫‏أنحاء‬‫‏جميع‬‫‏في‬‫‏والشركات‬‫‏والمنظمات‬‫شخصيا‬
‫اإلنترنت‏وتخزينها‏في‏النظام‏القائم‏على‏السحابة‏حاليا.‏في‏هذه‏البحث،‏نقترح‏طريقة‏لزيادة‏مستوى‏األمان‏في‏نقل‏الرسائل‬‫‏‬‫عبر‏شبكة‏‬
‫‏الموحدة‏‬‫‏البيانات‬‫‏تشفير‬‫‏الثالثي‬‫‏خوارزمية‬‫‏على‬‫‏أساسا‬‫‏تعتمد‬‫‏المقترحة‬‫‏الطريقة‬‫‏لدينا‬.‫‏السحابة‬‫‏في‬‫‏المخزنة‬‫‏المعلومات‬‫‏أو‬،‫اإلنترنت‬
TDES .TDES‫‏‬‫‏‬‫‏اختصار‬‫هي‬Data Encryption Standard‫‏‬‫‏‬‫وذلك‬‫‏يعتبر‏‬.‫‏متتالية‬‫‏مرات‬‫‏ثالث‬‫‏الموحدة‬‫‏البيانات‬‫‏تشفير‬‫يكرر‬
TDES‫‏‬‫آمنة‏للغاية‏حي‬‫ث‏ال‏يوجد‏طريقة‏للتطبيق‏كسر‏التشفير‏دون‏معرفة‏المفتاح.‏نقترح‏لتشفير‏مفتاح‏باستخدام‏خوارزمية‏‬CFB‫،‏‬
‫قبل‏استخدام‏‬TDES‫‏‬‫لتشفير‏البيانات.‏بحيث‏عندما‏يتم‏الكشف‏عن‏المفتاحاألصلي،‏اليمكن‏فك‏نص‏مشفر‏دون‏معرفة‏المفتاح‏المشفر‏‬
‫بطريقة‏‬CFB‫.‏هذا‏يدخل‏بعدا‏جديدا‏لألمن‏إلى‏خوارزمية‏‬TDES.‫‏‬
‫هذه‏الخوارزيمة‬‫‏‬‫يبين‬‫‏‬‫في‏هذه‏‬‫البحث‬‫‏‬‫زيادة‬‫‏‬‫أمن‏الخوارزمية‏‬TDES‫‏‬‫باستخدام‏‬CFB‫‏‬‫عن‏طريق‏زيادة‏‬‫أمن‏المفتاح‬‫،‏وفي‏الواقع‏ال‏يمكن‏‬
‫أن‏‬‫يتم‏فك‏تشفير‬‫‏‬‫النص‏دون‏‬‫معرفة‏بعض‏البيانات‏المهمة‏ومعرفة‬‫‏‬‫ال‬.‫مفتاح‏والخوارزميات‏المستخدمة‬‫‏‬
POLYTECHNIC VOL. 6 NO.3 October 2016
377
Triple Data Encryption Standard‫دطةل‬Cipher Feedback Block Mode
Operationَ‫ى‬‫فةطوهاستن‬ َ‫ى‬‫لدةم‬ ‫وان‬ ‫ثاراستنا‬ ‫َزانينا‬‫ي‬‫ث‬ ‫فةشارتنا‬ ‫يا‬
‫كو‬‫رتى‬
‫َزانينان‬‫ي‬‫ث‬ ‫فةشارتنا‬ .‫دةمى‬ ‫لفى‬ ‫َزانينان‬‫ي‬‫ث‬ ‫فةشارتنا‬ َ‫ى‬‫بابةت‬ ‫لسةر‬ ‫هةنة‬ ‫باش‬ ‫هةرة‬ ‫َن‬‫ي‬‫فةكولين‬ ‫طةلةك‬
‫ذبو‬ ‫و‬ ‫بتايبةت‬ ‫كومثيوتةرى‬ ‫َن‬‫ي‬‫َنةر‬‫ي‬‫بكاره‬ ‫ذبو‬ ‫هاكرز‬ ‫َن‬‫ي‬‫كةس‬ ‫ل‬ ‫طرنطة‬ ‫زور‬‫و‬ ‫َكخراوا‬‫ي‬‫ر‬‫كومثانيا‬
َ‫ى‬‫لدةم‬ َ‫ى‬‫فةشارتن‬ ‫ذبو‬ ‫طرنطن‬ ‫زور‬ ‫نوكة‬ ‫َزانينا‬‫ي‬‫ث‬ ‫ثرتينيا‬ ,َ‫ى‬‫جيهان‬ ‫لسةرتانسةرى‬‫َكا‬‫ي‬‫بر‬ َ‫ى‬‫هنارتن‬
َ‫ى‬‫َت‬‫ي‬‫ئةنرتن‬‫ذبو‬ ‫بكارئينان‬ ‫هاتية‬ ‫َكةك‬‫ي‬‫ر‬ ,َ‫ى‬‫فةكولين‬ ‫لفى‬ .‫دا‬ َ‫ى‬‫َت‬‫ي‬‫ن‬ َ‫ى‬‫سيستةم‬ ‫دناف‬ ‫وان‬ ‫كرنا‬ ‫وخةزن‬
‫َكا‬‫ي‬‫ر‬ َ‫ى‬‫فةكولين‬ ‫لفى‬ ,َ‫ى‬‫َت‬‫ي‬‫ئةنرتن‬ ‫َكا‬‫ي‬‫بر‬ ‫َزانينان‬‫ي‬‫ث‬ ‫هنارتنا‬ َ‫ى‬‫لدةم‬ ‫سيكيوريتى‬ ‫َدةكرنا‬‫ي‬‫ز‬TDES
Algorithm.‫بكارئيناية‬TDES‫ذ‬ ‫هاتى‬ ‫يا‬Data Encryption Standard‫كاردكةت‬ ‫جاران‬ َ‫ى‬‫س‬
.‫َزانينان‬‫ي‬‫ث‬ ‫فةشارتنا‬ ‫ذبو‬ ‫َك‬‫ي‬‫ئ‬ ‫لديف‬TDESَ‫ى‬‫كار‬ ‫نينة‬ ‫بةرنامةك‬ ‫هيج‬ ‫و‬ ‫هةية‬ ‫مازن‬ ‫زور‬ ‫سكيوريتيةكا‬
‫زانينا‬ َ‫ى‬‫ب‬ ‫َزانينان‬‫ي‬‫ث‬ ‫زانينا‬ ‫و‬ ‫هةبيت‬ َ‫ى‬‫َك‬‫ي‬‫ر‬ َ‫ى‬‫ف‬ ‫شكاندنا‬Key‫َكا‬‫ي‬‫ر‬ ‫مة‬ َ‫ى‬‫فةكولين‬ ‫لفى‬ ‫لةورا‬ .Cipher
Feedback Block mode operation‫بكارئيناية‬‫فةشارتنا‬ ‫ب‬ ‫رادبيت‬ ‫ئةفة‬Key‫بةرى‬TDES
‫بيت‬ ‫سيكيور‬ ‫يا‬ ‫َدةتر‬‫ي‬‫ز‬ َ‫ى‬‫َك‬‫ي‬‫ر‬ َ‫ى‬‫ف‬ ‫شكاندنا‬ ‫َكا‬‫ي‬‫ر‬ ‫داكو‬ ‫َزانينا‬‫ي‬‫ث‬ ‫فةشارتنا‬ َ‫ى‬‫بكار‬ ‫رابيت‬‫نةطةهشتنا‬ ‫و‬
‫ئةطةر‬ َ‫ى‬‫ضةند‬ َ‫ى‬‫بف‬ .‫ئورجيينال‬ ‫َن‬‫ي‬‫َزانين‬‫ي‬‫ث‬Key‫دكةن‬ ‫َكا‬‫ي‬‫ر‬ ‫فان‬ ‫شكاندنا‬ َ‫ى‬‫كار‬ ‫َن‬‫ي‬‫ذكةس‬ ‫زانني‬ ‫هاتة‬
‫جونكى‬ ‫ئورجيينال‬ ‫َزانينا‬‫ي‬‫ث‬ ‫بطةهيتة‬ ‫َت‬‫ي‬‫نةش‬Key‫َكا‬‫ي‬‫ر‬ ‫ب‬ ‫فةشارتن‬ ‫هاتية‬CFB mode
operation‫بو‬ ‫هاريكارة‬ َ‫ى‬‫فةكولين‬ ‫لفى‬ ‫َكة‬‫ي‬‫ر‬ ‫ئةف‬ .‫بيت‬ ‫تر‬ ‫ئالوز‬ ‫زور‬ َ‫ى‬‫َك‬‫ي‬‫ر‬ َ‫ى‬‫ف‬ ‫شكاندنا‬ ‫داكو‬
‫يا‬ ‫سيكيوريتى‬ ‫َدةكرنا‬‫ي‬‫ز‬TDES algorithm‫دطةل‬‫بكارئينانا‬CFB mode operation‫ذبو‬
‫سيكيوريتيا‬ ‫َدةكرنا‬‫ي‬‫ز‬Key.‫لسةر‬ ‫َزانينا‬‫ي‬‫ث‬ ‫زانينا‬ َ‫ى‬‫ب‬ ‫نةبيت‬ ‫ئورجيينال‬ ‫َن‬‫ي‬‫َزانين‬‫ي‬‫ث‬ ‫زفراندنا‬ َ‫ى‬‫َك‬‫ي‬‫ر‬ َ‫ى‬‫بف‬
.َ‫ى‬‫فةشارتن‬ ‫بكارئينانا‬ ‫ضةوانيا‬
Keywords: Data Encryption Standard, Triple Data Encryption Algorithm,
Cipher Feedback Block.

More Related Content

What's hot

A Comparative Analysis between SHA and MD5 algorithms
A Comparative Analysis between SHA and MD5 algorithms A Comparative Analysis between SHA and MD5 algorithms
A Comparative Analysis between SHA and MD5 algorithms Er Piyush Gupta IN ⊞⌘
 
Using Cipher Key to Generate Dynamic S-Box in AES Cipher System
Using Cipher Key to Generate Dynamic S-Box in AES Cipher SystemUsing Cipher Key to Generate Dynamic S-Box in AES Cipher System
Using Cipher Key to Generate Dynamic S-Box in AES Cipher SystemCSCJournals
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)IJERD Editor
 
Chapter 3-block-cipher-des1
Chapter 3-block-cipher-des1Chapter 3-block-cipher-des1
Chapter 3-block-cipher-des1Shiraz316
 
Minor Project- AES Implementation in Verilog
Minor Project- AES Implementation in VerilogMinor Project- AES Implementation in Verilog
Minor Project- AES Implementation in VerilogHardik Manocha
 
Hash& mac algorithms
Hash& mac algorithmsHash& mac algorithms
Hash& mac algorithmsHarry Potter
 
FPGA Implementation of an Area Optimized Architecture for 128 bit AES Algorithm
FPGA Implementation of an Area Optimized Architecture for 128 bit AES AlgorithmFPGA Implementation of an Area Optimized Architecture for 128 bit AES Algorithm
FPGA Implementation of an Area Optimized Architecture for 128 bit AES AlgorithmIJERA Editor
 
Data streaming algorithms
Data streaming algorithmsData streaming algorithms
Data streaming algorithmsHridyesh Bisht
 
Aes 128 192_256_bits_project_report
Aes 128 192_256_bits_project_reportAes 128 192_256_bits_project_report
Aes 128 192_256_bits_project_reportsakhi rehman
 
Modern Block Cipher- Modern Symmetric-Key Cipher
Modern Block Cipher- Modern Symmetric-Key CipherModern Block Cipher- Modern Symmetric-Key Cipher
Modern Block Cipher- Modern Symmetric-Key CipherMahbubur Rahman
 
AES-Advanced Encryption Standard
AES-Advanced Encryption StandardAES-Advanced Encryption Standard
AES-Advanced Encryption StandardPrince Rachit
 

What's hot (15)

AES Cryptosystem
AES CryptosystemAES Cryptosystem
AES Cryptosystem
 
A Comparative Analysis between SHA and MD5 algorithms
A Comparative Analysis between SHA and MD5 algorithms A Comparative Analysis between SHA and MD5 algorithms
A Comparative Analysis between SHA and MD5 algorithms
 
Using Cipher Key to Generate Dynamic S-Box in AES Cipher System
Using Cipher Key to Generate Dynamic S-Box in AES Cipher SystemUsing Cipher Key to Generate Dynamic S-Box in AES Cipher System
Using Cipher Key to Generate Dynamic S-Box in AES Cipher System
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
Chapter 3-block-cipher-des1
Chapter 3-block-cipher-des1Chapter 3-block-cipher-des1
Chapter 3-block-cipher-des1
 
Minor Project- AES Implementation in Verilog
Minor Project- AES Implementation in VerilogMinor Project- AES Implementation in Verilog
Minor Project- AES Implementation in Verilog
 
Hash& mac algorithms
Hash& mac algorithmsHash& mac algorithms
Hash& mac algorithms
 
Ch12
Ch12Ch12
Ch12
 
Aes
AesAes
Aes
 
FPGA Implementation of an Area Optimized Architecture for 128 bit AES Algorithm
FPGA Implementation of an Area Optimized Architecture for 128 bit AES AlgorithmFPGA Implementation of an Area Optimized Architecture for 128 bit AES Algorithm
FPGA Implementation of an Area Optimized Architecture for 128 bit AES Algorithm
 
Data streaming algorithms
Data streaming algorithmsData streaming algorithms
Data streaming algorithms
 
Aes 128 192_256_bits_project_report
Aes 128 192_256_bits_project_reportAes 128 192_256_bits_project_report
Aes 128 192_256_bits_project_report
 
SHA 1 Algorithm
SHA 1 AlgorithmSHA 1 Algorithm
SHA 1 Algorithm
 
Modern Block Cipher- Modern Symmetric-Key Cipher
Modern Block Cipher- Modern Symmetric-Key CipherModern Block Cipher- Modern Symmetric-Key Cipher
Modern Block Cipher- Modern Symmetric-Key Cipher
 
AES-Advanced Encryption Standard
AES-Advanced Encryption StandardAES-Advanced Encryption Standard
AES-Advanced Encryption Standard
 

Similar to Renas Rajab Asaad

Data Encryption standard in cryptography
Data Encryption standard in cryptographyData Encryption standard in cryptography
Data Encryption standard in cryptographyNithyasriA2
 
Information and data security block cipher and the data encryption standard (...
Information and data security block cipher and the data encryption standard (...Information and data security block cipher and the data encryption standard (...
Information and data security block cipher and the data encryption standard (...Mazin Alwaaly
 
New modification on feistel DES algorithm based on multi-level keys
New modification on feistel DES algorithm based on  multi-level keys New modification on feistel DES algorithm based on  multi-level keys
New modification on feistel DES algorithm based on multi-level keys IJECEIAES
 
Security Analysis of AES and Enhancing its Security by Modifying S-Box with a...
Security Analysis of AES and Enhancing its Security by Modifying S-Box with a...Security Analysis of AES and Enhancing its Security by Modifying S-Box with a...
Security Analysis of AES and Enhancing its Security by Modifying S-Box with a...IJCNCJournal
 
Jaimin chp-8 - network security-new -use this - 2011 batch
Jaimin   chp-8 - network security-new -use this -  2011 batchJaimin   chp-8 - network security-new -use this -  2011 batch
Jaimin chp-8 - network security-new -use this - 2011 batchJaimin Jani
 
Performance Analysis of Data Encryption Standard DES
Performance Analysis of Data Encryption Standard DESPerformance Analysis of Data Encryption Standard DES
Performance Analysis of Data Encryption Standard DESijtsrd
 
ENSEMBLE OF BLOWFISH WITH CHAOS BASED S BOX DESIGN FOR TEXT AND IMAGE ENCRYPTION
ENSEMBLE OF BLOWFISH WITH CHAOS BASED S BOX DESIGN FOR TEXT AND IMAGE ENCRYPTIONENSEMBLE OF BLOWFISH WITH CHAOS BASED S BOX DESIGN FOR TEXT AND IMAGE ENCRYPTION
ENSEMBLE OF BLOWFISH WITH CHAOS BASED S BOX DESIGN FOR TEXT AND IMAGE ENCRYPTIONIJNSA Journal
 
Block Cipher.cryptography_miu_year5.pptx
Block Cipher.cryptography_miu_year5.pptxBlock Cipher.cryptography_miu_year5.pptx
Block Cipher.cryptography_miu_year5.pptxHodaAhmedBekhitAhmed
 
Renas Rajab Asaad
Renas Rajab Asaad Renas Rajab Asaad
Renas Rajab Asaad Renas Rekany
 
Overview on Cryptography and Network Security
Overview on Cryptography and Network SecurityOverview on Cryptography and Network Security
Overview on Cryptography and Network SecurityDr. Rupa Ch
 
New Technique Using Multiple Symmetric keys for Multilevel Encryption
New Technique Using Multiple Symmetric keys for Multilevel EncryptionNew Technique Using Multiple Symmetric keys for Multilevel Encryption
New Technique Using Multiple Symmetric keys for Multilevel EncryptionIJERA Editor
 

Similar to Renas Rajab Asaad (20)

Data Encryption standard in cryptography
Data Encryption standard in cryptographyData Encryption standard in cryptography
Data Encryption standard in cryptography
 
Information and data security block cipher and the data encryption standard (...
Information and data security block cipher and the data encryption standard (...Information and data security block cipher and the data encryption standard (...
Information and data security block cipher and the data encryption standard (...
 
Cryptography
CryptographyCryptography
Cryptography
 
New modification on feistel DES algorithm based on multi-level keys
New modification on feistel DES algorithm based on  multi-level keys New modification on feistel DES algorithm based on  multi-level keys
New modification on feistel DES algorithm based on multi-level keys
 
Proposing an Encryption Algorithm based on DES
Proposing an Encryption Algorithm based on DESProposing an Encryption Algorithm based on DES
Proposing an Encryption Algorithm based on DES
 
chap3.pdf
chap3.pdfchap3.pdf
chap3.pdf
 
Security Analysis of AES and Enhancing its Security by Modifying S-Box with a...
Security Analysis of AES and Enhancing its Security by Modifying S-Box with a...Security Analysis of AES and Enhancing its Security by Modifying S-Box with a...
Security Analysis of AES and Enhancing its Security by Modifying S-Box with a...
 
Jaimin chp-8 - network security-new -use this - 2011 batch
Jaimin   chp-8 - network security-new -use this -  2011 batchJaimin   chp-8 - network security-new -use this -  2011 batch
Jaimin chp-8 - network security-new -use this - 2011 batch
 
Performance Analysis of Data Encryption Standard DES
Performance Analysis of Data Encryption Standard DESPerformance Analysis of Data Encryption Standard DES
Performance Analysis of Data Encryption Standard DES
 
Network Security Lec4
Network Security Lec4Network Security Lec4
Network Security Lec4
 
ENSEMBLE OF BLOWFISH WITH CHAOS BASED S BOX DESIGN FOR TEXT AND IMAGE ENCRYPTION
ENSEMBLE OF BLOWFISH WITH CHAOS BASED S BOX DESIGN FOR TEXT AND IMAGE ENCRYPTIONENSEMBLE OF BLOWFISH WITH CHAOS BASED S BOX DESIGN FOR TEXT AND IMAGE ENCRYPTION
ENSEMBLE OF BLOWFISH WITH CHAOS BASED S BOX DESIGN FOR TEXT AND IMAGE ENCRYPTION
 
Final report
Final reportFinal report
Final report
 
icwet1097
icwet1097icwet1097
icwet1097
 
Block Cipher.cryptography_miu_year5.pptx
Block Cipher.cryptography_miu_year5.pptxBlock Cipher.cryptography_miu_year5.pptx
Block Cipher.cryptography_miu_year5.pptx
 
Renas Rajab Asaad
Renas Rajab Asaad Renas Rajab Asaad
Renas Rajab Asaad
 
Overview on Cryptography and Network Security
Overview on Cryptography and Network SecurityOverview on Cryptography and Network Security
Overview on Cryptography and Network Security
 
DES.ppt
DES.pptDES.ppt
DES.ppt
 
New Technique Using Multiple Symmetric keys for Multilevel Encryption
New Technique Using Multiple Symmetric keys for Multilevel EncryptionNew Technique Using Multiple Symmetric keys for Multilevel Encryption
New Technique Using Multiple Symmetric keys for Multilevel Encryption
 
Encryption
EncryptionEncryption
Encryption
 
1 DES.pdf
1 DES.pdf1 DES.pdf
1 DES.pdf
 

More from Renas Rekany

More from Renas Rekany (20)

decision making
decision makingdecision making
decision making
 
Artificial Neural Network
Artificial Neural NetworkArtificial Neural Network
Artificial Neural Network
 
AI heuristic search
AI heuristic searchAI heuristic search
AI heuristic search
 
AI local search
AI local searchAI local search
AI local search
 
AI simple search strategies
AI simple search strategiesAI simple search strategies
AI simple search strategies
 
C# p9
C# p9C# p9
C# p9
 
C# p8
C# p8C# p8
C# p8
 
C# p7
C# p7C# p7
C# p7
 
C# p6
C# p6C# p6
C# p6
 
C# p5
C# p5C# p5
C# p5
 
C# p4
C# p4C# p4
C# p4
 
C# p3
C# p3C# p3
C# p3
 
C# p2
C# p2C# p2
C# p2
 
C# p1
C# p1C# p1
C# p1
 
C# with Renas
C# with RenasC# with Renas
C# with Renas
 
Object oriented programming inheritance
Object oriented programming inheritanceObject oriented programming inheritance
Object oriented programming inheritance
 
Object oriented programming
Object oriented programmingObject oriented programming
Object oriented programming
 
Renas Rajab Asaad
Renas Rajab Asaad Renas Rajab Asaad
Renas Rajab Asaad
 
Renas Rajab Asaad
Renas Rajab Asaad Renas Rajab Asaad
Renas Rajab Asaad
 
Kurdish computer skills lec1, Renas R. Rekany
Kurdish computer skills lec1, Renas R. RekanyKurdish computer skills lec1, Renas R. Rekany
Kurdish computer skills lec1, Renas R. Rekany
 

Recently uploaded

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 

Recently uploaded (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 

Renas Rajab Asaad

  • 1. POLYTECHNIC VOL. 6 NO.3 October 2016 362 Triple Data Encryption Standard and Cipher Feedback Block Mode Operation Cryptography Approach for Securing Data Transmission Renas Rajab Asaad College of Computer Science, Nawroz University, Duhok-Zakho Road, Kurdistan Region- Iraq renas_rekany@yahoo.com Abstract There is great research going on in the field of data security nowadays. Protecting information from disclosure and breach is of high importance to users personally and to organizations and businesses around the world, as most of information currently are sensitive electronic information transferred over the internet and stored in cloud based system. In this paper, we propose a method to increase the security of messages transferred on the internet, or information stored in the cloud. Our proposed method mainly relies on the Triple Data Encryption Standard (TDES) algorithm. TDES is intact the Data Encryption Standard repeated three times in succession to encrypt data. TDES is considered highly secure as there is no applicable method to break the code itself without knowing the key. We propose to encrypt the key using Cipher Feedback Block algorithm, before using TDES to encrypt data. Such that even when the key is disclosed, the key itself cannot decipher the ciphered text without enciphering the key with CFB. This introduces a new dimension of security to the TDES algorithm. The method introduced in this paper increases the security of the TDES algorithm using CFB algorithm by increasing the key security, such that it is actually not possible to decipher the text without prior knowledge and agreement of key and algorithms used. Keywords: Data Encryption Standard, Triple Data Encryption Algorithm, Cipher Feedback Block. 1. Introduction Cryptography is a science that is concerned with ensuring privacy and security. This involves several cryptosystems, each made up of a collection of algorithms that put as a target providing the information security. “Recently, cryptosystems are wide utilized in all branches of digital technology, electronic mails, and internet banking. This paper briefly explains common cryptosystems, and investigates the two most popular private-key ciphers: DES, TDES, which are probably the most widely used. Now“. Let's begin with an overview of the common cryptosystems. [2,4] 2. Related works A lot of research and development involves DES and TDES nowadays. DES and TDES are already implemented in many cases individually. In this article, TDES is being used to encrypt plain text three
  • 2. POLYTECHNIC VOL. 6 NO.3 October 2016 363 times consecutively, along with CBF which is used to encrypt the key for each iteration of the TDES algorithm. i.e. CBF encrypts the key to produce cipher key one, which in turn is used to encrypt the plain text producing cipher text 1, then CBF encrypts cipher key one resulting in cipher key two, which encrypts cipher text one to two for the second iteration of TDES. The third iteration resumes as before resulting in the final cipher text which is sent to the receiver along with the original key. Hence, the algorithm described in this paper relies on the privacy of the algorithm while the key is considered public. Note that the algorithm focuses on enhancing TDES by encrypting the key using CBF, this results in a more secure algorithm based on CBF enhancement to key security. [4] 3. The Proposed Approach of Cryptography 3.1 Triple DES Encryption Algorithm DES is amongst the most famous crypto-systems used worldwide. based on Horst Feistel’s design which ensures that the encryption and description are similar processes, the only exception is that the key’s are applied in reverse order while decrypting. this model makes use of 64 and 56 bit block volume for key. [4,5,6]. Figure1 shows the encoding process of the TDES algorithm. The figure clearly illustrates the process of encryption, and decryption if the key generation process is used in reverse order. it is important to note that 16 keys will be produced from the original key before the algorithm indicated in the figure can be implemented. 3.1.1 Enciphering The algorithm described in figure1, 2 and 3, is based on four stages, permutation, an f() function, S boxes and a final permutation. The algorithm also includes a key generation process which results in a cipher key for the encryption process. 'Salt value used to encrypt a plain text key. Again, this can be whatever you like Private Shared SALT_BYTES As Byte() = New Byte() {162, 27, 98, 1, 28, 239, 64, 30, 156, 102, 223} 'File names to be used for public and private keys Private Const KEY_PUBLIC As String = "public.key" Private Const KEY_PRIVATE As String = "private.key" 1. Key generation: The key generation process involves taking the 64 bit ciphered key produced by the CFB algorithm, and permuting the ciphered key according to the DES algorithm. This involves arranging the 64 bit key in the table PC1, specified by the values previously in the table. i.e if a cell has the value 9, then the 9th bit of the key is placed there. The result of permuting the key using PC-1 results in a 56 bit key as the table ignores the first bit of each byte. Afterwards, the newly generated 56 bit key is split into table C0 and D0, each taking 28 bits of the key left and right respective. Each of C0 and D0 will follow a predefined left shift table, these are shifted 16 iteration according to the table. Hence, the left shift table produces a new pair of Cn and Dn at each iteration from the Cn and Dn obtained from the iteration before. i.e C1 and D1 are produced from C0 and D0. Moreover, the shift
  • 3. POLYTECHNIC VOL. 6 NO.3 October 2016 364 values vary from one iteration to another depending on the left shift table. For example, C1 and D1 are produced from shifting C0 and D0 one bit, while C3 and D3 are produced from shifting C2 and D2 by two bits. Eventually each of the resulting Cn and Dn will be appended respectively to produce 16 keys of 56 bits. Furthermore, the 16 keys are placed in PC-2 table one at a time which yields 16 48 bit keys to be used to cipher the plain text. The 48 bit keys produced are used directly to encipher the plain text in the encryption process. LeftShifts = new byte[16] { 1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1 }; Public Enum KeySize As Integer TripleDES = 192 End Enum Public Shared Property Key() As String Get Return _key End Get Set(ByVal value As String) _key = value End Set End Property Triple DES 2. Encrypt plaintext which included: Initial Permutation: The input to this stage is 64 bits of the plain text according to the IP table’s various blocks. In other words, if the value of the first block of the IP table is 58, then the 58th element of the
  • 4. POLYTECHNIC VOL. 6 NO.3 October 2016 365 64 bits will be inserted there. This results in each elements of the IP table being replaced with the bit indicated by that element. 'Initialization variables Private Shared _key As String Private Shared _algorithm As Algorithm = -1 Private Shared _content As String Private Shared _exception As CryptographicException Private Shared _encodingType As EncodingType = EncodingType.HEX IP = new byte [8 * 8] {58, 50, 42 ..... 15, 7}; The Function F(): At this stage, the algorithm takes two parameters, the 48 bit keys generated from the key generation process, and the 32 bit right half of the permuted plain text generated from the initial permutation. The right block of plain text is expanded to 48 bits using the E selector order table, to match the key length. Thereafter, the newly generated 48 bits of the right side of plaintext are XORed with the 48 bits of the key producing the F() function output, which is a 48 bit block. Then the resulted block will be divided in to eight different parts (the first part will be represented by the first six bits, and the 2'nd six bits will represent the 2'nd part and so on). Here we have got eight blocks, each has six bits and each part (the six bit block) a four bit block generated based on the following syntax (There are eight S tables namely S1, S2, S3... S8. The maximum element in these tables is 15, meaning that the maximum element's bit number is 4) the whole stages are illustrated in figure2. Let the first 6 bits be abcdef, and then compute: B1 = S1[2*a+f, 8*b+4*c+2*d+e] (1) Let the second 6 bits be asdfgh, then compute B2 = S2[2*a+h, 8*s+4*d+2*f+g]. Let the eighth 6 bits be zxcvbn, then compute: B8 = S8[2*z+n, 8*x+4*c+2*v+b] (2) Each one of these 8 blocks has 4 bits. This yields a 4*8=32 bit block (B1 B2 B3 B4 B5 B6 B7 B8) which is finally permuted in the order of P table. (Stallings W. , 2003) 'Initialization Vectors that we will use for symmetric encryption/decryption. These 'byte arrays are completely arbitrary, and you can change them to whatever you like. Private Shared IV_8 As Byte() = New Byte() {2, 63, 9, 36, 235, 174, 78, 12} Private Shared IV_16 As Byte() = New Byte() {15, 199, 56, 77, 244, 126, 107, 239, _
  • 5. POLYTECHNIC VOL. 6 NO.3 October 2016 366 9, 10, 88, 72, 24, 202, 31, 108} Private Shared IV_24 As Byte() = New Byte() {37, 28, 19, 44, 25, 170, 122, 25, _ 25, 57, 127, 5, 22, 1, 66, 65, _ 14, 155, 224, 64, 9, 77, 18, 251} Private Shared IV_32 As Byte() = New Byte() {133, 206, 56, 64, 110, 158, 132, 22, _ 99, 190, 35, 129, 101, 49, 204, 248, _ 251, 243, 13, 194, 160, 195, 89, 152, _ 149, 227, 245, 5, 218, 86, 161, 124} XOR Operation: It is 2-bit array function and implement to every bit in the array to be input. After that the bits which the Exclusive-OR process implemented on them will be stored as a new bit array. The implementation of this function will be as shown below: [6] Bit[] Xor(Bit[] Left, Bit[] Right) { Bit[] Result = new Bit[Right.Length]; for (int i = 0; i < Right.Length; i++) Result[i] = Left[i] ^ Right[i]; return Result; } Reversing the Initial Permutation: This function is simply same as the primary Permutation function, but the only different is that it will permute the inputs as IP-1 table. 3.1.2 Deciphering TDES Decoding algorithm private byte[] IP, IP1, P, E, PC1, PC2, LeftShifts; private byte[,] Ss; protected string Key = null; private BitArray[] Keys; public TDES() { InitializeTables(); }
  • 6. POLYTECHNIC VOL. 6 NO.3 October 2016 367 protected BitArray Decrypt64Bit(BitArray block) { block = Table(IP, block); BitArray Left = new BitArray(32), Right = new BitArray(32), Temp; int tmp = block.Length / 2; Copy(block, 0, Left, 0, tmp); //Left=block[0-31]; Copy(block, tmp, Right, 0, tmp); //Right=block[32-63]; for (int i = 1; i <= 16; i++) { Temp = Left; Left = Right; Right = Temp.Xor(F(Right, Keys[16 - i])); } Copy(Right, 0, block, 0, 32); //block[0-31]=Right; Copy(Left, 0, block, 32, 32); //block[32-63]=Left; block = Table(IP1, block); return block; } private BitArray F(BitArray R, BitArray K) { R = Table(E, R); BitArray B = R.Xor(K); BitArray S = new BitArray(8 * 4); int x, y; BitArray Temp; for (int i = 0; i < 8; i++) { x = (B[i * 6 + 0] ? 2 : 0) + (B[i * 6 + 5] ? 1 : 0); y = (B[i * 6 + 1] ? 8 : 0) + (B[i * 6 + 2] ? 4 : 0) + (B[i * 6 + 3] ? 2 : 0) + (B[i * 6 + 4] ? 1 : 0); Temp = new BitArray(new byte[] { Ss[i, 16 * x + y] }); Copy(Temp, 0, S, i * 4, 4); } S = Table(P, S); return S; }
  • 7. POLYTECHNIC VOL. 6 NO.3 October 2016 368 private void Copy(BitArray sourceArray, int sourceIndex, BitArray destinationArray, int destinationIndex, int lenght) { for (int i = 0; i < lenght; i++) { if (sourceIndex + i < sourceArray.Length) { destinationArray[destinationIndex + i] = sourceArray[sourceIndex + i];} else { destinationArray[destinationIndex + i] = false;}}} 3.1.3Key Generation In this processes a sixteen various 48-bit keys will be produced by taking 56-bit key. firstly, the key to be input will be permuted by following the order PC1 table that invoke a 56-bit block. After that the resulted block will be divided into 2 parts, calling two 28-bit blocks (C0, C1) respectively, and will input the 16 round diagram, every round will permute C(n+1), D(n+1) which will be done by implementing a left shift to C(n) and D(n), eventually, (Cn)(Dn) will be permuted Depending on the PC-2 table of invokes the nth Key (C0D0 in the order of PC-2 table calls the first key, C1D1 in the order of PC-2 table calls the second key... C15D15 in the order of PC-2 table calls the fifteenth key). it is good to know that every round has unlike number of left shift key, which is refer to C1D1 is produced from C0D0 with only 1 left shift, C2D2 is obtained from C1D1 by one left shift, C3D3 is obtained from C2D2 by two left shift, and so on. One left shift means that the bit on the position Xn will become in the previous bit's position which is (Xn-1) 2, 3, … 28, figure3 shows the overall process. [6] 3.2 Cipher Feedback (CFB) This method process is a privacy method that Characteristics the feedback of consecutive encoded message to the first primary blocks of input which has been sent by the to produce the result block( output) which entered with the Original message in the exclusive-OR process to calculate the cipher text or plaintext. The CFB method process employ an IV to be same as the block of initial input vector which must be random, but not secret. 𝐶𝑖 = 𝐸 𝐾(𝐶𝑖−1) ⊕ 𝑃𝐼 (3) 𝑃𝑖 = 𝐸 𝐾(𝐶𝑖−1) ⊕ 𝐶𝑖 (4) 𝐶0 =IV (5) Example for 8-bits input when the initial vector= 01001101 and initial 𝑃0= 11100101: IV = 01001101 𝑃0= 11100101
  • 8. POLYTECHNIC VOL. 6 NO.3 October 2016 369 𝐶0=IV = 01001101 𝐶1= 𝐸 𝑘 (𝐶0) ⊕ 𝑃𝑖 𝐶1 = 01001101 ⊕ 11100101 = 10101000 𝑃𝑖 = 𝐸 𝐾(𝐶𝑖−1) ⊕ 𝐶𝑖 𝑃0= 01001101 ⊕10101000 = 11100101 to original P. The description above the easiest method of employing the CFB and it is not self- synchronizing any longer as compared with other cipher methods as CBC. Where in case of losing the CBC and CFB of the entire block size of the cipher text then it will synchronize, otherwise, losing of the part of it will cast decoding forever to be capable to synchronize when losing of a single bit or byte, the lost part should be decoded at time. This procedure can be employed when conjoin with a shift register in term of an input for the block cipher. [1] In order to employ the CFB for making a self-synchronizing cipher which is able to synchronize the number of the lost bits, need to begin with initializing a shift register volume with the IV of the block size, which is encoded with the block cipher, then both the greatest result of X bits and the X bits of the plaintext will enter the XOR in order to generate the X bits of the cipher text which will be transferred into the shift register, the procedure will be applied on the next X bits of the plaintext repeatedly. The decoding will take the same actions of the encryption (encoding) procedure, starting again with the initialization vector; decode then XOR the Greatest bit of the result with the X bits of the Cipher text in order to generate the X bits of the plaintext. Then X bits of the cipher text will be transferred into the shift register. Figure4 and 5 illustrate the both process of CFB (encryption and decryption). The mentioned method of proceeding in called CFB-8 or CFB-1 (Depending on the shifting size). [7] Additionally, where Si is the ith state of the shift register, a << x is a shifted up x bits, head(a, x) is the x highest bits of a and n is number of bits of IV: 𝐶𝑖 = ℎ𝑒𝑎𝑑 (𝐸 𝐾(𝑆𝑖−1), 𝑥)⨁𝑃𝑖 (6) 𝑃𝑖 = ℎ𝑒𝑎𝑑 (𝐸 𝐾(𝑆𝑖−1), 𝑥)⨁𝐶𝑖 (7) 𝑆𝑖 = ((𝑆𝑖−1 ≪ 𝑥) + 𝐶𝑖) 𝑚𝑜𝑑 2 𝑛 (8) 𝑆0 = 𝐼𝑉 (9) Example for 8-bits input when the initial vector= 01001101, left shit register x=2 and initial 𝑆0= 11100101: 𝑆0= IV = 01001101, x=2 𝑃0= 11100101 𝐶1= head (𝐸 𝐾 (𝑆0),x) ⊕ 𝑃𝑖 𝐶1= head (𝐸 𝐾 (01001101 left shift by 2) ⊕11100101 𝐶1= head (𝐸 𝐾 (00110101) ⊕11100101
  • 9. POLYTECHNIC VOL. 6 NO.3 October 2016 370 𝐶1= head (𝐸 𝐾 (11010000) 𝑃0= head (𝐸 𝐾 (𝑆0), x) ⊕ 𝐶1 𝑃0= head (𝐸 𝐾 (01001101), left shift by 2) ⊕11010000 𝑃0= head (𝐸 𝐾 (00110101) ⊕11010000 𝑃0= head (𝐸 𝐾 (11100101) to original P public static byte[] EncryptStringToBytes(string plainText, byte[] key, byte[] iv) { byte[] encrypted; byte[] plain = Encoding.ASCII.GetBytes(plainText); using (TDESCryptoServiceProvider desAlg = new TDESCryptoServiceProvider()) { desAlg.Key = key; desAlg.IV = iv; desAlg.Mode = CipherMode.CFB; desAlg.Padding = PaddingMode.None; Create an encryptor to perform the stream transform ICryptoTransform encryptor = desAlg.CreateEncryptor(desAlg.Key, desAlg.IV); //Create the streams used for encryption using (MemoryStream msEncrypt = new MemoryStream()) { using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write)) { using (StreamWriter swEncrypt = new StreamWriter(csEncrypt)) { //Write the data to the stream swEncrypt.Write(plainText); } encrypted = msEncrypt.ToArray(); } } } // Return the encrypted bytes from the memory stream. return encrypted; }
  • 10. POLYTECHNIC VOL. 6 NO.3 October 2016 371 4. Experimental Results For some time, it has been a common practice to protect and transport a key for DES encryption with triple-DES. This means that the plaintext is, in effect, encrypted three times. A number of modes of TDES have been proposed: i. DES-EEE3: Three DES encryptions with three different keys. ii. DES-EDE3: Three DES operations in the sequence encrypt-decrypt-encrypt with three different keys. iii. DES-EEE2 and DES-EDE2: Same as the previous formats except that the first and third operations use the same key. Encryption can be further intensified with longer keys. Keys are usually 56 bits or 128 bits, with 56 bits generally considered the smallest size for sufficient protection. For multinational organizations, this is a problem because the U.S. State Department requires that exportable encryption technology use keys no longer than 40 bits. In this paper, we use CFB with TDES to encrypt data. CFB is used to encrypt the key required for TDES to enhance the algorithms security, a 64 bit key is input into CFB to produce a ciphered key used by TDES. Afterwards, TDES algorithm is then applied to the plain text using the key provided by CFB to produce the ciphered text. By doing so the TDES algorithm is enhanced such that the primary key itself cannot decipher the text without the use of CBF. We provide results for ciphering and deciphered at the appendix of our research. Figure6. [3] 5. Conclusion and Future work In conclusion, we introduce a custom method of ciphering and deciphering relying on TDES and CFB. The added security enables safe transmission of information over a network. These is no feasible method to break a TDES cipher without knowing the key, hence we increase the security of the algorithm at its weakest point, which is encrypting the key. This introduces a new level of security to the TDES algorithm and its key security. [8] At this point the algorithm provided can efficiently encipher text so that an attacker attempting to break the key will still have the ciphering algorithms ambiguous. Our work does not add any overhead to the sender and receiver, or increase any substantial time consumption since the key is only ciphered once per session of communication. Thus the time requires is not any more than the time required by ordinary TDES. [1,8]
  • 11. POLYTECHNIC VOL. 6 NO.3 October 2016 372 Regarding future work, the algorithm may be further enhanced by expanding the key size to 128 bits, this provides more complexity as the cipher becomes genuinely difficult to break, it would require a tremendous amount of time to break the cipher without knowing the key. References [1] Preneel, Bart, et al. "Cryptanalysis of the CFB mode of the DES with a reduced number of rounds." Advances in Cryptology—CRYPTO’93. Springer Berlin Heidelberg, 1994.‫‏‬ [2] Matsui, M.: On Correlation Between the Order of S-boxes and the Strength of DES. In: De Santis, A. (ed.) EUROCRYPT 1994. LNCS, vol. 950, Springer, Heidelberg (1995), pp. 366–375. [3] Dhir, Amit. "Data Encryption using DES/Triple-DES Functionality in Spartan-II FPGAs." White Paper: Spartan-II FPGAs, WP115 (v1. 0) March 9 (2000).‫‏‬ [4] M.L. Akkar, C. G, "An Implementation of DES and AES, Secure against some Attaks", 2001. [5] Schneier, B, "Description of a new variable-length key, 64-bit block cipher (Blowfish)", 2005. [6] William Stallings, "Cryptography and Network Security: Principles and Practices" 3th ed, Prentice Hall. 2003. [7] William Stallings, "NIST Block Cipher Modes of Operation for Authentication and Combined Confidentiality and Authentication." Cryptologia 34.3, 2010, pp. 225-235.‫‏‬ [8] William Stallings, "Cryptography and network security principles and practices," 4th ed., Pearson Prentice Hall, 2006, pp. 401-419, pp. 433-435.
  • 12. POLYTECHNIC VOL. 6 NO.3 October 2016 373 Figure1. Triple DES Encryption Algorithm Figure2. The Function F()of the Enciphering algorithm
  • 13. POLYTECHNIC VOL. 6 NO.3 October 2016 374 Figure3. The Key Generation Process Figure4. CFB Mode Encryption
  • 14. POLYTECHNIC VOL. 6 NO.3 October 2016 375 Figure5. CFB Mode Decryption Figure6. Example for the final results
  • 15. POLYTECHNIC VOL. 6 NO.3 October 2016 376 Triple Data Encryption Standard‫مع‬Cipher Feedback Block Mode Operation‫لتشفير‏البيانات‏التي‏تنقل‏عبر‏الشبكة‏األنترنيت‬ ‫ملخص‬ ‫‏المخترقين‬ ‫‏من‬‫‏المعلومات‬‫‏حماية‬.‫‏الحاضر‬ ‫‏الوقت‬‫‏في‬‫‏البيانات‬‫‏أمن‬ ‫‏مجال‬‫‏في‬‫‏يدور‬‫‏كثيرة‬‫‏أبحاث‬ ‫هناك‬‫‏‬‫‏للمستخدمين‏‬‫‏عالية‬‫‏أهمية‬‫له‬ ‫‏عبر‏شبكة‏‬‫‏تنقل‬‫‏التي‬‫‏الحساسة‬‫‏اإللكترونية‬‫‏المعلومات‬‫‏هي‬‫‏المعلومات‬‫‏ومعظم‬،‫‏العالم‬‫‏أنحاء‬‫‏جميع‬‫‏في‬‫‏والشركات‬‫‏والمنظمات‬‫شخصيا‬ ‫اإلنترنت‏وتخزينها‏في‏النظام‏القائم‏على‏السحابة‏حاليا.‏في‏هذه‏البحث،‏نقترح‏طريقة‏لزيادة‏مستوى‏األمان‏في‏نقل‏الرسائل‬‫‏‬‫عبر‏شبكة‏‬ ‫‏الموحدة‏‬‫‏البيانات‬‫‏تشفير‬‫‏الثالثي‬‫‏خوارزمية‬‫‏على‬‫‏أساسا‬‫‏تعتمد‬‫‏المقترحة‬‫‏الطريقة‬‫‏لدينا‬.‫‏السحابة‬‫‏في‬‫‏المخزنة‬‫‏المعلومات‬‫‏أو‬،‫اإلنترنت‬ TDES .TDES‫‏‬‫‏‬‫‏اختصار‬‫هي‬Data Encryption Standard‫‏‬‫‏‬‫وذلك‬‫‏يعتبر‏‬.‫‏متتالية‬‫‏مرات‬‫‏ثالث‬‫‏الموحدة‬‫‏البيانات‬‫‏تشفير‬‫يكرر‬ TDES‫‏‬‫آمنة‏للغاية‏حي‬‫ث‏ال‏يوجد‏طريقة‏للتطبيق‏كسر‏التشفير‏دون‏معرفة‏المفتاح.‏نقترح‏لتشفير‏مفتاح‏باستخدام‏خوارزمية‏‬CFB‫،‏‬ ‫قبل‏استخدام‏‬TDES‫‏‬‫لتشفير‏البيانات.‏بحيث‏عندما‏يتم‏الكشف‏عن‏المفتاحاألصلي،‏اليمكن‏فك‏نص‏مشفر‏دون‏معرفة‏المفتاح‏المشفر‏‬ ‫بطريقة‏‬CFB‫.‏هذا‏يدخل‏بعدا‏جديدا‏لألمن‏إلى‏خوارزمية‏‬TDES.‫‏‬ ‫هذه‏الخوارزيمة‬‫‏‬‫يبين‬‫‏‬‫في‏هذه‏‬‫البحث‬‫‏‬‫زيادة‬‫‏‬‫أمن‏الخوارزمية‏‬TDES‫‏‬‫باستخدام‏‬CFB‫‏‬‫عن‏طريق‏زيادة‏‬‫أمن‏المفتاح‬‫،‏وفي‏الواقع‏ال‏يمكن‏‬ ‫أن‏‬‫يتم‏فك‏تشفير‬‫‏‬‫النص‏دون‏‬‫معرفة‏بعض‏البيانات‏المهمة‏ومعرفة‬‫‏‬‫ال‬.‫مفتاح‏والخوارزميات‏المستخدمة‬‫‏‬
  • 16. POLYTECHNIC VOL. 6 NO.3 October 2016 377 Triple Data Encryption Standard‫دطةل‬Cipher Feedback Block Mode Operationَ‫ى‬‫فةطوهاستن‬ َ‫ى‬‫لدةم‬ ‫وان‬ ‫ثاراستنا‬ ‫َزانينا‬‫ي‬‫ث‬ ‫فةشارتنا‬ ‫يا‬ ‫كو‬‫رتى‬ ‫َزانينان‬‫ي‬‫ث‬ ‫فةشارتنا‬ .‫دةمى‬ ‫لفى‬ ‫َزانينان‬‫ي‬‫ث‬ ‫فةشارتنا‬ َ‫ى‬‫بابةت‬ ‫لسةر‬ ‫هةنة‬ ‫باش‬ ‫هةرة‬ ‫َن‬‫ي‬‫فةكولين‬ ‫طةلةك‬ ‫ذبو‬ ‫و‬ ‫بتايبةت‬ ‫كومثيوتةرى‬ ‫َن‬‫ي‬‫َنةر‬‫ي‬‫بكاره‬ ‫ذبو‬ ‫هاكرز‬ ‫َن‬‫ي‬‫كةس‬ ‫ل‬ ‫طرنطة‬ ‫زور‬‫و‬ ‫َكخراوا‬‫ي‬‫ر‬‫كومثانيا‬ َ‫ى‬‫لدةم‬ َ‫ى‬‫فةشارتن‬ ‫ذبو‬ ‫طرنطن‬ ‫زور‬ ‫نوكة‬ ‫َزانينا‬‫ي‬‫ث‬ ‫ثرتينيا‬ ,َ‫ى‬‫جيهان‬ ‫لسةرتانسةرى‬‫َكا‬‫ي‬‫بر‬ َ‫ى‬‫هنارتن‬ َ‫ى‬‫َت‬‫ي‬‫ئةنرتن‬‫ذبو‬ ‫بكارئينان‬ ‫هاتية‬ ‫َكةك‬‫ي‬‫ر‬ ,َ‫ى‬‫فةكولين‬ ‫لفى‬ .‫دا‬ َ‫ى‬‫َت‬‫ي‬‫ن‬ َ‫ى‬‫سيستةم‬ ‫دناف‬ ‫وان‬ ‫كرنا‬ ‫وخةزن‬ ‫َكا‬‫ي‬‫ر‬ َ‫ى‬‫فةكولين‬ ‫لفى‬ ,َ‫ى‬‫َت‬‫ي‬‫ئةنرتن‬ ‫َكا‬‫ي‬‫بر‬ ‫َزانينان‬‫ي‬‫ث‬ ‫هنارتنا‬ َ‫ى‬‫لدةم‬ ‫سيكيوريتى‬ ‫َدةكرنا‬‫ي‬‫ز‬TDES Algorithm.‫بكارئيناية‬TDES‫ذ‬ ‫هاتى‬ ‫يا‬Data Encryption Standard‫كاردكةت‬ ‫جاران‬ َ‫ى‬‫س‬ .‫َزانينان‬‫ي‬‫ث‬ ‫فةشارتنا‬ ‫ذبو‬ ‫َك‬‫ي‬‫ئ‬ ‫لديف‬TDESَ‫ى‬‫كار‬ ‫نينة‬ ‫بةرنامةك‬ ‫هيج‬ ‫و‬ ‫هةية‬ ‫مازن‬ ‫زور‬ ‫سكيوريتيةكا‬ ‫زانينا‬ َ‫ى‬‫ب‬ ‫َزانينان‬‫ي‬‫ث‬ ‫زانينا‬ ‫و‬ ‫هةبيت‬ َ‫ى‬‫َك‬‫ي‬‫ر‬ َ‫ى‬‫ف‬ ‫شكاندنا‬Key‫َكا‬‫ي‬‫ر‬ ‫مة‬ َ‫ى‬‫فةكولين‬ ‫لفى‬ ‫لةورا‬ .Cipher Feedback Block mode operation‫بكارئيناية‬‫فةشارتنا‬ ‫ب‬ ‫رادبيت‬ ‫ئةفة‬Key‫بةرى‬TDES ‫بيت‬ ‫سيكيور‬ ‫يا‬ ‫َدةتر‬‫ي‬‫ز‬ َ‫ى‬‫َك‬‫ي‬‫ر‬ َ‫ى‬‫ف‬ ‫شكاندنا‬ ‫َكا‬‫ي‬‫ر‬ ‫داكو‬ ‫َزانينا‬‫ي‬‫ث‬ ‫فةشارتنا‬ َ‫ى‬‫بكار‬ ‫رابيت‬‫نةطةهشتنا‬ ‫و‬ ‫ئةطةر‬ َ‫ى‬‫ضةند‬ َ‫ى‬‫بف‬ .‫ئورجيينال‬ ‫َن‬‫ي‬‫َزانين‬‫ي‬‫ث‬Key‫دكةن‬ ‫َكا‬‫ي‬‫ر‬ ‫فان‬ ‫شكاندنا‬ َ‫ى‬‫كار‬ ‫َن‬‫ي‬‫ذكةس‬ ‫زانني‬ ‫هاتة‬ ‫جونكى‬ ‫ئورجيينال‬ ‫َزانينا‬‫ي‬‫ث‬ ‫بطةهيتة‬ ‫َت‬‫ي‬‫نةش‬Key‫َكا‬‫ي‬‫ر‬ ‫ب‬ ‫فةشارتن‬ ‫هاتية‬CFB mode operation‫بو‬ ‫هاريكارة‬ َ‫ى‬‫فةكولين‬ ‫لفى‬ ‫َكة‬‫ي‬‫ر‬ ‫ئةف‬ .‫بيت‬ ‫تر‬ ‫ئالوز‬ ‫زور‬ َ‫ى‬‫َك‬‫ي‬‫ر‬ َ‫ى‬‫ف‬ ‫شكاندنا‬ ‫داكو‬ ‫يا‬ ‫سيكيوريتى‬ ‫َدةكرنا‬‫ي‬‫ز‬TDES algorithm‫دطةل‬‫بكارئينانا‬CFB mode operation‫ذبو‬ ‫سيكيوريتيا‬ ‫َدةكرنا‬‫ي‬‫ز‬Key.‫لسةر‬ ‫َزانينا‬‫ي‬‫ث‬ ‫زانينا‬ َ‫ى‬‫ب‬ ‫نةبيت‬ ‫ئورجيينال‬ ‫َن‬‫ي‬‫َزانين‬‫ي‬‫ث‬ ‫زفراندنا‬ َ‫ى‬‫َك‬‫ي‬‫ر‬ َ‫ى‬‫بف‬ .َ‫ى‬‫فةشارتن‬ ‫بكارئينانا‬ ‫ضةوانيا‬ Keywords: Data Encryption Standard, Triple Data Encryption Algorithm, Cipher Feedback Block.