Pembagian Plaintext Proses Subtitusi

Seti Fauziah Tumanggor : Studi Enkripsi Dan Dekripsi File Dengan Menggunakan Algoritma Twofish, 2009. USU Repository © 2009 sBox2 i + 1 = MDS1, P0, P1, b1 Xor Key1, 1 Xor Key1, 0 sBoxH200 + 2 i = MDS2, P1, P0, b2 Xor Key2, 1 Xor Key2, 0 sBoxH200 + 2 i + 1 = MDS3, P1, P1, b3 Xor Key3, 1 Xor Key3, 0 End If Next End Sub

3.4.2 Pembagian Plaintext

Plainteks dibagi menjadi beberapa blok, setiap blok P1,…. memiliki panjang 128 bit, kemudian setiap blok dibagi menjadi 4 bagian K K 1 , K 2 , K 3 . Selanjutnya masing-masing bagian diolah dengan menggunakan proses whitening masukan terdapat di xor dengan empat kata kunci. Proses ini akan diikuti oleh enam belas putaran. Adapun pseudocode pada pembagian plaintext adalah sebagai berikut : 1. Panggil GetWordLeftWord, ByteArray, Offset 2. Panggil GetWordLeftWord, ByteArray, Offset + 4 Pseudocode untuk fungsi GetWord adalah sebagai berikut: 1. CryptBuffer3 = bbOffset 2. CryptBuffer2 = bbOffset + 1 3. CryptBuffer1 = bbOffset + 2 4. CryptBuffer0 = bbOffset + 3 5. Panggil CopyMemLongValue, CryptBuffer0,4 Untuk pengembalian nilainya, data kiri ataupun kanan akan dipisah kembali menjadi 4 bilangan masing-masing 8 bit. Pseudocodenya sebagai berikut: 1. Panggil PutWordLeftWord, ByteWord, Offset Seti Fauziah Tumanggor : Studi Enkripsi Dan Dekripsi File Dengan Menggunakan Algoritma Twofish, 2009. USU Repository © 2009 2. Panggil PutWordLeftWord, ByteWord, Offset + 4 Pseudocode untuk fungsi PutWord adalah sebagai berikut: 1. Panggil CopyMemCryptBuffer0, LongValue, 4 2. aByteOffset = CryptBuffer3 3. aByteOffset + 1 = CryptBuffer2 4. aByteOffset + 2 = CryptBuffer1 5. aByteOffset + 3 = CryptBuffer0

3.4.3 Proses Subtitusi

Setelah dibentuk subkey, dilanjutkan dengan melakukan enkripsi plaintext sebanyak 16 putaran dengan operasi: Li = Ri-1 Ri = Li-1 xor fRi-1,Ki Adapun pseudocode untuk proses subtitusi adalah sebagai berikut : For Offset = 0 To CipherLen - 1 Step 16 Call CopyMemDWord0, ByteArrayOffset, 16 DWord0 = DWord0 Xor CipherWord0 DWord1 = DWord1 Xor CipherWord1 DWord2 = DWord2 Xor CipherWord2 DWord3 = DWord3 Xor CipherWord3 Call EncryptBlockDWord Call CopyMemByteArrayOffset, DWord0, 16 Call CopyMemCipherWord0, DWord0, 16 Next Seti Fauziah Tumanggor : Studi Enkripsi Dan Dekripsi File Dengan Menggunakan Algoritma Twofish, 2009. USU Repository © 2009

3.5 Perancangan Flowchart