Senin, 20 Juni 2016

Dawn Of The Planet Apes Synopis








A war begins to brew between man and ape in this sequel to the 2011 hit Rise of the Planet of the Apes. It's been ten years since the Simian Flu wiped out most of humanity, and somewhere deep in the woods outside of San Francisco, Caesar (voice and performance capture by Andy Serkis) and his primate companions have established a thriving village built on the principles of peace and community. Shortly after welcoming a baby brother into the family, Caesar's son Blue Eyes (Nick Thurston) is walking through the forest with his friend Ash (Doc Shaw) when they cross paths with a human named Carver (Kirk Acevedo), who impulsively draws his gun and shoots Ash at the first sign of aggression. As it turns out, Carver is part of a human expedition led by Malcolm (Jason Clarke), who, along with the rest of his crew, races to Carver's side just as Caesar and the rest of the apes answer Blue Eyes' desperate call for help. An enraged Caesar drives the humans away after realizing they are no longer a threat, and decides to dispatch a small crew to follow them rather than yield to the pleas of his aggressive advisor Koba (Toby Kebbell) to launch an all-out attack. Instead, he decides to show the apes' strength by amassing outside of the humans' makeshift community at the base of an unfinished tower, making it unmistakably clear that the two species should remain apart.

Meanwhile, the point of the human excursion was to get a dormant dam running again in order to power their community, which will soon be thrust into darkness should they fail to take action. Convinced that he could strike a truce with Caesar that would allow the humans to repair the dam, which is located on the apes' land, Malcolm gets permission from human leader Dreyfus (Gary Oldman) to set out on his mission. Incredibly, thanks to the help of his girlfriend Ellie (Keri Russell), his son Alexander (Kodi Smit-McPhee), and a few other key allies, Malcolm succeeds. Still, his truce with the apes is a fragile one, and just when it seems that the primates and humans have learned to coexist in peace, a shocking act of betrayal threatens to spark a war that will determine the dominant species. Koba appears with the rifle. Only Caesar sees him mere seconds before Koba shoots him. Caesar falls from the tree to the ground. Koba flees, leaving only the rifle and Carver's cap, which Blue Eyes comes across. Maurice tells Malcolm, Ellie, and Alex to run as the other apes become frightened and wild. Koba convinces them all that humans have shot and killed Caesar. He rounds up all the males and charges into the city, as Malcolm and his family are forced to hide.

The humans are celebrating the return of their power by dancing. Dreyfus retreats to his private quarters to check his iPad and see pictures of his wife and two sons, who have since been lost to the virus. He breaks down into tears at the sight of them. He then goes to the control room where another man is trying to get contact through the radio. Suddenly, Koba and his gorilla/chimp army ride into the compound to lay siege to the humans. Dreyfus gathers a group of armed men to stand over the gates to fire at the apes. He grabs a rocket launcher and manages to hit several targets, killing a few apes. Koba manages to charge with his apes through the gates and break their wall down.

By daybreak, Koba and his followers have taken humans as prisoners, declaring that they now know what it feels like to be caged. They find two humans, one of which is swinging a post at the apes, which Koba grabs from him. He orders Ash to use it on the man, but Ash shows mercy and says Caesar wouldn't want this. In response, Koba grabs Ash and drags him to a balcony and hurls him over to his death. Meanwhile, Malcolm and his family find Caesar, alive but weakened. They take him away and he leads them to his old home where he was raised by humans. They begin to try and treat his wounds, just as the apes run through the city, now armed with the humans' guns. The apes that refused to follow Koba have been locked in a bus. Blue Eyes sees Maurice, who tells him to protect himself.

Ellie wants to operate on Caesar but needs medical supplies. Malcolm offers to go back to the city via the subway system and get the supplies, narrowly escaping being killed by apes with machine guns. He eventually hides in a room, only to encounter Blue Eyes, who holds his gun up to Malcolm, but cannot bring himself to shoot him. Malcolm tells him that his father is still alive, leading him to Caesar. Blue Eyes sees the bullet wound and growls at the humans, but Caesar tells him this was Koba's doing. Blue Eyes tells his father that his mother and brother are safe for now, but Koba is amassing more followers due to their fear, and he also tells Caesar that Koba killed Ash, causing Blue Eyes to weep.

At night, Caesar goes to the attic and finds an old camera with a video of him as a young chimp with his human owner, the late Will Rodman (James Franco in archive footage), teaching him. Malcolm comes up and asks Caesar who that is. He responds that he was a good man, just like Malcolm.

Maurice and the other trapped apes break free from their bus and break the humans out. They find Caesar and tell them about Koba's plan to get the female apes and young ones to join him, including Cornelia and their newborn. Together, along with Malcolm, they head out to stop Koba.

Koba and his followers have gathered at the top of a tower, while Dreyfus and two other men have recently made contact with the military and loaded the tower with C4 explosives to take the apes down. While Caesar and his friends go to face Koba, Malcolm encounters Dreyfus and the men, and draws his rifle to stop them and convince them not to go to war with the apes. Dreyfus refuses to relent, saying he is about to save the human race. He grabs the detonator and pushes the button, causing an explosion that kills him and the two men, as well as any apes within the tower, but Malcolm escapes the blast. At the top of the tower, Caesar comes face-to-face with Koba, still wielding his rifle. Koba once again tries to rally the apes, claiming that together, they are strong. Caesar fights his former ally, while the other apes stand by for Caesar. In the chaos, Koba takes his gun back and begins to shoot at the apes. Caesar dives in and tackles Koba, knocking him off a ledge. As he hangs on for his life, he looks up at Caesar, who pulls Koba's arm up. Koba tells him, "Ape not kill ape." Caesar looks him down and replies, "You are not ape." With that, he drops Koba and allows him to fall to his death.

The free and surviving apes, including Caesar's family, come up to the tower to reunite as a group. Malcolm goes up to find Caesar and warn him about the incoming military reinforcements that would threaten his family and start a war. Caesar says that an ape has already started a war, and that Malcolm must go and protect his own family. The two of them acknowledge their friendship, but also the fact that the chance for peace is gone. Malcolm slips away, leaving Caesar to stand over the apes, who all bow down to him once again.

At the end of the closing credits, the sound of howling apes and the scraping of rubble can be heard.

Minggu, 29 Mei 2016

Motivation Letter



Dear sir /Madam,

First of all let me introduce myself, I am Gilang Fajriansyah and recently i I have attended my with Informatics Engineering from University of Lampung.

The undergraduate curriculum in Informatics Engineerimg at University of Lampung. , Indonesia introduces me to a wide variety of engineering subjects. Various courses like Artificial Intelligence (Robotics), Programming Languages, Electronics I&II, Software Engineering, System Programming, Micro Processor, Interfacing & Assembly, Algorithm Analysis and Design, Digital Signal Processing, Network and System Security, Digital system, Algorithm analysis and design, Computer graphics and multimedia, Computer Simulation and Modeling provided me with a strong footing in the theoretical concept of Computer Science and Engineering.

While offering both depth and breadth across this field, these courses put into perspective the importance and relevance Informatics Engineering and the application of its fundamentals to the problems faced by the real world. So, I can realize that learning and developing my knowledge of Informatics Engineering. I will have a great contribution to the society since our country begins to transfer manual system to computerize.

I am much eager to adopt and know new technologies. I am really enthusiastic to attend a Master of Informatics Engineering in order to understand different Informatics Engineering Concepts, because every industry needs the concept of Informatics Engineering. Good reputation of high quality education standards, an extremely distinguished faculty members and research facilities are the factors which have motivated me to choose for my M.Sc. studies the University of Tokyo.

Moreover, I feel I am responsible for making a big move in this field and this scholarship will give me a big chance to be one day someone who is remembered for his innovations. I think it is our duty as people sharing life in this world to make our future better because the future is not only ours. Our grandchildren should be proud of us one day when they look back and find how hard we worked to make the world a better place. I believe my qualification and your needs would be an excellent fit. I will be happy to provide any further information or documents if required. I look forward to your positive response. Thank you for your time and consideration.

Yours faithfully.


SYNOPSIS OUIJA MOVIE




Ouija is Horor movie, Ouija as a spirit board or talking board is a flat board marked with the letters of the alphabet, the numbers 0–9, the words "yes", "no", "hello" (occasionally), and "goodbye", along with various symbols and graphics.
In the opening scene, two young girls, named Laine and Debbie, are sitting in Laine's room playing with a Ouija board. Debbie tells Laine how to play and how to use the planchette to see any spirits. They say the mantra, "As friends we gathered, hearts are true; spirits near, we call to you." Laine looks through the planchette to spot a spirit, and is frightened when she sees someone, only it's her younger sister Sarah. She yells at Sarah to leave.

In the present day, the adult Debbie (Shelley Hennig) is playing with the Ouija board by herself. She appears distressed, and she tosses the board and planchette into the furnace. She then speaks on the phone with the adult Laine (Olivia Cooke). Laine goes over to her house, and Debbie says she is not up to hanging out with her and their friends that night. Debbie mentions playing the Ouija board and feeling odd, though Laine dismisses this as her being a spaz. After Laine leaves, Debbie goes back upstairs and sees the Ouija board and planchette on her bed. She looks through the planchette, and her eyes turn white. Debbie then grabs some Christmas lights and hangs herself.

The next morning, Laine is with her boyfriend Trevor (Daren Kagasoff) at a diner. They are met by their waitress friend Isabelle (Bianca A. Santos). Laine gets a text from her dad saying to go home immediately. When she gets there, Laine finds her dad, her grandmother, and Sarah (Ana Coto) gathered to inform her of what happened to Debbie.

All of Debbie's loved ones gather for the wake. Laine is too shaken to be there, but she holds it together. Debbie's boyfriend Pete (Douglas Smith) arrives with some flowers. Laine goes into Debbie's room where Debbie's mother finds her. Laine breaks down and hugs her. She asks Laine to housesit for them while they are gone. Laine agrees.

Laine discovers the Ouija board that Debbie was playing with. Since she cannot shake the feeling that Debbie's presence is still in the house, she gathers Sarah, Trevor, Pete, and Isabelle to Debbie's house to play with the board. They get together and say the mantra as they put their hands together on the planchette. It starts to move, which everyone thinks is Sarah moving it. The spirit implies that it is Debbie and it spells out "Hi Friend" on the board. The friends are freaked out and stop playing.

Each friend is followed by the spirit. Trevor encounters it on a bike ride, leading him under a bridge where he sees "Hi Friend" written on the wall in chalk. Isabelle sees it spelled out in her car window, along with a hand slamming against it. Pete sees it carved in his desk.

Thinking that Debbie is trying to communicate with them, the friends get together to play the board again. They learn that the spirit is not Debbie, but someone that identifies as DZ. Laine looks through the planchette and sees a little girl with stitches on her mouth. The spirit then spells out on the board, "Run. She's coming." Laine asks who is coming, and the spirit spells "Mother." Laine looks through the planchette and sees the girl point to an older female spirit screaming and running in her direction.

In her home, Isabelle is flossing her teeth and drawing herself a bath. She then has stitches form on her mouth, and she is levitated in the air. The spirit drops her, leaving her to slam her head against the sink, killing her.

Trevor is angry at Laine because she made them play the game, which led to Isabelle's death. Laine investigates Debbie's house and finds some pictures of two little girls and their mother. Trevor looks up on the internet an article on a missing girl from the same address as Debbie's home, as well as the girl's sister being taken into custody after murdering her mother.

Laine goes to a mental asylum to meet Paulina Zander (Lin Shaye), the sister of Doris, the girl with the stitches on her mouth. She tells Laine that their mother believed she heard voices and saw spirits that were trying to communicate through Doris, so she sewed her mouth shut. Paulina asks Laine to find Doris's body in the house and to cut the stitches open.

Laine finds Doris's corpse in Debbie's home, with her mouth still sewed shut. She cuts the stitches open, bringing Doris's spirit out, along with Mother. Doris lets out a blood-curdling scream and vanquishes Mother's spirit.

Just when it seems that everything is over...IT'S NOT. Pete gets killed in his home by Doris's spirit. Laine returns to the asylum to tell Paulina that she did what she told her. Paulina chuckles, and Laine realizes that Mother was not evil, but it was Doris and Paulina that were communicating with spirits, and that their mother was trying to stop them.

Laine's grandmother tells Laine and Sarah that the only way to defeat the spirit is the destroy not only the Ouija board, but Doris's corpse.

The girls and Trevor go to Debbie's house to finish this. Trevor gets pulled into the pool and is killed by Doris. Sarah finds Doris's corpse and is attacked by her spirit. Laine gets out the Ouija board and beckons Doris to play with her. Doris grabs Laine's arm and almost kills her, until Debbie's spirit shows up to intervene. Sarah brings Doris's corpse and throws it into the furnace. Laine throws the Ouija board and planchette, and Doris's spirit is destroyed.

Laine and Sarah return home, relieved that everything is over. Laine flosses her teeth and gets ready for bed, and then finds the planchette on her desk. She picks it up and looks through it one more time.

Senin, 11 Januari 2016

Tugas Kelompok Ke 2



The Libraries


Classification Of Information
One of the things I struggle with when starting out in mobile application development was the fact i'd get into code writing from the get go. i'd make up the features in my head and code them as I went along. all to often, I would later spend time revising my code ad going back to write a plan midstream. this had   devastating  effects on my deadlines and deliverables. it also had a detrimental effect on the security of my applications.
I  have since learned that writing up a brief outline of the project that i am about to embark on will lp me think of things ahead of time. while his seems like an obvious thing, there are many developers that i have spoken with who fail to follow this simple step. one other thing that i have also begun doing religiously is finding time to look at the information or data that my application will be handling. for instance, i use a table the one shown in table 2-1 to classify the data that my application handles. the table is very basic; however, by putting it down on paper, i am able to visualize the types of data my application will handle-moreover, i'm able to formulate a plan to secure that information.
Data Type
Personal
Sensitive
Create
Store
Send
Recive
Name
Yes
No
X
X
X

E-mail Address
Yes
Yes
X
X
X

Phone No,
Yes
Yes
X
X


Addresss
Yes
Yes
X
X


If you look at the data classification table 2-1 closely, you will realize that some of the headings are very subjective. different people will have different opinions on what constitutes sensitive or personal information. nevertheless, it is usually best to try and zero in on a common frame of reference as to what constitutes sensitive and personal information. in this section, you will try to do that by taking a look at the table header first, and then going over each of the columns :
data type : you will be handling this data within your application. it is self-explanatory.
Personal  : this column indicates wheter the data type is calssified as personal information.
Sensitive : This column indicates whether the data type is calssified as sensitive information.
Create     : Does your application allow this user to creates this data type?
Store       : Does your application store this data type either on the device or on a server?
Sent        : Is this data type sent across the network to another party or server?
Receiver : Is this data type received over the network from another party?
What Is Personal Information ?
Personal information can be classified as data that is known to you and a limited number of people within your social circle. Personal information is usually something that is private to you, but that you worth be willing to share with close friends and family members. Examples of personal information can be your phone number, address, and e-mail address. The effects of having this information compromised and leaked will usually not cause significant physical or emotional harm to yourself or your family members. Instead, it may give rise to situations as that will greatly inconvenience you.
What Is Sensitive Information?
Sensitive information is worth much more than personal information. Sensitive information is usually information that you will not share with anyone under most circumstances. Data of this type includes your passwords, internet banking credentials ( such as PIN codes), mobile phone number, social security number, or address. If sensitive information is compromised, than the effects may cause you either physical or emotional harm. This information should be protected all the time, regardless of whether it is in transit or in storage.
Caution how can the loss of sensitive information cause you physical or emotional harm consider losing your online banking credentials. An attacker can cause you immense financial (physical and emotional) harm by stealing all your money. A stalker that gets hold of your phone number or address can pose a grave threat to you or your family’s physical well being.
Analysis Of Code
If we go back to the indirect attack that we discussed earlier in this chapter, it is evident that data kept in clear view on and sd card is a significant rise and should be avoided at all costs. Data theft or exposure has been one of the leading causes of financial and reputational loss for corporations. But just because you are writing in application for a single user of a Smartphone does not mean you should threat data theft lightly. In the case of proxim, this weakness of clear.
Let’s go through the code, section by section. The first bit of code initialized secretkeyspec class and creates a new instance of the cheaper calss in preparation of generating and AES secret key :
SecretKeySpec sKeySpec= new SecretKeySpec(key,”AES”);
Cipher cipher;
Byte[] chipertext=null;
The preceding code also initializes a byte array to store the shipertext. The next bit of  code prepares the Cipher class to use the AES algoritm:
Cipher=Cipher.getInstance(“AES”);
Cipher.init(Cipher.ENCRYPT_MODE,sKeySpec);
The cipher.init() function initializes the cipher object, so it can perform encryption using   the generated secret key. The next line of code encrypts the plain text data and  stores the encrypted contents in the ciphertext byte array:
Ciphertext=cipher.doFinal(data);
In order for the preceding routine to work, it should always have an encryption key. It  is  important that we use the same key for the decryption routine, as well.  Otherwise, it will fail. It is generally better to write your own key generator  that will generate a random  number –based key. This will make it harder for an attacker to guess than a normal password. For this exercise, I used the key- generation algoritm shown in Listing 2-6.
Listing 2-6. A Key-Generation Algoritm
Publicsatticbyte[] generateKey(byte[] randomNumberSeed){
SecretKey sKey = null;
Try{
KeyGenerator keyGen =KeyGenerator.getInstance(“AES”);
SecureRandom random = SecureRandom.getInstance(“SHA1PRNG”);
Random.setSeed(randomNumberSeed);
keyGen.init(256,random);
sKey=keyGen.generateKey();
}   catch  (NoSuchAlgorithmException e)  {
                Log.e(TAG, “No Such algorithm exception”) ;
}
return sKey.getEncode() ;

Now, lets make analayze the code. This pair of lines initiaizez the KeyGenerator class so it can generate AES-specific keys, and then initializes the device’s random-number generator so it can be generate random numbers :
KeyGenerator   keyGen  = KeyGenerator.getInstance (“AES”) ;
SecureRandom random = SecureRandom.getInstance (“SHA1PRNG”) ;
These random number are encode usinng SHA1. SHA1 or secure Hash Algorithm 1, is a cryptographic hashig function. The algorithm will operate on a piece of data that has an arbitrary lenght and will produce a short string that is of fixed size. If any piece of the data being hashed is changed, then the resulting hash will vary. This is an indication that a piece of data has been tampered with.
Text  data storage exists. Anyone who has access to the device’s SD Card will able to copy personal information, such as names addresses , phone number and email addresses.
We can trace the flaw in the original code to the point were we save the data. The data Itself is not  obscured or encrypted in anyway . if we were to encrypt the data, then the personal information would still be safe . let’s take a look at how we can implement encryption in our original proxim code. Chapter 5 will cover public infrastructure and encryption in depth : so for the purposes of this exercise, we will cover a very basic example of advanced ancryption standard  (AES) encryption. Public key encryption or asymmetric encryption is a method of encrypting or obfuscating dat by using two different types . each user has two keys, a public and a private one. His private key can only decrypt data that is encrypted  by the   public key. The key is called public because it is really given away to other users. It is this key that other user will use to encrypt data.
Where to implement encryption
We will encrypt our data just before we save it to the SD Card . in this way, we never write the data to SD Card in a format that can be read by anyone. An attacker that collects your data encryption data has to first use a password to decrypt the data before having access to it.
We will use AES to encrypt our data using a password or key. One Key is required to both encrypt and decrypt the data. This is also known is symmetric key encryption. Unlike public key, encryption, this key is the sole one used to both encrypt data. This key will need to be stored securely because, if it is lost or compromised, an attacker can use it two decrypt the data. Listing 2-5 shows the encryption routine .   
Listing 2-5.  An Encryption Routine
Privatestaticbyte[] encrypt (byte[] key, byte[] data){
                        SecretKeySpec  sKeySpec= new SecretKeySpec(key,”AES”);
                        Ciper chipher;
                        Byte[] ciphertext = null;
Try{
            Cipher = Cipher.getInstance(“AES”);
            Cipher .int(Chiper.ENCRYPT_MODE,sKeySpec);
Ciphertext = cipher.doFinal(data);
}catch (NoSuchAlgorithmException e){
            Log.e(TAG,” NoSuchAlgorithmException”);
}catch (NoSuchPaddingException e){
            Log.e(TAG,” NoSuchPaddingException”);
}catch (NoSuchBlockSizeException e){
            Log.e(TAG,” (NoSuchBlockSizeException”);
}catch (BadPaddingException e){
            Log.e(TAG,”BadPaddingException”);
}catch (InvalidKeyException e){
            Log.e(TAG,” InvalidKeyException”);
}
Return chiphertext;
}
Klasifikasi Informasi

salah satu hal yang saya juangkan saat ketika memulai dalam pengembangan aplikasi mobile adalah fakta saya akan mencoba menulis kode dari the get go. saya akan membuat fitur di dalam kepala saya dan kode mereka saat saya pergi sekitarnya.semuanya terlalu sering, saya kemudian akan menghabiskan waktu merevisi iklan kode saya akan kembali menulis rencana midstream. ini memiliki pengaruh yang sangat buruk pada tenggat waktu dan kiriman saya. itu juga memiliki efek yang merugikan pada keamanan aplikasi saya.

saya telah belajar bahwa menulis sebuah gambaran singkat dari proyek yang saya akan memulai akan lp saya memikirkan hal-hal dari waktu ke depan. Sementara itu tampaknya seperti hal yang jelas, ada banyak pengembang yang gagal  berbicara dengan saya dalam mengikuti langkah sederhana ini. satu hal lain yang saya juga telah memulai  menemukan waktu untuk melihat informasi atau data bahwa aplikasi saya akan tangani. misalnya, saya menggunakan tabel yang ditunjukkan dalam tabel 2-1 untuk mengklasifikasikan data bahwa aplikasi yang saya tangani. tabel sangat dasar; Namun, dengan meletakkan di atas kertas, saya dapat memvisualisasikan jenis data aplikasi saya akan menangani-apalagi, saya bisa merumuskan rencana untuk mengamankan informasi tersebut.

jika Anda melihat tabel klasifikasi data 2-1 lebih dekat, Anda akan menyadari bahwa beberapa judul yang sangat subjektif. orang yang berbeda akan memiliki pendapat yang berbeda tentang apa yang merupakan informasi sensitif atau pribadi. Namun demikian, biasanya terbaik untuk mencoba dan nol dalam pada kerangka acuan untuk apa yang merupakan informasi sensitif dan pribadi. di bagian ini, Anda akan mencoba untuk melakukan itu dengan melihat pada header tabel pertama, dan kemudian akan lebih dari masing-masing kolom:

Tipe data : Anda akan menangani data ini dalam aplikasi Anda. Itu cukup jelas.
Personal : Kolom ini menunjukkan klasifikasi jenis data sebagai informasi pribadi.
Rahasia  : Kolom ini menunjukkan apakah tipe data tergolong informasi rahasia.
Membuat: Apakah aplikasimu mengizinkan pengguna untuk tipe data ini?
Penyimpanan : Apakah aplikasimu ini tipe data yang salah satunya aktif di penyimpanan peranhkat atau sedikit di aktif di server?
Pengirim : Apakah tipe data ini mengirim tepat di jaringan pihak lain atau server?
Penerima : Apakah tipe data ini menerima lebih jaringan dari pihak lain?
Apakah informasi pribadi?
Informasi pribadi dapat di golongkan sebagai data yang kamu ketahui dan di batasi nomor orang di lingkungan sosialmu. Informasi pribadi biasanya adalah sesuatu yang pribadi untukmu, tetapi kamu bersedia untuk membagi dengan teman-teman dekat dan anggota-anggota keluarga. Contoh-contoh dari informasi pribadi biasa seperti nomor teleponmu, alamat dan alamat email. Efek-efek setelah informasi ini di kompromikan dan bocor biasanya tidak akan menyebabkan kerusakan fisik atau emosi yang berarti untuk dirimu dan anggota-anggota keluargamu. Sebaliknya hal itu akan menimbulkan situasi yang sangat tidak nyaman untukmu.
Apakah informasi rahasia?
Informasi rahasia bernilai lebih daripada informasi pribadi. Informasi rahasia biasanya kmu tidak akan membagi informasi dengan siapapun dalam berbagai situasi apapun. Data dari tipe ini termasuk kode rahasia, kartu kredit (seperti kode PIN), nomor telepon bergerak, nomor KTP, atau alamat. Jika informasi rahasia di kompromikan kemudian dapat menyebabkan kerugian bagi anda baik fisik maupun emosi. Informasi ini akan melindungi kapanpun tanpa menghiraukan atau apakah ini perjalanan atau penyimpanan.

Mari pergi dengan kode.  Bagian demi bagian. Bit pertama dari kode menginisialisasi kelas spesifikasi kunci rahasia dam membuat contoh baru dari kelas Cipher dalam persiapan menghasilkan sebuah kunci rahasia AES.
SecretKeySpec sKeySpec  = new SecretKeySpec(key,”AES”) ;
Cipher cipher;
byte[ ] ciphertext  = null;
Kode sebelumnya juga menginisialisasinarray byte untuk menyimpan ciphertext. Bit selanjutnya dari kode menyiapkan kelas cipher untuk menggunakan algoritma AES
cipher  = Cipher.getInstance(“AES”) ;
Cipher.init(Cipher.ENCRYPT MODE,  skeySpec) ;
Fungsi cipher.init menginisialisasi objek cipher, sehingga dapat melakukan enkripsi menggunakan kunci rahasia yang dihasilkan` baris berikutnya dari kode mengenkripsi data teks biasa dan menyimpan isi yang telah dienkripsi dalam text cipher array byte.
Ciphertext  = cipher.doFinal(data) ;
Dalam rutinitas sebelumnya untuk bekerja, itu harus selalu memiliki kunci enkripsi. Itu  penting bahwa kita menggunakan kunci untuk rutinitas dekripsi, dengan baik . Jika tidak, itu akan gagal. Ini lebih baik untuk menulis kunci generator anda sendiri yang akan menghasilkan nomor acak- berdasarkan kunci. Ini akan membuat lebih suit bagi seorang penyerang untuk menebak dari password yang normal. Untuk latihan ini, saya menggunakan kunci, generasi algoritma ditampilkan dalam daftar 2-6.

Publicstaticnyte[ ] generateKey(byte[ ] randomNumberSeed)  {
SekretKey sKey  = null;
try  {
               KeyGenerator    keyGen = KeyGenerator.getInstance(”AES”) ;
               SecureRandom  random = SecureRandom.getInstance(“SHA1PRNG”) ;
random.setSeed(randomNumberSeed) ;
keyGen.init(256,random) ;
sKey  = keyGen.generateKey( ) ;
}   catch  (NoSuchAlgorithmException e)  {
                Log.e(TAG, “No Such algorithm exception”) ;
}
return sKey.getEncode() ;

Sekarang, mari menganalisis kode. Pasangan dari baris ini menginisialisasi kelas KeyGenerator sehingga dapat menghasilkan AES – tombol khusus, dan kemudian menginisialisasi perangkat acak – nomor generator sehingga itu dapat menghasilkan angka acak:
 
KeyGenerator   keyGen  = KeyGenerator.getInstance (“AES”) ;
SecureRandom random = SecureRandom.getInstance (“SHA1PRNG”) ;
Nomor acak ini menyandikan menggunakan SHA1. SHA1, mengamankan algoritma hash 1, ini adalah fungsi hashing criptografi. Algoritma akan beroperasi pada bagian data yang memiliki panjang  dan akan menghasilkan benang pendek yang yang merupakan ukuran tetap. Jika setiap bagian dari data  berubah, maka hash yang dihasilkan akan berbeda-beda. Ini merupaka indikasi bahwa sebagian data telah dirusak

Penyimpanan data teks ada. Siapapun yang memiliki akses ke SD Card perangkat akan mampu menyalin informasi pribadi, seperti nama alamat, nomor telepon dan alamat email. Kita bisa melacak cacat dalam kode asli ke titik  menyimpan data. Data Sendiri tidak dikaburkan atau dienkripsi dengan cara apapun. jika kita  mengenkripsi data, maka informasi pribadi masih akan aman. mari kita lihat bagaimana kita dapat menerapkan enkripsi dalam kode PROXIM asli kami. Bab 5 akan mencakup infrastruktur publik dan enkripsi secara mendalam: jadi untuk keperluan latihan ini, kita akan membahas contoh yang sangat dasar standar enkripsi tersebut maju (AES) enkripsi. Enkripsi kunci publik atau enkripsi asimetris adalah metode enkripsi atau obfuscating data dengan menggunakan dua jenis yang berbeda. setiap pengguna memiliki dua kunci, publik dan satu pribadi. Kunci pribadinya hanya dapat mendekripsi data yang dienkripsi dengan kunci publik. Kuncinya disebut publik karena itu benar-benar diberikan kepada pengguna lain. Ini adalah kunci ini bahwa pengguna lainnya akan digunakan untuk mengenkripsi data.

Dimana Untuk Menerapkan Enkripsi

Kami akan mengenkripsi data kami sebelum kami simpan ke SD Card. dengan cara ini, kita tidak pernah menulis data ke SD Card dalam format yang dapat dibaca oleh siapa pun. Seorang penyerang yang mengumpulkan data yang Anda enkripsi data, pertama harus  menggunakan sandi untuk mendekripsi data sebelum memiliki akses ke sana.

Kami akan menggunakan AES untuk mengenkripsi data kami menggunakan password atau kunci. Salah satu kunci diperlukan untuk kedua enkripsi dan mendekripsi data. Hal ini juga dikenal enkripsi kunci simetris. Tidak seperti kunci publik, enkripsi, kunci ini adalah satu-satunya yang digunakan untuk mengenkripsi kedua data. Kunci ini harus disimpan dengan aman karena, jika hilang atau dikompromikan, penyerang bisa menggunakannya dua kali mendekripsi data. Listing 2-5 menunjukkan rutin enkripsi.
Listing 2-5. Sebuah Rutin Enkripsi

Privatestaticbyte [] mengenkripsi (byte [] kunci, byte [] data) {
SecretKeySpec sKeySpec = baru SecretKeySpec (kunci, "AES");
Ciper chipher;
Byte [] ciphertext = null;
try {
Cipher = Cipher.getInstance ("AES");
Int Cipher (Chiper.ENCRYPT_MODE, sKeySpec);
Ciphertext = cipher.doFinal (data);

} catch (NoSuchAlgorithmException e) {
Log.e (TAG, "NoSuchAlgorithmException");
} catch (NoSuchPaddingException e) {
Log.e (TAG, "NoSuchPaddingException");
} catch (NoSuchBlockSizeException e) {
Log.e (TAG, "(NoSuchBlockSizeException");
} catch (BadPaddingException e) {
Log.e (TAG, "BadPaddingException");
} catch (InvalidKeyException e) {
Log.e (TAG, "InvalidKeyException");
}
Kembali chiphertext;

}

Vocabulary :

·        Immense : Besar
·        Arbitrary : Sewenang – wenang
·        Circumstances : Keadaaan
·        Sole : Tunggal
·        Devastating : Sangat Efektif